文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0016-03
時(shí)間同步是無線傳感器網(wǎng)絡(luò)的一項(xiàng)基礎(chǔ)支撐技術(shù)。在無線傳感器網(wǎng)絡(luò)的應(yīng)用中,如果沒有空間和時(shí)間信息,傳感器節(jié)點(diǎn)采集的數(shù)據(jù)是沒有任何意義的。準(zhǔn)確的時(shí)間同步是實(shí)現(xiàn)傳感器網(wǎng)絡(luò)自身協(xié)議的運(yùn)行、定位、多傳感器數(shù)據(jù)融合、移動(dòng)目標(biāo)的跟蹤以及基于睡眠/偵聽模式的節(jié)能機(jī)制等技術(shù)的基礎(chǔ)[1-2]。
現(xiàn)有的時(shí)間同步方法(如RBS、TPSN、DTMS、FTSP等[3-5]),面臨的一個(gè)共同問題是如何準(zhǔn)確地測量時(shí)間同步算法的同步性能,尤其是同步精度性能。盡管無線傳感器網(wǎng)絡(luò)的時(shí)間同步技術(shù)已經(jīng)由單跳網(wǎng)絡(luò)發(fā)展到多跳,但如何準(zhǔn)確地測量節(jié)點(diǎn)間的同步誤差問題仍然沒有得到很好的解決。因此很多算法在實(shí)現(xiàn)過程中都主動(dòng)避開這個(gè)問題,而采用軟件仿真的方法評(píng)估時(shí)間同步性能。但軟件仿真的方法對(duì)于晶體振蕩源、報(bào)文傳輸延遲等模型的建立難度較大,而且并不能真實(shí)反映實(shí)際運(yùn)行過程中出現(xiàn)的其他問題對(duì)同步精度性能的影響[6]。
本文提出了基于同步誤差映射的時(shí)間同步精度測試方法,該方法將固定時(shí)刻各節(jié)點(diǎn)間的時(shí)間差映射到物理時(shí)間的差異上,并通過節(jié)點(diǎn)內(nèi)輸出端口的狀態(tài)翻轉(zhuǎn)在用戶端獲得實(shí)時(shí)的時(shí)間同步誤差。實(shí)際實(shí)驗(yàn)測試表明,該方法不僅簡單易行,而且能夠?qū)崟r(shí)、準(zhǔn)確地獲得節(jié)點(diǎn)間的同步誤差。
1 相關(guān)研究
參考文獻(xiàn)[3]提出了用無線報(bào)文觸發(fā)誤差的測量方法,并對(duì)RBS算法進(jìn)行了測量。參考文獻(xiàn)[5]使用無線報(bào)文觸發(fā)的測量方法對(duì)FTSP進(jìn)行了測試。這種方法會(huì)對(duì)無線節(jié)點(diǎn)程序的正常運(yùn)行產(chǎn)生過多的干擾,并占用無線通信資源,測量的實(shí)時(shí)性與網(wǎng)絡(luò)規(guī)模成反比。參考文獻(xiàn)[6]提出了有線中斷信號(hào)觸發(fā)的誤差測量方法,并將觸發(fā)時(shí)間通過有線集中處理,盡管這種方法不依賴節(jié)點(diǎn)無線通信,但會(huì)受到節(jié)點(diǎn)的外部中斷響應(yīng)時(shí)間的影響。參考文獻(xiàn)[7]提出了建立時(shí)間同步仿真模型的方法,但這種方法只適用于特定的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),模型的普遍性不強(qiáng)。
2 同步精度測試原理
無線傳感器網(wǎng)絡(luò)時(shí)間同步的精度算法研究、安全相關(guān)研究、能量有效相關(guān)研究等的最終目的都是獲得滿足用戶需求的穩(wěn)定的時(shí)間同步。因此,對(duì)同步誤差的準(zhǔn)確實(shí)時(shí)測試是檢測時(shí)間同步算法實(shí)現(xiàn)效果的根本性手段。
(1)時(shí)鐘偏移:在時(shí)刻t節(jié)點(diǎn)的時(shí)間偏移為t-T(t)。對(duì)于不同的節(jié)點(diǎn)A和節(jié)點(diǎn)B,在t時(shí)刻的時(shí)間偏移為:TA(t)-TB(t)。
(2)同步誤差:同步誤差是時(shí)鐘偏移的絕對(duì)值。時(shí)鐘偏移的絕對(duì)值為絕對(duì)同步誤差,相對(duì)時(shí)鐘偏移的絕對(duì)值為相對(duì)同步誤差。
因此,為了獲得節(jié)點(diǎn)間的同步誤差,必須在相同的時(shí)刻同時(shí)獲得各個(gè)節(jié)點(diǎn)的本地時(shí)間,而如何達(dá)到同時(shí)性恰恰是當(dāng)前進(jìn)行同步誤差精度測量的難點(diǎn)之一。
2.2 典型的同步誤差測量方法
目前比較典型的同步誤差測試都是通過在固定時(shí)刻同時(shí)向無線節(jié)點(diǎn)發(fā)送觸發(fā)信號(hào)的方式進(jìn)行同步誤差查詢。由于節(jié)點(diǎn)間時(shí)間很難在完全相同的時(shí)刻獲得并進(jìn)行對(duì)比,因此測試不同節(jié)點(diǎn)間同步誤差需要第三方協(xié)助,并在固定時(shí)刻獲得同步時(shí)間的值進(jìn)行對(duì)比[6]。圖1是常用的時(shí)間同步誤差測試原理圖。在物理時(shí)間t時(shí)刻,由第三方發(fā)起時(shí)間觸發(fā)信號(hào)(Trigger),并且在相同的時(shí)刻到達(dá)節(jié)點(diǎn)1和節(jié)點(diǎn)2。節(jié)點(diǎn)1和節(jié)點(diǎn)2分別記錄二者的時(shí)間T1(t)和T2(t),通過獲取T1(t)和T2(t)進(jìn)行誤差運(yùn)算完成t時(shí)刻的誤差值測定。
采用第三方觸發(fā)的方式進(jìn)行節(jié)點(diǎn)同步誤差測試主要有兩種方式,如圖2和圖3所示。通過串口或者無限的方式發(fā)送觸發(fā)信號(hào),信號(hào)在有線或者無線的傳輸延遲極小而且信號(hào)同時(shí)并行傳輸,在誤差允許范圍內(nèi)可以認(rèn)為觸發(fā)信號(hào)到達(dá)兩節(jié)點(diǎn)無時(shí)差。節(jié)點(diǎn)1和節(jié)點(diǎn)2記錄觸發(fā)信號(hào)到達(dá)時(shí)間并通過無線或有線方式最終將時(shí)間數(shù)據(jù)傳送到上位機(jī),上位機(jī)通過對(duì)時(shí)間數(shù)據(jù)處理可以獲得兩個(gè)節(jié)點(diǎn)在t時(shí)刻的同步誤差。使用無線觸發(fā)的優(yōu)點(diǎn)是測試節(jié)點(diǎn)的規(guī)模不受上位機(jī)串口個(gè)數(shù)的影響,可以進(jìn)行大規(guī)模同步精度測試,缺點(diǎn)是同步查詢過程需要消耗額外的無線鏈路資源,在鏈路資源相對(duì)緊張的網(wǎng)絡(luò)中無法實(shí)時(shí)獲得節(jié)點(diǎn)間的同步誤差數(shù)據(jù)。
2.3 基于誤差映射的時(shí)間同步誤差測試方法
通過對(duì)上一節(jié)測試方法的分析可知,當(dāng)前同步精度測試方法都是在固定時(shí)刻讀取不同節(jié)點(diǎn)的時(shí)間,從而獲得節(jié)點(diǎn)間的同步誤差,如圖4中的AB/CD部分。對(duì)于基準(zhǔn)時(shí)間,有T=t,故圖中ACD為等腰直角三角形,可以得到AC=CD。如果能夠得到點(diǎn)A和點(diǎn)C之間的時(shí)間差值Δt,就可以獲得測試節(jié)點(diǎn)在t+Δt時(shí)刻的同步誤差ΔT′=Δt。這樣可以將同步誤差的測試轉(zhuǎn)換為對(duì)Δt的測量:在相同的邏輯時(shí)間T時(shí)刻對(duì)應(yīng)不同的物理時(shí)間的差值。與傳統(tǒng)方法不同,這里將t+Δt時(shí)刻的同步誤差映射到兩個(gè)節(jié)點(diǎn)邏輯時(shí)間分別到達(dá)T2時(shí),二者在物理時(shí)間的差異,如圖4中的AC,也就是通過測試物理時(shí)間t和t+Δt時(shí)刻的差異反映測試節(jié)點(diǎn)在t+Δt時(shí)刻與基準(zhǔn)時(shí)間的同步誤差。
同步誤差的測試頻率取決于節(jié)點(diǎn)內(nèi)I/O變化的頻率,節(jié)點(diǎn)間可以進(jìn)行較高頻率I/O端口操作從而獲得實(shí)時(shí)性較高的同步誤差采集。相對(duì)于無線觸發(fā)查詢方法,本文的方法不占用無線通信資源,對(duì)無線網(wǎng)絡(luò)的正常運(yùn)行不產(chǎn)生影響,可以更準(zhǔn)確、實(shí)時(shí)地反映時(shí)間同步的運(yùn)行效果。
3 實(shí)驗(yàn)平臺(tái)
根據(jù)以上所述方法建立實(shí)驗(yàn)平臺(tái),測試了8路同步誤差數(shù)據(jù)采集,周期為20 ms,測得如圖6所示同步誤差曲線圖。如果需要長時(shí)間的歷史數(shù)據(jù)分析,則可以通過歷史記錄做進(jìn)一步分析。通過同步誤差測試平臺(tái)可以對(duì)同步算法效果進(jìn)行實(shí)時(shí)跟蹤分析,有利于提高算法設(shè)計(jì)效率。
對(duì)目前應(yīng)用廣泛的FTSP算法進(jìn)行測試,分別使用本文所述平臺(tái)和傳統(tǒng)的無線查詢方式測試,獲得圖7所示對(duì)比圖。查詢方式一般使用30 s查詢間隔(如參考文獻(xiàn)[5]中對(duì)5×12規(guī)模節(jié)點(diǎn)),而且占用無線通信資源,隨著規(guī)模的增大需要延長查詢時(shí)間,很難直觀反映同步誤差的實(shí)時(shí)變化,如圖7中菱形點(diǎn)相對(duì)較稀疏。而采用本文所述方法的測試平臺(tái)不占用無線通信資源,可以實(shí)現(xiàn)快速誤差采集。經(jīng)過測試可以在50 ms采集周期下工作而不影響網(wǎng)絡(luò)正常運(yùn)行,為同步設(shè)計(jì)過程中實(shí)時(shí)監(jiān)測誤差變化提供有力工具。
本文提出的基于誤差映射的測量方法將傳統(tǒng)的固定時(shí)刻的誤差映射到物理時(shí)刻的差值,并通過FPGA的高速采集功能獲得實(shí)時(shí)的同步誤差。在對(duì)典型時(shí)間同步協(xié)議的測試過程中顯示了其高精度和實(shí)時(shí)性的優(yōu)勢,具備了完全的工程實(shí)用性。
參考文獻(xiàn)
[1] 楊卓靜,孫宏志,任晨虹.無線傳感器網(wǎng)絡(luò)應(yīng)用技術(shù)綜述[J].中國科技信息,2010(13):127-129.
[2] 于海斌,曾鵬.智能無線傳感器網(wǎng)絡(luò)系統(tǒng)[M].北京:科學(xué)出版社,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] 徐朝農(nóng),徐勇軍.無線傳感器網(wǎng)絡(luò)同步誤差測量方法[J].計(jì)算機(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.