鮮鴻宇, 鄧 蕾, 湯寶平, 肖 鑫
(重慶大學 機械傳動國家重點實驗室,重慶 400030)
無線傳感器網(wǎng)絡(Wireless Sensor Networks, WSNs)應用于機械振動監(jiān)測往往需要多測點同步采集[1-4],同步采集精度的高低直接影響信號采集的有效性和狀態(tài)分析結果的好壞[5-8]。晶振偏移是影響同步采集精度的一個重要因素[9-10],為節(jié)點提供時鐘的晶振頻率會隨外部環(huán)境變化發(fā)生偏移,使各節(jié)點采樣間隔存在差異,造成同步誤差累積,因此需要對晶振偏移進行補償。采用不同采樣模式模數(shù)轉換器(Analog-to-Digital Converter, ADC)的WSN節(jié)點需要不同的晶振偏移補償方法,ADC的采樣模式有以下兩種:①到達采樣點時,為ADC輸入相應數(shù)量(由控制域位數(shù)和ADC位數(shù)確定)的時鐘脈沖,時鐘脈沖的微小抖動對其采集精度影響可以忽略,只需保證采樣頻率準確即可;②ADC需要連續(xù)精準的采樣時鐘,常結合過采樣技術(采樣時鐘大于采樣頻率)來提高模數(shù)轉換精度。針對采用第①種采樣模式ADC的無線傳感器網(wǎng)絡節(jié)點,黃慶卿等[11-12]分析晶振的非理想特性造成采樣間隔抖動,并提出補償算法抑制同步累積誤差,Xiao等[13]校準信標在網(wǎng)關節(jié)點到采集節(jié)點間的傳輸時延,補償路由節(jié)點與采集節(jié)點的晶振偏移,實現(xiàn)多跳無線傳感器網(wǎng)絡同步采集;針對采用第②種采樣模式ADC的無線傳感器網(wǎng)絡節(jié)點,曾貴偉等[14]設計了一種采用24bits∑-Δ型ADC ADS1271的機械振動無線傳感器網(wǎng)絡節(jié)點,該ADC在低功耗模式下完成一次數(shù)據(jù)轉換需要512個時鐘脈沖,微控制器無法進行晶振偏移補償。因此,針對采用第②種采樣模式ADC的無線傳感器網(wǎng)絡節(jié)點,考慮到節(jié)點功耗和晶振偏移補償對微控制器的處理性能要求,本文采用24 bits SAR ADC AD7766-1,完成一次數(shù)據(jù)轉換只需16個時鐘脈沖,在50 kHz采樣頻率下,需要800 kHz連續(xù)采樣時鐘,微控制器可以有效對其進行晶振偏移補償。
針對采用連續(xù)高頻采樣時鐘ADC的WSN節(jié)點存在同步累積誤差的問題,提出了一種基于晶振偏移補償?shù)耐嚼鄯e誤差抑制方法,通過補償晶振偏移,提供連續(xù)精準的高頻采樣時鐘,消除各節(jié)點間采樣間隔差異,在連續(xù)數(shù)據(jù)采集過程中保持同步精度,實現(xiàn)機械振動無線傳感器網(wǎng)絡高精度同步采集。
基于連續(xù)高頻采樣時鐘ADC的WSN節(jié)點硬件架構,如圖1所示。采用雙核心處理架構,核心1 STM32F405負責信號采集和數(shù)據(jù)處理,核心2 CC2530負責網(wǎng)絡的組建和維護,兩者協(xié)同工作,減少采集控制和網(wǎng)絡維護的耦合性。設計低噪聲電源管理方案,隔離數(shù)字電路和模擬電路噪聲串擾;采用IEPE加速度傳感器,提高采集信號的信噪比;設計截止頻率動態(tài)可調(diào)的抗混疊低通濾波器和信號差分化的信號調(diào)理電路,有效濾除高頻噪聲和抑制共模干擾。采用專用于振動分析的24 bits SAR ADC AD7766-1,最高采樣頻率為64 kHz,具有10.5 mW的超低功耗,提高模數(shù)轉換精度。在保證信號采集幅值精度和頻率精度的前提下,兼顧了節(jié)點功耗和晶振偏移補償對微控制器的處理性能要求。
機械振動無線傳感器網(wǎng)絡節(jié)點的采樣時鐘一般由微控制器內(nèi)部定時器提供,或者由獨立外部晶振引入微控制器內(nèi)部分頻獲得,兩種方式都需要晶振提供時鐘。本文WSN節(jié)點的采樣時鐘由微控制器內(nèi)部定時器提供,采樣時鐘獲取流程如圖2所示。首先外部晶振時鐘經(jīng)過微控制器內(nèi)部鎖相環(huán)(Phase Locked Loop,PLL)倍頻得到系統(tǒng)時鐘,然后通過預分頻器獲得外設時鐘,最后通過定時器分頻獲得控制ADC模數(shù)轉換的采樣時鐘。

