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