無線傳感器網(wǎng)絡(luò)時間同步協(xié)議的實現(xiàn)
2.2 時間同步協(xié)議的實現(xiàn)
在確保了每個節(jié)點都有了高精度的本地時間后,就可以進行時間同步協(xié)議的實現(xiàn),使整個網(wǎng)絡(luò)中各個節(jié)點的時間誤差在一定允許范圍內(nèi),時間同步協(xié)議的實現(xiàn)是建立在網(wǎng)絡(luò)正常通信的前提下,具體是在應(yīng)用層完成的,底層為用戶提供的一個8 bit的接口,可以將要發(fā)送和接收的數(shù)據(jù)通過8 bit的接口來與網(wǎng)絡(luò)層通信。發(fā)送數(shù)據(jù)的長度由安全層是否使用安全認證來決定。
時間同步主要依靠節(jié)點之間的通信,每次校時都是從節(jié)點發(fā)起的。首先,從節(jié)點向主節(jié)點發(fā)送同步命令,其次,主節(jié)點將自己收到同步命令的時間和響應(yīng)從節(jié)點的發(fā)送時間通過單播方式傳回給從節(jié)點,從節(jié)點依靠自身的兩個本地時間(發(fā)送同步命令時間和接收到主節(jié)點響應(yīng)的時間)以及接收到主節(jié)點的兩個時間,可以汁算獲取到通信延遲Delay和主從節(jié)點的偏差Offset,通過這兩個量從節(jié)點就可以自行調(diào)整自己的時間,已達到與主節(jié)點的時間同步。
主節(jié)點主要是在形成網(wǎng)絡(luò)后,監(jiān)聽信道,等待從節(jié)點的校時同步命令,再將收到同步命令和發(fā)送響應(yīng)的兩個時間發(fā)送個從節(jié)點。從節(jié)點主要是在加入網(wǎng)絡(luò)成功之后,向其父節(jié)點發(fā)送同步命令(發(fā)送前記錄發(fā)送時間),監(jiān)聽信道,有數(shù)據(jù)就記錄時間,在判斷是不是同步命令的響應(yīng)。如果是就通過時間同步算法進行計算Delay和Offset,在獲取從節(jié)點的當前時間,通過調(diào)整時間公式進行調(diào)整自身時間。
主從節(jié)點的具體流程如圖6和圖7所示。本文引用地址:http://www.biyoush.com/article/159475.htm
將程序下載后,將兩個節(jié)點的定時器的比較輸出管腳PA3連接到示波器的CH1、CH2上,就會獲得未校時前的情況,兩個時鐘沒有重合在一起。等待一會,就回出現(xiàn)校時后的結(jié)果,兩個時鐘重合在一起。具體實驗驗證兩個節(jié)點的時間同步情況如圖8所示。
3 結(jié)束語
ZigBee具有超強的生命力和優(yōu)勢,應(yīng)用前景好,值得廣大嵌入式應(yīng)用的技術(shù)人員關(guān)注,并加入到它的應(yīng)用行列。時間同步技術(shù)的研究是ZigBee無線傳感器網(wǎng)絡(luò)在實際應(yīng)用中最需要關(guān)注的一個關(guān)鍵技術(shù)。
評論