圖2 WSN節(jié)點采樣時鐘獲取流程Fig.2 The acquisition process of sampling clock for WSN node
基于連續(xù)高頻采樣時鐘ADC的WSN節(jié)點同步累積誤差產(chǎn)生原因,如圖3所示。晶振的振蕩頻率會隨著外部環(huán)境(如溫度等)的變化而產(chǎn)生偏移,使采樣時鐘產(chǎn)生偏移,造成同一采集節(jié)點不同時刻的采樣間隔出現(xiàn)偏差(Δt1≠Δt5);同一型號晶振的頻率特性也存在差異,使各采集節(jié)點間的采樣時鐘存在差異,導致不同采集節(jié)點的采樣間隔不相等(Δt1≠Δt2≠Δt3≠Δt4)。隨著采集過程的進行,采樣間隔的差異會逐漸累積,高精度同步觸發(fā)采集的同步精度逐漸丟失,造成同步累積誤差,即Δe2, Δe3, Δe4。基于連續(xù)高頻采樣時鐘ADC的采集節(jié)點,在一個采樣間隔內(nèi)需要多個連續(xù)精準的采樣時鐘脈沖,各采集節(jié)點間采樣時鐘同步,才能保證采樣間隔的一致性以及采樣的準確性。因此,為在連續(xù)數(shù)據(jù)采集過程中保持同步精度,需要對晶振偏移進行補償,使各節(jié)點間采樣時鐘同步,避免同步累積誤差。

圖3 同步累積誤差產(chǎn)生原因Fig.3 The reason of synchronous accumulated error
無線通信協(xié)議采用TI公司設計的IEEE 802.15.4協(xié)議棧TIMAC,在信標使能模式下,網(wǎng)關節(jié)點周期性發(fā)送信標,無線模塊將信標中的幀起始界定符(Start of Frame Delimiter, SFD)信號直接在物理層傳輸?shù)讲杉K,減少SFD信號在協(xié)議棧層與層之間通信的隨機遲滯,節(jié)點間SFD信號最大延遲誤差的平均值為72 ns,可利用SFD信號作為同步信息。
晶振偏移補償?shù)耐嚼鄯e誤差抑制方法原理,如圖4所示。網(wǎng)關節(jié)點周期性發(fā)送信標,采集模塊定時器1捕獲信標中的SFD信號并記錄捕獲時間,同時SFD信號觸發(fā)外部中斷,在外部中斷服務程序中讀取和保存定時器1的捕獲時間,并計算出當前SFD信號間隔。由定時器1測得的SFD信號間隔與參考SFD信號間隔差值即是由晶振偏移引起。由于采樣時鐘頻率大于采樣頻率,考慮到采集節(jié)點的處理性能,設置定時器1的頻率與采集節(jié)點采樣頻率相同而不是與采樣時鐘頻率相同。根據(jù)SFD信號間隔差值,調(diào)整定時器1的計數(shù)溢出值,進行晶振偏移補償,使各節(jié)點間定時器1的時鐘頻率同步,然后根據(jù)采樣頻率與采樣時鐘之間的比值關系,計算定時器2各個時鐘脈沖的計數(shù)溢出值,最后由定時器2輸出補償后的采樣時鐘fMCLK,消除節(jié)點間采樣間隔差異,抑制同步累積誤差。

圖4 晶振偏移補償?shù)耐嚼鄯e誤差抑制方法原理Fig.4 Synchronous accumulated error suppression method theory based on crystal offset compensation
節(jié)點接受到采集命令,完成同步觸發(fā)后開始采集,晶振偏移補償?shù)耐嚼鄯e誤差抑制流程,如圖5所示,以最近一次SFD信號間隔S0作為參考,由于晶振偏移影響,之后的SFD信號間隔Si會與S0有偏差。 假設第j次采樣在第i+1個SFD信號間隔內(nèi), 第i次SFD信號間隔與參考值的偏差為: ΔSi=Si-S0, ΔSi可為負數(shù)。 在第i+1個SFD信號間隔中對ΔSi進行補償,則每個采樣間隔需要補償?shù)挠嫈?shù)值為
D=ΔSi/N
(1)
式中:N為參考SFD信號間隔內(nèi)理論采樣次數(shù)。

