無線傳感器網(wǎng)絡(luò)時間同步協(xié)議的實現(xiàn)
摘要:介紹了一種在IEEE 1588協(xié)議基礎(chǔ)上改進(jìn)的時間同步算法的實現(xiàn),通過精簡的IEEE1588協(xié)議發(fā)送的follow—up報文,來降低ZigBee網(wǎng)絡(luò)的開銷,同時改變了同步信息的發(fā)起者,由主節(jié)點換成從節(jié)點,從而適應(yīng)了ZigBee網(wǎng)絡(luò)節(jié)點即時加入和即時離開的特點。通過實際試驗測定,該算法適合于無線傳感器網(wǎng)絡(luò)節(jié)點的高精度時間同步。
關(guān)鍵詞:時間同步;ZigBee網(wǎng)絡(luò);IEEE 1588;定時器
本文主要是以高速運動目標(biāo)的監(jiān)測系統(tǒng)為研究背景,該監(jiān)測系統(tǒng)是將多個ZigBee節(jié)點布設(shè)在監(jiān)測區(qū)域(移動目標(biāo)可能出現(xiàn)的區(qū)域),其中心節(jié)點和路由節(jié)點一直處于丁作狀態(tài);其他的節(jié)點在沒有任務(wù)時,設(shè)定喚醒時間后進(jìn)入休眠狀態(tài)。最終各個傳感器節(jié)點通過不同跳轉(zhuǎn)路徑將數(shù)據(jù)匯總到中心節(jié)點,由中心節(jié)點進(jìn)行處理或者通過網(wǎng)關(guān)將數(shù)據(jù)傳送到其他設(shè)備再進(jìn)行處理。整個系統(tǒng)的網(wǎng)絡(luò)示意圖如圖1所示。
本系統(tǒng)中由于目標(biāo)的運動速度非常高,目標(biāo)的具體位置和狀態(tài)需要由多個ZigBee節(jié)點共同協(xié)作來工作,所以針對系統(tǒng)的時間同步研究是非常的重要。而導(dǎo)致時間同步的因素很多,除了發(fā)送時間、訪問時間、傳送時間、傳播時間、接收時間、接受時間會影響網(wǎng)絡(luò)時間的同步,還有就是由于網(wǎng)絡(luò)拓?fù)涞牟煌?,?shù)據(jù)在傳遞過程中,跳數(shù)的不同也會引入不同的時間誤差。這就造成了網(wǎng)絡(luò)中各節(jié)點的本地時間便有了較大的差距。
1 網(wǎng)絡(luò)時間協(xié)議
1.1 IEEE 1588協(xié)議
IEEE 1588協(xié)議借鑒了NTP技術(shù),具有容易配置、快速收斂以及對網(wǎng)絡(luò)帶寬和資源消耗少等特點。主要原理是通過一個同步信號周期性的對網(wǎng)絡(luò)中所有節(jié)點的時鐘進(jìn)行同步校正,使基于以太網(wǎng)的分布式系統(tǒng)可以達(dá)到精確同步。
PTP時間同步的原理:主設(shè)備周期地以多播的方式發(fā)送sync報文,隨后發(fā)送一個記錄發(fā)送Sync報文的精確時間戳to的Follow—up報文,從設(shè)備收到這兩個報文后記錄下兩個時間to(Sync發(fā)出時間)、t1(從設(shè)備收到Sync報文時間)。從設(shè)備在t2時刻發(fā)送時延請求報文,主設(shè)備在t3時刻收到延遲請求報文,并將時間戳放在時延響應(yīng)報文中發(fā)給從設(shè)備,從設(shè)備此時又記錄下了t2和t3。
當(dāng)從設(shè)備獲得這4個時間后,通過Delav=[(t1-t0)+(t3-t2)]/2計算出了從設(shè)備與主設(shè)備之間的傳輸時延。Offset=t1-(t0+Delay)=[(t1-t0)-(t3-t2)]/2計算出從設(shè)備與主設(shè)備的時間偏差。從設(shè)備根據(jù)計算出來的偏差修改本地時間,完成了時鐘同步其同步原理如圖2所示。
PTP時間同步協(xié)議還可以消除時間偏差和數(shù)據(jù)傳輸延時,使各個設(shè)備達(dá)到較高精度的時間同步。由于ZigBee網(wǎng)絡(luò)的傳輸速率和吞吐量的限制,將PTP時間同步協(xié)議直接應(yīng)用于ZigBee無線傳感器網(wǎng)絡(luò)中,會使該協(xié)議的精度下降,同步的可靠性降低,還會給ZigBee網(wǎng)絡(luò)增加網(wǎng)絡(luò)負(fù)載。
評論