文獻標識碼: A
文章編號: 0258-7998(2013)04-0016-03
時間同步是無線傳感器網絡的一項基礎支撐技術。在無線傳感器網絡的應用中,如果沒有空間和時間信息,傳感器節點采集的數據是沒有任何意義的。準確的時間同步是實現傳感器網絡自身協議的運行、定位、多傳感器數據融合、移動目標的跟蹤以及基于睡眠/偵聽模式的節能機制等技術的基礎[1-2]。
現有的時間同步方法(如RBS、TPSN、DTMS、FTSP等[3-5]),面臨的一個共同問題是如何準確地測量時間同步算法的同步性能,尤其是同步精度性能。盡管無線傳感器網絡的時間同步技術已經由單跳網絡發展到多跳,但如何準確地測量節點間的同步誤差問題仍然沒有得到很好的解決。因此很多算法在實現過程中都主動避開這個問題,而采用軟件仿真的方法評估時間同步性能。但軟件仿真的方法對于晶體振蕩源、報文傳輸延遲等模型的建立難度較大,而且并不能真實反映實際運行過程中出現的其他問題對同步精度性能的影響[6]。
本文提出了基于同步誤差映射的時間同步精度測試方法,該方法將固定時刻各節點間的時間差映射到物理時間的差異上,并通過節點內輸出端口的狀態翻轉在用戶端獲得實時的時間同步誤差。實際實驗測試表明,該方法不僅簡單易行,而且能夠實時、準確地獲得節點間的同步誤差。
1 相關研究
參考文獻[3]提出了用無線報文觸發誤差的測量方法,并對RBS算法進行了測量。參考文獻[5]使用無線報文觸發的測量方法對FTSP進行了測試。這種方法會對無線節點程序的正常運行產生過多的干擾,并占用無線通信資源,測量的實時性與網絡規模成反比。參考文獻[6]提出了有線中斷信號觸發的誤差測量方法,并將觸發時間通過有線集中處理,盡管這種方法不依賴節點無線通信,但會受到節點的外部中斷響應時間的影響。參考文獻[7]提出了建立時間同步仿真模型的方法,但這種方法只適用于特定的無線傳感器網絡節點,模型的普遍性不強。
2 同步精度測試原理
無線傳感器網絡時間同步的精度算法研究、安全相關研究、能量有效相關研究等的最終目的都是獲得滿足用戶需求的穩定的時間同步。因此,對同步誤差的準確實時測試是檢測時間同步算法實現效果的根本性手段。
(1)時鐘偏移:在時刻t節點的時間偏移為t-T(t)。對于不同的節點A和節點B,在t時刻的時間偏移為:TA(t)-TB(t)。
(2)同步誤差:同步誤差是時鐘偏移的絕對值。時鐘偏移的絕對值為絕對同步誤差,相對時鐘偏移的絕對值為相對同步誤差。
因此,為了獲得節點間的同步誤差,必須在相同的時刻同時獲得各個節點的本地時間,而如何達到同時性恰恰是當前進行同步誤差精度測量的難點之一。
2.2 典型的同步誤差測量方法
目前比較典型的同步誤差測試都是通過在固定時刻同時向無線節點發送觸發信號的方式進行同步誤差查詢。由于節點間時間很難在完全相同的時刻獲得并進行對比,因此測試不同節點間同步誤差需要第三方協助,并在固定時刻獲得同步時間的值進行對比[6]。圖1是常用的時間同步誤差測試原理圖。在物理時間t時刻,由第三方發起時間觸發信號(Trigger),并且在相同的時刻到達節點1和節點2。節點1和節點2分別記錄二者的時間T1(t)和T2(t),通過獲取T1(t)和T2(t)進行誤差運算完成t時刻的誤差值測定。
采用第三方觸發的方式進行節點同步誤差測試主要有兩種方式,如圖2和圖3所示。通過串口或者無限的方式發送觸發信號,信號在有線或者無線的傳輸延遲極小而且信號同時并行傳輸,在誤差允許范圍內可以認為觸發信號到達兩節點無時差。節點1和節點2記錄觸發信號到達時間并通過無線或有線方式最終將時間數據傳送到上位機,上位機通過對時間數據處理可以獲得兩個節點在t時刻的同步誤差。使用無線觸發的優點是測試節點的規模不受上位機串口個數的影響,可以進行大規模同步精度測試,缺點是同步查詢過程需要消耗額外的無線鏈路資源,在鏈路資源相對緊張的網絡中無法實時獲得節點間的同步誤差數據。
2.3 基于誤差映射的時間同步誤差測試方法
通過對上一節測試方法的分析可知,當前同步精度測試方法都是在固定時刻讀取不同節點的時間,從而獲得節點間的同步誤差,如圖4中的AB/CD部分。對于基準時間,有T=t,故圖中ACD為等腰直角三角形,可以得到AC=CD。如果能夠得到點A和點C之間的時間差值Δt,就可以獲得測試節點在t+Δt時刻的同步誤差ΔT′=Δt。這樣可以將同步誤差的測試轉換為對Δt的測量:在相同的邏輯時間T時刻對應不同的物理時間的差值。與傳統方法不同,這里將t+Δt時刻的同步誤差映射到兩個節點邏輯時間分別到達T2時,二者在物理時間的差異,如圖4中的AC,也就是通過測試物理時間t和t+Δt時刻的差異反映測試節點在t+Δt時刻與基準時間的同步誤差。
同步誤差的測試頻率取決于節點內I/O變化的頻率,節點間可以進行較高頻率I/O端口操作從而獲得實時性較高的同步誤差采集。相對于無線觸發查詢方法,本文的方法不占用無線通信資源,對無線網絡的正常運行不產生影響,可以更準確、實時地反映時間同步的運行效果。
3 實驗平臺
根據以上所述方法建立實驗平臺,測試了8路同步誤差數據采集,周期為20 ms,測得如圖6所示同步誤差曲線圖。如果需要長時間的歷史數據分析,則可以通過歷史記錄做進一步分析。通過同步誤差測試平臺可以對同步算法效果進行實時跟蹤分析,有利于提高算法設計效率。
對目前應用廣泛的FTSP算法進行測試,分別使用本文所述平臺和傳統的無線查詢方式測試,獲得圖7所示對比圖。查詢方式一般使用30 s查詢間隔(如參考文獻[5]中對5×12規模節點),而且占用無線通信資源,隨著規模的增大需要延長查詢時間,很難直觀反映同步誤差的實時變化,如圖7中菱形點相對較稀疏。而采用本文所述方法的測試平臺不占用無線通信資源,可以實現快速誤差采集。經過測試可以在50 ms采集周期下工作而不影響網絡正常運行,為同步設計過程中實時監測誤差變化提供有力工具。
本文提出的基于誤差映射的測量方法將傳統的固定時刻的誤差映射到物理時刻的差值,并通過FPGA的高速采集功能獲得實時的同步誤差。在對典型時間同步協議的測試過程中顯示了其高精度和實時性的優勢,具備了完全的工程實用性。
參考文獻
[1] 楊卓靜,孫宏志,任晨虹.無線傳感器網絡應用技術綜述[J].中國科技信息,2010(13):127-129.
[2] 于海斌,曾鵬.智能無線傳感器網絡系統[M].北京:科學出版社,2006.
[3] ELSON J,GIROD L,ESTRIN D.Fine-grained network time synchronization using reference broadcasts[C].Proceedings of the Fifth Symposium on Operating Systems Design and Implementation(OSDI’02),New York,2002:147-163.
[4] RHEE I K,LEE J,KIM J,et al.Clock synchronization in wireless sensor networks:an overview[J].Sensors,2009,9(1):56-85.
[5] MAROTI M,KUSY B,SIMON G,et al.The flooding time synchronization protocol[C].Proceedings of the 2nd international conference on Embedded networked sensor systems,2004:39-49.
[6] 徐朝農,徐勇軍.無線傳感器網絡同步誤差測量方法[J].計算機工程,2011,37(5):115-117.
[7] Xu Chaonong,Zhao Lei,Xu Yongjun,et al.Simsync:a time synchronization simulator for sensor networks[J].ACTA Automatica Sinica,2006,32(6):1008-1014.
[8] SOMMER P,WATTENHOFER R.Gradient clock synchro nization in wireless sensor networks[C].In 2009 International Conference on Information Processing in Sensor Networks,2009:37-48.