一種即時(shí)同步與時(shí)鐘自校準(zhǔn)結(jié)合的全網(wǎng)同步技術(shù)
實(shí)驗(yàn)采用兩塊基于Si1000芯片的節(jié)點(diǎn)電路板,其中一塊作為第N層節(jié)點(diǎn),另一塊作為第N+1層節(jié)點(diǎn)。
在兩級(jí)節(jié)點(diǎn)的軟件中加入測(cè)試信號(hào)輸出:每過5 s,RTC中斷事件會(huì)把MCU喚醒,同時(shí)會(huì)在MCU的一個(gè)端口輸出一個(gè)低電平脈沖。將脈沖信號(hào)輸入到示波器的兩個(gè)輸入通道中,記錄波形。
將示波器的時(shí)域解析度放大至5μs,會(huì)發(fā)現(xiàn)在初始的即時(shí)同步后,兩個(gè)節(jié)點(diǎn)之間存在絕對(duì)誤差e=5.4μs,如圖7所示。如果不加以干預(yù),兩節(jié)點(diǎn)的時(shí)鐘偏差會(huì)逐步擴(kuò)大,最終導(dǎo)致網(wǎng)絡(luò)的不同步。
數(shù)據(jù)采集的方法是,將這對(duì)節(jié)點(diǎn)每隔3 min測(cè)量一次脈沖的時(shí)間差△t,連續(xù)記錄一個(gè)小時(shí),將結(jié)果保存到表1中(兩節(jié)點(diǎn)每10 min誤差17 ms)。
對(duì)比試驗(yàn):將上述兩節(jié)點(diǎn)軟件中的自校正機(jī)制移除,即僅用即時(shí)同步機(jī)制初始同步一次,其后的晶振偏移不再校正。每隔3 min記錄一次△t,將結(jié)果保存到表1中。
用MATLAB繪制兩種同步方式的對(duì)比曲線如圖8所示。
由實(shí)驗(yàn)結(jié)果可以看到,僅僅做了一次即時(shí)同步的一對(duì)節(jié)點(diǎn),它們的時(shí)鐘偏差在不斷擴(kuò)大,其呈現(xiàn)線性特征,每10 min的時(shí)鐘偏差約為17 ms。
采用了自校正技術(shù)的同步算法的一對(duì)節(jié)點(diǎn),具有本地晶振振蕩偏差自動(dòng)補(bǔ)償機(jī)制。每隔10 min,它們之間的偏差就會(huì)被校正。節(jié)點(diǎn)間的同步有效時(shí)間顯著延長(zhǎng)。在實(shí)際測(cè)試中,經(jīng)過16個(gè)小時(shí)的實(shí)驗(yàn)后觀測(cè),仍能達(dá)到理想的同步效果。
5 結(jié)論
本文基于Si1000芯片平臺(tái),實(shí)現(xiàn)了一種將無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的同步周期進(jìn)行擴(kuò)展的方法,利用即時(shí)同步技術(shù)進(jìn)行節(jié)點(diǎn)間同步的初始化,隨后每間隔一段時(shí)間,節(jié)點(diǎn)主動(dòng)校準(zhǔn)自己的時(shí)鐘,從而實(shí)現(xiàn)了在沒有顯著增加能量消耗的前提下,擴(kuò)展同步周期,提高同步精度
評(píng)論