圖5 晶振偏移補償?shù)耐嚼鄯e誤差抑制流程Fig.5 Flow chart of synchronous accumulated error suppression methed based on crystal offset compensation
在i個SFD信號間隔內(nèi)定時器1理論計數(shù)總次數(shù)為Oi=i×S0, 補償后的計數(shù)總次數(shù)為
Qi=Oi+Ri
(2)
式中:Ri為i個SFD信號間隔內(nèi)的補償計數(shù)值總和, 當m=j%N=0時進行更新Ri=Ri-1+ΔSi-1,m為第i+1個SFD信號間隔內(nèi)的采樣次數(shù)。
第j次采樣時定時器1補償后的計數(shù)總次數(shù)為
(3)
那么第j次采樣定時器1計數(shù)溢出值Cj=Tj-Tj-1, 更新定時器1計數(shù)溢出值,補償晶振偏移。
假設采樣時鐘頻率與采樣頻率的比值為k, 那么在一個采樣間隔內(nèi),定時器2需精確輸出k個時鐘脈沖。每次更新定時器1的計數(shù)溢出值后,需同時更新k個定時器2的計數(shù)溢出值,并且k個定時器2的計數(shù)溢出值的計數(shù)總次數(shù)為Cj, 避免定時器1和定時器2的時鐘產(chǎn)生相位誤差。那么第j次采樣時,更新定時器2的k個時鐘脈沖計數(shù)溢出值根據(jù)式(4)和式(5)計算
Xj=Cj/k
(4)
Yj=Cj%k
(5)
式中:Yj個計數(shù)溢出值為Xj,k-Yj個計數(shù)溢出值為Xj-1。
為驗證本文提出的基于晶振偏移補償?shù)耐嚼鄯e誤差抑制方法的有效性,以5個采集節(jié)點和1個網(wǎng)關節(jié)點構成星型網(wǎng)絡進行同步采集實驗,實驗布置現(xiàn)場如圖6所示。節(jié)點采樣頻率設置為50 kHz,設置邏輯分析儀采樣頻率為100 MHz(最小分辨率為10 ns),用邏輯分析儀采集ADC的采樣時鐘信號,分析各節(jié)點采樣時鐘時序變化,計算同步誤差。5個采集節(jié)點連續(xù)采集40 s,以節(jié)點1的采樣時鐘為基準信號,其他節(jié)點與節(jié)點1的采樣時鐘偏差即為該節(jié)點與節(jié)點1的同步誤差。

圖6 同步采集精度測試Fig.6 Synchronous acquisition accuracy test
未進行晶振偏移補償?shù)耐秸`差,如圖7所示,同步誤差隨著采集時間的推移而累積,當采集時間到40 s時,最大同步誤差在節(jié)點3~節(jié)點1達到255.4 μs,節(jié)點2和節(jié)點5與節(jié)點1的同步誤差基本一致,說明節(jié)點2和節(jié)點5的晶振特性類似,但與其他節(jié)點晶振特性仍然有較大差異。

圖7 未晶振偏移補償?shù)耐秸`差Fig.7 Synchronous aequisition error with crystal offset not compensated
采用本文方法對晶振偏移進行補償后的同步誤差測試結果如圖8所示,節(jié)點間最大同步誤差為0.64 μs,同步誤差沒有隨著采集時間的推移而累積,驗證了本文晶振偏移補償方法抑制同步累積誤差的有效性。

圖8 晶振偏移補償后的同步誤差Fig.8 Synchronous aequisition error with crystal offset ompensated
為驗證本文同步累積誤差抑制方法對實際信號同步采集性能,用Agilent 33522A函數(shù)信號發(fā)生器產(chǎn)生頻率為3 125 Hz,峰峰值為100 mV的標準正弦信號,將此正弦信號同時接入兩個采集節(jié)點,設置節(jié)點采樣率為50 kHz,連續(xù)采集25 s,對未采用本文方法和采用本文方法采集到的信號時域波形進行對比分析。
未采用本文同步累積誤差抑制方法的兩采集節(jié)點前35點時域信號波形如圖9(a)所示,第1 000 000點(20 s)后的35點的時域波形如圖9(b)所示。在前35點,由于采用同步觸發(fā)方法,兩節(jié)點幾乎同時采集,時域波形無明顯相位誤差,但在第1 000 000點后的35點,兩節(jié)點的時域波形已經(jīng)有明顯的相位誤差,是因為沒有進行晶振偏移補償,同步誤差逐漸累積。

圖9 未晶振偏移補償時域波形Fig.9 The time-domain waveform with crystal offset not compensated
采用本文同步累積誤差抑制方法的兩采集節(jié)點前35點時域信號波形如圖10(a)所示,第1 000 000點后的35點的時域波形如圖10(b)所示。可以看出兩采集節(jié)點在前35點和第1 000 000點后的35點的時域波形都沒有明顯的相位誤差,表明同步精度沒有隨著時間的推移而降低,同步誤差沒有累積,本文提出的晶振偏移補償方法可以在連續(xù)數(shù)據(jù)采集過程中保持同步精度。

圖10 晶振偏移補償后時域波形Fig.10 The time-domain waveform with crystal offset compensated
為解決采用連續(xù)高頻采樣時鐘ADC的機械振動無線傳感器網(wǎng)絡節(jié)點存在同步累積誤差的問題,分析基于此類采樣模式ADC的WSN節(jié)點的同步累積誤差原因,提出了一種基于晶振偏移補償?shù)耐嚼鄯e誤差抑制方法,采用一個外部中斷和兩個定時器處理網(wǎng)關節(jié)點周期性發(fā)送信標中的SFD信號,利用SFD信號作為時間基準補償晶振偏移,獲得連續(xù)精準的高頻采樣時鐘,消除節(jié)點間采樣間隔差異,抑制同步累積誤差。通過實驗測試,連續(xù)采集40 s,節(jié)點間最大同步誤差為0.64 μs;采用本文方法的兩個采集節(jié)點在連續(xù)采集同一信號源過程中沒有出現(xiàn)明顯相位誤差。以上結果表明,本文提出的晶振偏移補償方法能有效抑制機械振動無線傳感器網(wǎng)絡同步累積誤差。