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