ZigBee無(wú)線(xiàn)火災監控節點(diǎn)及其時(shí)鐘同步算法的設計
3 ZigBee時(shí)鐘同步算法設計
本文引用地址:http://dyxdggzs.com/article/247458.htmZigBee技術(shù)在低功耗無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中的應用越來(lái)越廣泛。目前,在整個(gè)傳感器網(wǎng)絡(luò )中節點(diǎn)設備主要采用電池供電的方式,如何有效降低整個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的整體功耗是ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中一個(gè)亟待解決的問(wèn)題。本文通過(guò)研究無(wú)線(xiàn)傳感器時(shí)鐘同步算法,路由器、終端節點(diǎn)同步進(jìn)入周期性進(jìn)入休眠,將有助于降低整個(gè)網(wǎng)絡(luò )的能耗,延長(cháng)電源工作壽命。
3.1 常用無(wú)線(xiàn)網(wǎng)絡(luò )時(shí)鐘同步算法及其實(shí)現原理
在整個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中,影響時(shí)鐘同步的原因主要有硬件時(shí)鐘頻率差別、傳輸延遲等。目前較為成熟的時(shí)鐘同步算法主要有基于發(fā)送者—接收者的雙向時(shí)鐘同步算法,基于發(fā)送者—接收者的單向時(shí)鐘同步算法:
?、倩诎l(fā)送者—接收者的雙向時(shí)鐘同步算法,例如TPSN時(shí)鐘同步算法。
TPSN協(xié)議是基于雙向報文交換的時(shí)間同步機制,每個(gè)節點(diǎn)與它上一級的節點(diǎn)通過(guò)兩路消息交換進(jìn)行時(shí)間同步,最后實(shí)現所有節點(diǎn)與根節點(diǎn)的同步。算法示意圖如圖4所示。

節點(diǎn)B向節點(diǎn)A發(fā)送同步請求報文并記錄此刻的本地時(shí)間T2,A收到該請求報文時(shí)記錄本地時(shí)間T2,并立即向節點(diǎn)B返回一個(gè)應答報文,并在該報文中嵌入T2和該報文的發(fā)送時(shí)刻T3,B收到應答報文時(shí)記錄本地時(shí)間T4 。
基于報文傳輸的對稱(chēng)性,可以認為請求報文時(shí)間和應答報文時(shí)間相等,當節點(diǎn)B的本地時(shí)刻為T(mén)2時(shí),節點(diǎn)A和B之間的時(shí)鐘偏差為Δ,那么:T2=T1+Δ+d,在忽略A和B之間增加的時(shí)鐘偏差的情況下:T4=T3-Δ+d。
可計算出:

節點(diǎn)B在T4時(shí)刻將本地時(shí)間改為 T4+Δ,就可以達到與節點(diǎn)A在這一時(shí)刻的同步。
?、诨诎l(fā)送者—接收者的單向時(shí)鐘同步算法,例如DMTS時(shí)鐘同步算法。
DMTS算法,即延遲測量時(shí)鐘同步算法,發(fā)送者在廣播的同步信息的報文中加人發(fā)送時(shí)間戳T0,假設發(fā)送報文的長(cháng)度為NA個(gè)比特(包括前導碼和同步字),報文發(fā)送速率是t/bit。接收者在接收完前導碼和同步字時(shí)記錄下本地時(shí)間T1,并在調整自己本地時(shí)間記錄之前記錄此刻時(shí)間T2,調整本地時(shí)間為T(mén)0+t·NA+T2-T1,從而實(shí)現與發(fā)送者時(shí)鐘同步。DMTS算法示意圖如圖5所示。
針對上述TPSN、DMTS時(shí)鐘同步算法的優(yōu)缺點(diǎn)進(jìn)行比較,可以得到結果如表1所示。
3.2 ZigBee時(shí)鐘同步算法設計
本文結合DMTS與TPSN特點(diǎn),在充分利用兩者優(yōu)點(diǎn)的基礎上并結合ZigBee無(wú)線(xiàn)火災監控網(wǎng)絡(luò )的基本情況,設計了一種新型的ZigBee無(wú)線(xiàn)傳感器時(shí)鐘同步算法。將整個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )時(shí)鐘同步過(guò)程中分成兩步[4]:第一步,路由器到路由器采用TPSN同步時(shí)鐘算法;第二步,路由到終端節點(diǎn)DMTS時(shí)鐘同步算法。傳感器網(wǎng)絡(luò )所有節點(diǎn)設備通過(guò)循環(huán)進(jìn)入休眠工作模式減少設備功耗,實(shí)現延長(cháng)網(wǎng)絡(luò )壽命的目的。

(1)路由器到路由器的時(shí)鐘同步
TPSN路由器到路由器的時(shí)鐘同步算法包括兩個(gè)階段:層次發(fā)現階段和同步階段。
層次發(fā)現階段:確定網(wǎng)絡(luò )中所有路由器節點(diǎn)的層次結構,賦予每個(gè)路由器節點(diǎn)一個(gè)層次號,本無(wú)線(xiàn)火災監控網(wǎng)絡(luò )采用樹(shù)形網(wǎng)絡(luò )結構,便于層次的發(fā)現。在層次發(fā)現過(guò)程中,選取一個(gè)路由器根節點(diǎn)并賦予層次號0,根節點(diǎn)向其子節點(diǎn)路由器發(fā)送一個(gè)層次發(fā)現數據包,該數據包中封裝有發(fā)送者的物理地址和層次號,此子節點(diǎn)路由器將收到的層次號加1作為自身的層次號,然后再向自己的子節點(diǎn)路由器發(fā)送封裝有自身物理地址和層次號的層次發(fā)現數據包,重復這個(gè)過(guò)程直到網(wǎng)絡(luò )中所有的路由器節點(diǎn)均被賦予一個(gè)層次號。

adc相關(guān)文章:adc是什么
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
蜂鳴器相關(guān)文章:蜂鳴器原理
評論