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