劉力
(安徽中煙工業(yè)公司阜陽卷煙廠,安徽阜陽 236000)
針對無線測溫網(wǎng)節(jié)能時間同步的新方法
劉力
(安徽中煙工業(yè)公司阜陽卷煙廠,安徽阜陽 236000)
時間同步對無線傳感器網(wǎng)絡(luò)的應(yīng)用至關(guān)重要。由于無線測溫網(wǎng)工作環(huán)境的限制和網(wǎng)絡(luò)以及節(jié)點的自身因素,使得現(xiàn)有的時間同步方法對于網(wǎng)絡(luò)的適用度不高。為解決這些問題,筆者提出了一種精度高、功耗低、方便快捷、可適用于無線測溫網(wǎng)的節(jié)能時間同步方法。網(wǎng)絡(luò)時間同步的任務(wù)主要由主節(jié)點完成,從節(jié)點僅完成必要的任務(wù)。主節(jié)點根據(jù)影響實時時鐘偏差的因素,計算出一個周期內(nèi)與從節(jié)點之間的實時時鐘誤差是否在允許范圍內(nèi),由此判斷是否將校正信息發(fā)送給從節(jié)點進(jìn)行相應(yīng)的同步操作。而為了減少從節(jié)點空閑偵聽的能耗和避免從節(jié)點間出現(xiàn)網(wǎng)絡(luò)碰撞現(xiàn)象,從節(jié)點采用周期性自喚醒工作模式,且為了保證良好的同步精度,采用秒脈沖更新補償操作。最后通過仿真驗證該方法的可行性與其優(yōu)勢。
無線測溫網(wǎng);節(jié)能;時間同步
低速無線個域網(wǎng)(Low Rate Wireless Personal Area Networks, LR-WPAN)作為無線傳感器網(wǎng)絡(luò)的重要分支,是一種覆蓋范圍相對較小的無線網(wǎng)絡(luò),是為實現(xiàn)活動半徑小、業(yè)務(wù)類型豐富、面向特定群體、無線無縫連接而提出的新興無線通信網(wǎng)絡(luò)技術(shù)。能夠有效地解決“最后幾米電纜”的問題,從而將無線聯(lián)網(wǎng)進(jìn)行到底。其中采用一種節(jié)點裝置作為主控,其他節(jié)點裝置作為從屬的無線測溫網(wǎng)絡(luò)節(jié)點以其結(jié)構(gòu)簡單、數(shù)據(jù)率較低、通信距離近、功耗低、成本低等優(yōu)點被廣泛地應(yīng)用于現(xiàn)代化工業(yè)、農(nóng)業(yè)等需要進(jìn)行溫度監(jiān)測的領(lǐng)域。
在無線測溫網(wǎng)絡(luò)中,從屬節(jié)點裝置通常采用電池供電,且不易更換,因此,節(jié)能問題便是網(wǎng)絡(luò)節(jié)點設(shè)計中的首要問題。一種典型的解決方案就是對節(jié)點使用休眠與喚醒機制,在多數(shù)情況下使節(jié)點處于低功耗睡眠狀態(tài),僅在合適的情況下將其喚醒進(jìn)行工作。為此,就需要全網(wǎng)節(jié)點的狀態(tài)切換連貫一致,保持一個統(tǒng)一的時間標(biāo)準(zhǔn),以便進(jìn)行準(zhǔn)確的操作。不僅如此,網(wǎng)絡(luò)的數(shù)據(jù)融合、測距定位等協(xié)議和應(yīng)用都依賴于時間同步。而時間同步的目的就是使網(wǎng)絡(luò)中的節(jié)點擁有相同的時間基準(zhǔn),即不同的節(jié)點可以保持相同的時鐘,使網(wǎng)絡(luò)中各節(jié)點可以協(xié)同工作。然而由于網(wǎng)絡(luò)中的節(jié)點都是獨立工作的,都有自己的本地時鐘,且不同節(jié)點的晶體振蕩器會因環(huán)境以及老化等因素出現(xiàn)偏差,即使在某一時刻所有節(jié)點時鐘都已達(dá)到同步,在另一時刻節(jié)點時鐘也會出現(xiàn)偏差,引起網(wǎng)絡(luò)碰撞、丟包、延時甚至癱瘓。因此,時間同步就需要盡量消除或減少上述由溫度引起的晶體振蕩器的誤差而導(dǎo)致的實時時鐘的偏差,然而如何在有限的通信和存儲資源、有限的計算能力和能量的約束下消除實時時鐘的偏差,在保證網(wǎng)絡(luò)魯棒性的前提下實現(xiàn)網(wǎng)絡(luò)節(jié)點的時間同步就變得非常重要。
目前現(xiàn)有的時間同步方法主要包括以下三類:基于全局的時間同步、基于廣播的時間同步和基于精準(zhǔn)時鐘芯片的時間同步。傳統(tǒng)的時間同步協(xié)議NTP、GPS均是基于全局的時間同步的典型代表,其基本思想都是使網(wǎng)絡(luò)保持與世界標(biāo)準(zhǔn)時間UTC同步。其中NTP協(xié)議是在Internet上廣泛使用的協(xié)議,達(dá)到了10ms的同步精度,但由于它只適用于結(jié)構(gòu)相對穩(wěn)定、鏈路很少失敗的有線網(wǎng)絡(luò)系統(tǒng)且消息開銷較大而不適合無線網(wǎng)絡(luò)。GPS方法是通過給每個節(jié)點配備GPS模塊來獲得精準(zhǔn)的時間,使網(wǎng)絡(luò)節(jié)點時間與標(biāo)準(zhǔn)時間一致,但由于GPS信號穿透性較差、且成本高、體積大、能耗大,使得GPS不能廣泛適用于無線測溫網(wǎng)絡(luò)的節(jié)點上。RBS、TPSN是基于廣播的時間同步算法,其中RBS算法用“第三方廣播”的思想讓參照節(jié)點利用物理層廣播周期性地向網(wǎng)絡(luò)中的其他節(jié)點發(fā)送參照廣播,廣播域中的節(jié)點用自己的本地時間記錄各自的包接收時間,并相互交換時間信息,因而進(jìn)行同步,該方法完全排除了發(fā)送方對同步的影響,達(dá)到了較高的同步精度。但算法具有較大的消息開銷,對于n個節(jié)點的單跳節(jié)點,需要O(n2)的時間交換。TPSN算法通過分層的拓?fù)浣Y(jié)構(gòu)實現(xiàn)網(wǎng)絡(luò)所有節(jié)點的同步,缺點是計算量大,能量開銷大?;诰珳?zhǔn)時鐘芯片同步主要是通過對節(jié)點本地時鐘的校正來進(jìn)行時間同步。通常的方案是采用帶溫度補償?shù)膶崟r時鐘芯片對由溫度引起的晶體振蕩器的頻率誤差進(jìn)行補償,校正節(jié)點本地時鐘來實現(xiàn)時間同步,然而由于此類芯片的功耗較大不能滿足網(wǎng)絡(luò)低功耗的設(shè)計要求,同時時鐘的校正以單個節(jié)點為標(biāo)準(zhǔn),精度不高,并不能實現(xiàn)與全網(wǎng)節(jié)點的真正同步。
由上述可以知道,由于無線測溫網(wǎng)工作環(huán)境的限制和網(wǎng)絡(luò)以及節(jié)點的自身因素,使得現(xiàn)有的時間同步方法對于網(wǎng)絡(luò)的適用度不高,且采用現(xiàn)有的時間同步方法存在精度低、功耗大等缺點。因此,提供一種高精度、低功耗且方便快捷可適用于無線測溫網(wǎng)的節(jié)能時間同步方法成為目前亟需解決的問題,筆者提出建立主從節(jié)點的控制模型,并通過計算主從節(jié)點的溫度差導(dǎo)致的頻率誤差,由主節(jié)點在從節(jié)點自喚醒時向其發(fā)送時間頻率調(diào)整信息,達(dá)到主從節(jié)點時間同步。該方法可動態(tài)補償由溫度引起的時間偏差且低功耗,時間快同步,適合無線測溫網(wǎng)絡(luò)對時間同步的要求。
如圖1所示建立無線測溫網(wǎng)絡(luò)模型,其中包括一個主節(jié)點和N個從節(jié)點,主節(jié)點與PC機通過串行通信相連,采用固定電源供電;從節(jié)點與主節(jié)點通過無線通信相連,采用電池供電。因此,網(wǎng)絡(luò)的時間同步就是要保證網(wǎng)絡(luò)在穩(wěn)定可靠協(xié)同工作的前提下盡可能地節(jié)約從節(jié)點的能量消耗,延長網(wǎng)絡(luò)的生存周期。
圖1 無線傳感器網(wǎng)絡(luò)模型
據(jù)此,系統(tǒng)時間同步模型的設(shè)計如下。
2.1 確定相對同步計算表的建立階段
首先需確定主節(jié)點的初始化同步周期,因節(jié)點所選擇的晶體振蕩器的老化率特性是呈對數(shù)變化規(guī)律,可用數(shù)學(xué)表示為:
式中:a為初始老化,通常由時間確定;b為瞬時老化率。
從國外的一些老化率指標(biāo)的制定來看,沒有準(zhǔn)確的規(guī)律性。根據(jù)上述晶振老化呈對數(shù)變化的公式,我們設(shè)定:a=2074.73,b=-610,代進(jìn)公式計算可得結(jié)果如下表:
故根據(jù)無線網(wǎng)絡(luò)節(jié)點時間同步的精度要求以及能量節(jié)省等方便考慮,主節(jié)點建立以年為周期的初始化同步模式,設(shè)定5年的同步周期模式,每一年進(jìn)行一次初始化同步,從而消除晶體振蕩器因老化帶來的時鐘誤差,提高時間同步的精度。
其次需確定同一型號批次的主從節(jié)點晶體振蕩器頻率偏差固有系數(shù)a和T0:測量不同溫度T下晶體振蕩器頻率偏差y= Δf/f0,然后利用最小二乘法[5]擬合出類似如圖2所示的晶體振蕩器頻率偏差的拋物線方程:
取某固定溫度帶入即可得出拋物線系數(shù)a和轉(zhuǎn)折溫度點T0;b為晶體在轉(zhuǎn)折溫度點的頻率偏差。
圖2 晶體振蕩器頻率隨溫度變化曲線圖
最后從節(jié)點為了有效減少空閑偵聽的能耗,根據(jù)所述主節(jié)點設(shè)置的網(wǎng)絡(luò)同步周期m,設(shè)定以m為周期的自喚醒模式,即從節(jié)點每隔m周期喚醒一次進(jìn)行數(shù)據(jù)傳輸與同步工作;且為了避免節(jié)點間出現(xiàn)碰撞導(dǎo)致的網(wǎng)絡(luò)崩潰現(xiàn)象,根據(jù)其每個周期內(nèi)可進(jìn)行的最大工作時間m/n,設(shè)定每次自喚醒后的工作時間為m/2n;為了保證更高的同步精度,從節(jié)點采用秒脈沖更新補償操作進(jìn)行節(jié)點的時間同步。(注:秒脈沖更新補償:記錄寫入進(jìn)行時間同步補償?shù)臅r間t0,判讀補償時間Δt的正負(fù),若Δt>0,則從節(jié)點相對主節(jié)點是超前,從節(jié)點等待Δt-t0時間后再進(jìn)行一次脈沖更新;若Δt<0,則從節(jié)點相對主節(jié)點是滯后,從節(jié)點等待1/f0-Δt-t0時間后再進(jìn)行一次脈沖更新。)
2.2 同步階段(設(shè)定網(wǎng)絡(luò)同步時間周期m)
該階段的主要任務(wù)是主節(jié)點對從節(jié)點逐個進(jìn)行時間同步,最終使網(wǎng)絡(luò)達(dá)到整體同步。在該階段,從節(jié)點以m為周期進(jìn)行自喚醒,工作m/2n個時間周期,向主節(jié)點發(fā)送數(shù)據(jù),主節(jié)點則進(jìn)入定時中斷時間同步工作模式,工作m/n個時間周期,接收并利用從節(jié)點以m為周期自喚醒發(fā)送的數(shù)據(jù)信息計算頻率誤差差值:
其中yx表示主節(jié)點在第x時刻的頻率誤差,yxx表示從節(jié)點在第x時刻的頻率誤差,a為晶振頻率誤差的二次系數(shù),T0為晶振頻率誤差的轉(zhuǎn)折溫度點,Tx為主節(jié)點在第x時刻的溫度,Txx為主節(jié)點在第x時刻的溫度;頻率誤差累積代數(shù)和計算模型:∑Δy=Δy1+Δy2+…+Δyk;主節(jié)點通過比較∑Δy與設(shè)定頻率誤差差值允許閾值Y的大小來決定是否向從節(jié)點發(fā)送數(shù)據(jù);若|∑Δy|<Y未超過閾值則不發(fā)送數(shù)據(jù)至從節(jié)點,僅將累積誤差差值∑Δy帶入下一個m周期該從節(jié)點的同步計算中,若|∑Δy|>Y超過閾值則計算出補償時間:
并將Δt發(fā)送至從節(jié)點,在發(fā)送結(jié)束后將∑Δy清零。從節(jié)點利用接收到的數(shù)據(jù)補償信息進(jìn)行秒脈沖更新補償操作實現(xiàn)與主節(jié)點的同步。
其具體步驟如圖3所示。
圖3 時間同步操作流程圖
下面對筆者提出的時間同步方法消除從節(jié)點由溫度引起的誤差的性能進(jìn)行仿真,假定所有節(jié)點晶體振蕩器頻率的偏差固有系數(shù)a和T0均相同,主節(jié)點溫度保持不變,一定區(qū)域內(nèi)隨機分布著N個從節(jié)點與主節(jié)點組成一個連通的無線網(wǎng)絡(luò),設(shè)頻率誤差差值允許閾值為Y。
仿真中任意取一從節(jié)點P,對其在溫度變化時與主節(jié)點保持頻率同步的能力進(jìn)行仿真驗證。下圖4所示為當(dāng)主節(jié)點溫度為25度不變時從節(jié)點P在不同溫度下的晶體振蕩頻率。
圖4 P點頻率溫度變化曲線圖
由圖可看出,無論從節(jié)點溫度如何變化,其振蕩頻率均與主節(jié)點頻率保持大致相同。且同步時間快,此仿真結(jié)果與理論分析基本一致。
本文所提的時間同步算法通過分別建立主從節(jié)點相對同步計算表,在充分考慮影響節(jié)點時鐘的主要因素下,根據(jù)節(jié)點實時時鐘的誤差允許條件,進(jìn)行主從節(jié)點的時間同步操作。一方面消除網(wǎng)絡(luò)節(jié)點時鐘由晶體振蕩器老化率引起的誤差,另一方面消除網(wǎng)絡(luò)節(jié)點時鐘由晶體振蕩器頻率誤差(以溫度變化導(dǎo)致的為主)引起的誤差,同時在保證網(wǎng)絡(luò)可靠同步的基礎(chǔ)上盡可能地減少網(wǎng)絡(luò)的重復(fù)同步,不僅提高了同步的精度,而且提高了同步效率,提高了網(wǎng)絡(luò)的魯棒性。從節(jié)點進(jìn)行的周期性自喚醒操作與處理有效地減少了空閑偵聽的能耗,而且減少了網(wǎng)絡(luò)碰撞的幾率,采用的秒脈沖更新補償操作運算更是可以保證很高的同步精度。本領(lǐng)域技術(shù)人員在不脫離本文的精神和范圍內(nèi),都可以利用上述的方法和技術(shù)內(nèi)容對本文提出的技術(shù)方案做出可能的變動與修改。
[1]D L Mills1 Internet time synchronization:The network time protocol[J]1 IEEE Trans on Communications,1991,39:1482~1493.
[2]B Hofmann2Wellenhof,H Lichtenegger,J Collins1 Global Posi2tioningSystem:TheoryandPractice[M].1Berlin: SpringerVerlag,1997.
[3]J Elson,L Girod,D Estrin1 Fine2grained network time synchronization using reference broadcasts[C].1 In:Proc of the Fifth Symp on Operating systems Design and Implementation.(OSDI2002) 1 New York:ACM Press,20021 147~163.
[4]SGaneriwal,RKumar,MBSrivastava1Timing2Sync Protocol for Sensor Networks[M]1 New York:ACM Press,20031 138~ 149.
E835
A
1003-5168(2014)04-0015-03