周春良,屈衛(wèi)清,程 萍,張 琪,陸正球,黃元君
1.寧波大紅鷹學(xué)院 信息工程學(xué)院,浙江 寧波315157
2.嘉興職業(yè)技術(shù)學(xué)院 機(jī)電與汽車分院,浙江 嘉興314000
ZigBee 是短距離通信的一種新興技術(shù),具備低功耗和低成本的顯著特點(diǎn),目前此類獨(dú)立網(wǎng)絡(luò)已在國(guó)內(nèi)悄然出現(xiàn),已引起學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[1-3]。在ZigBee 網(wǎng)絡(luò)中,各傳感器節(jié)點(diǎn)都有自己的時(shí)鐘,要實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)分析以及數(shù)據(jù)融合等各種功能和技術(shù)都需要網(wǎng)絡(luò)節(jié)點(diǎn)之間的時(shí)鐘同步。同時(shí)只有達(dá)到一定精確度的時(shí)鐘同步,才能夠保證網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)相互穩(wěn)定、協(xié)調(diào)的工作,準(zhǔn)確地記錄各種任務(wù)請(qǐng)求、到達(dá)和完成的時(shí)間。因此相對(duì)于通常的分布式系統(tǒng),ZigBee 技術(shù)對(duì)時(shí)間同步的需求尤為強(qiáng)烈,可以說時(shí)間同步是ZigBee技術(shù)的一項(xiàng)支撐。
國(guó)內(nèi)外學(xué)者對(duì)時(shí)鐘同步課題的研究已有了相當(dāng)多的研究成果,在時(shí)間同步方面,提出了兩兩成對(duì)同步、一對(duì)多廣播同步、隨機(jī)游走同步和擴(kuò)散同步等一些基本的同步機(jī)制和實(shí)現(xiàn)算法,但都或多或少地存在一些缺陷與不足[4-7],主要包括通信和計(jì)算開銷大、抗干擾能力弱、能耗高、精度低、擴(kuò)展性差、假定條件無法在工程實(shí)現(xiàn)中滿足等。內(nèi)容見表1 所示。
表1 主流的ZigBee網(wǎng)絡(luò)同步技術(shù)性能指標(biāo)
自然界中存在著很多脈沖同步現(xiàn)象,如互相鄰近的螢火蟲能夠調(diào)整為同步閃耀,夏蟬可以達(dá)到群鳴的效果。早期科學(xué)家們對(duì)這類現(xiàn)象進(jìn)行了很多猜想[9-10],但并沒有給出確切的數(shù)學(xué)模型[11-14]。
1975 年,Peskin CS 建立了基于同步性的脈沖耦合振蕩器模[15]型來模擬心肌細(xì)胞的同步收縮現(xiàn)象。在這個(gè)模型中,當(dāng)一個(gè)振蕩器放電時(shí),會(huì)產(chǎn)生與其他振蕩器之間的電耦合,提升其他振蕩器的電量,使得整個(gè)振蕩器的電量趨于相同,達(dá)到同步放電的效果。他把同步系統(tǒng)建模成許多個(gè)互相耦合的振蕩器的集合,每個(gè)振蕩器由一個(gè)狀態(tài)變量x描述且滿足:
令γ=0,S0=1/T,且t∈[0,T],可以得到dx/dt=1/T。對(duì)此微分方程兩邊進(jìn)行積分可得x=t/T。令T為周期,φ=t/T為相位變量,則可得耦合振蕩器模型如下:
鑒于此模型中狀態(tài)變量x總是保持與相位變量φ相等,因此后面使用φ統(tǒng)一表示狀態(tài)變量和相位變量。
最終該耦合的振蕩器系統(tǒng)可以被建模為N個(gè)“集成-激發(fā)”(“integrate-and-fire”)的振蕩器網(wǎng)絡(luò)。每一個(gè)振蕩器均按照上述的線性關(guān)系變化。當(dāng)φi=1 時(shí),第i個(gè)振蕩器激發(fā),并且瞬間跳回狀態(tài)φi=0。同時(shí),受其影響其余所有振蕩器的狀態(tài)變量增加一個(gè)增量,或者到達(dá)閾值被激發(fā),即
其中,ε為振蕩器i的耦合強(qiáng)度。假設(shè)所有的振蕩器的耦合強(qiáng)度均為常量且分布在閉區(qū)間[a,b]上。
上述同步模型已基本適合于在ZigBee 網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn),但網(wǎng)絡(luò)受控同步能力因控制方式而異,控制律不同,在控制過程可能會(huì)引發(fā)節(jié)點(diǎn)之間的無限循環(huán)激發(fā)。因此,在設(shè)計(jì)算法時(shí),引入“不應(yīng)期”的理解來避免這一問題。在生物學(xué)中,在刺激一個(gè)生物的過程,若再次刺激該生物,該生物就不會(huì)做出回應(yīng)。這個(gè)時(shí)間段稱為“不應(yīng)期”。通過實(shí)驗(yàn)令節(jié)點(diǎn)在激發(fā)之后的一段時(shí)間內(nèi)停止接受網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)過來的數(shù)據(jù)包,以解決網(wǎng)絡(luò)中重復(fù)激發(fā)的問題。
該算法主要分為三個(gè)過程:初始化過程、數(shù)據(jù)包處理過程以及激發(fā)處理過程。
CT檢查腰椎間盤突出的確診率為83.9%,MRI檢查腰椎間盤突出的確診率為95.2%,MRI診斷的確診率高于CT診斷,對(duì)比具有統(tǒng)計(jì)學(xué)差異(P<0.05)。見表1。
(1)初始化過程
調(diào)整計(jì)數(shù)器的工作模式,初始化計(jì)數(shù)器的參數(shù),以及節(jié)點(diǎn)的耦合強(qiáng)度。然后,啟動(dòng)計(jì)數(shù)器,進(jìn)行計(jì)數(shù),接收網(wǎng)絡(luò)的中斷,啟動(dòng)隊(duì)列消息。
(2)數(shù)據(jù)包處理過程
完成初始化工作后,接受網(wǎng)絡(luò)節(jié)點(diǎn)的耦合強(qiáng)度,如果該強(qiáng)度在超出不應(yīng)期的范圍,則將該數(shù)值加到自己的計(jì)數(shù)器中。判斷計(jì)數(shù)器是否溢出,如果是則進(jìn)行激發(fā)處理。
(3)激發(fā)處理過程
當(dāng)計(jì)數(shù)器溢出時(shí),進(jìn)入激發(fā)過程。首先,重置網(wǎng)絡(luò)計(jì)數(shù)器,組織新的網(wǎng)絡(luò)節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)的耦合強(qiáng)度,將新的網(wǎng)絡(luò)數(shù)據(jù)發(fā)送出去[16]。
本實(shí)驗(yàn)在深聯(lián)科技公司研發(fā)的基于GAINS-3 的無線傳感器網(wǎng)絡(luò)上實(shí)現(xiàn)的。時(shí)鐘采用AT-mega128 上的1 號(hào)16位計(jì)數(shù)器,采用CTC 工作模式,將節(jié)點(diǎn)對(duì)應(yīng)的周期保存在OCR1A 寄存器中,即節(jié)點(diǎn)從0 開始計(jì)時(shí),當(dāng)時(shí)間達(dá)到寄存器OCR1A 保存的數(shù)值時(shí),計(jì)數(shù)器發(fā)出中斷,然后繼續(xù)從0開始計(jì)時(shí)。本實(shí)驗(yàn)使用ATMega128 的自中斷功能,把設(shè)備中ATMega128 上的INT4 引腳連接起來,從引腳的下降沿產(chǎn)生中斷,通過中斷將計(jì)數(shù)器的數(shù)值傳遞到串口。具體的設(shè)備如圖1 所示。
圖1 ZigBee測(cè)試平臺(tái)系統(tǒng)結(jié)構(gòu)
根據(jù)上文提供的算法,本實(shí)驗(yàn)通過32 位的計(jì)數(shù)器來描述節(jié)點(diǎn)的狀態(tài),計(jì)數(shù)器從0 開始計(jì)數(shù),達(dá)到T時(shí)刻,就發(fā)送中斷,直到本輪計(jì)數(shù)結(jié)束為止。在下一輪的計(jì)數(shù)中,如果該強(qiáng)度在超出不應(yīng)期的范圍,則將該數(shù)值加到自己的計(jì)數(shù)器中。
在節(jié)點(diǎn)初始化后,產(chǎn)生隨機(jī)的周期和E 值,計(jì)數(shù)器開始工作,當(dāng)計(jì)數(shù)器溢出中斷時(shí),便廣播一個(gè)數(shù)據(jù)包,該數(shù)據(jù)包中包含了節(jié)點(diǎn)編號(hào),周期,以及E 值;其數(shù)值通過公式EA=EBTB/TA來計(jì)算[17]。
每組的結(jié)果包含25 個(gè)32 位的整數(shù),計(jì)算出每個(gè)節(jié)點(diǎn)的數(shù)據(jù),對(duì)這些數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)差計(jì)算,除去這些數(shù)據(jù)中的最大值和最小值,把剩下的數(shù)據(jù)取平均數(shù)作為實(shí)驗(yàn)的結(jié)果,最后除以時(shí)鐘頻率。在實(shí)驗(yàn)中,發(fā)現(xiàn)節(jié)點(diǎn)的耦合強(qiáng)度是均勻分布的,且滿足:
其中,Ebase和d 均為整型參數(shù)。
(1)不應(yīng)期對(duì)網(wǎng)絡(luò)同步的影響
使用第3 章的算法,設(shè)置參數(shù)為:T=230 400,Ebase=T, d分別取400,600,800,1 000。得出的實(shí)驗(yàn)結(jié)果如圖2所示。其中橫坐標(biāo)r 表示為周期的比率的倒數(shù),從實(shí)驗(yàn)結(jié)果看出,當(dāng)r 比較小的時(shí)候,網(wǎng)絡(luò)同步的標(biāo)準(zhǔn)差隨著r 的增加而呈現(xiàn)略微減小的趨勢(shì),這是由于不應(yīng)期太大了,而錯(cuò)過了接收本該接收的耦合。當(dāng)r 超過5 的時(shí)候,網(wǎng)絡(luò)同步精度的標(biāo)準(zhǔn)差明顯增加,這是由于不應(yīng)期沒有超過節(jié)點(diǎn)間通信延遲的兩倍,而沒有產(chǎn)生作用。由于Gains-3 是一款兼容Mica2 的節(jié)點(diǎn),因此可以引用對(duì)Mica2 的延遲測(cè)量結(jié)論,對(duì)Mica2的延遲進(jìn)行了測(cè)量,起決定作用的延遲包括:發(fā)送/接收延遲0~100 ms,訪問延遲0~500 ms,傳送延遲10~20 ms??紤]到本文實(shí)驗(yàn)中,所有節(jié)點(diǎn)幾乎同時(shí)廣播數(shù)據(jù),因此訪問延遲應(yīng)該高于平均值,假設(shè)為300 ms,加上其他兩項(xiàng)延遲的平均值,總延遲為365 ms。除以周期2 s,結(jié)果不應(yīng)期約為0.18,與實(shí)驗(yàn)結(jié)果1/5 相吻合。實(shí)驗(yàn)中,統(tǒng)一取r=5。
圖2 不應(yīng)期大小對(duì)同步精度的影響
(2)周期對(duì)網(wǎng)絡(luò)同步的影響
分析周期對(duì)網(wǎng)絡(luò)同步精度的影響,設(shè)置參數(shù)如下:Ebase=T,d=1 000,r=5,周期T 取2 s到60 s中的30 個(gè)偶數(shù),實(shí)驗(yàn)結(jié)果如圖3 所示。
從實(shí)驗(yàn)結(jié)果看,周期對(duì)精度的變化有較大的震蕩,不同的周期得出的同步精度跨度較大。對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了線性擬合,得出同步的標(biāo)準(zhǔn)差隨著周期的增加而增加。
(3)耦合強(qiáng)度對(duì)網(wǎng)絡(luò)同步的影響
分析耦合強(qiáng)度對(duì)同步精度的影響,設(shè)置Ebase為周期T的1/2,1/3 和1/4,計(jì)算同步標(biāo)準(zhǔn)差隨d 的關(guān)系,得出的實(shí)驗(yàn)結(jié)果如圖4 所示。
圖3 周期大小對(duì)同步精度的影響
圖4 耦合強(qiáng)度對(duì)同步精度的影響
從實(shí)驗(yàn)的結(jié)果看,當(dāng)Ebase分布取1/2,1/3,1/4 時(shí)的標(biāo)準(zhǔn)差基本在0.008 附近,而和d 沒有關(guān)系。這是由于各節(jié)點(diǎn)的周期相同,節(jié)點(diǎn)之間的耦合被屏蔽掉,因此Ebase和d 對(duì)同步精度沒有影響。
(4)結(jié)論
通過以上的對(duì)比實(shí)驗(yàn),得出下列結(jié)論:
不應(yīng)期可以避免網(wǎng)絡(luò)中的數(shù)據(jù)的重復(fù)激發(fā)問題。不應(yīng)期不能設(shè)置過大,否則會(huì)屏蔽網(wǎng)絡(luò)的耦合信息,而太小會(huì)不起作用;同步精度隨著周期的增加而增大。增大了周期相當(dāng)于增加了同步操作的間隔;耦合強(qiáng)度對(duì)于系統(tǒng)同步的精度沒有影響。
基于耦合振蕩器模型的ZigBee 網(wǎng)絡(luò)時(shí)間同步算法是解決ZigBee 網(wǎng)絡(luò)時(shí)間同步問題的新思路,該研究引入不應(yīng)期的方法解決了延遲節(jié)點(diǎn)重復(fù)激發(fā)的問題。ZigBee 測(cè)試平臺(tái)的結(jié)果顯示,算法使得ZigBee 網(wǎng)絡(luò)在物理層的傳輸精度相對(duì)于經(jīng)典算法有較大的提高,提高了系統(tǒng)的時(shí)間精度使得整個(gè)ZigBee 網(wǎng)絡(luò)趨向同步,準(zhǔn)確地記錄各種任務(wù)請(qǐng)求、到達(dá)和完成的時(shí)間。在實(shí)驗(yàn)過程發(fā)現(xiàn)影響算法精度的主要原因是,在算法趨向于同步的時(shí)候,各個(gè)節(jié)點(diǎn)幾乎在同一時(shí)間發(fā)送數(shù)據(jù)包,導(dǎo)致通信的效率低下。如何找到一個(gè)機(jī)制可以避免此種情況的發(fā)生是今后要做的工作。
[1] 鄭威.基于能量高效的傳感器網(wǎng)絡(luò)路由算法研究[D].杭州:浙江大學(xué),2006.
[2] Elson J,Romer K.Wireless sensor networks:a new regime for time synchronization[J].SIGCOMM Comput Commun Rev,2003.
[3] Karl H.Protocols and architectures for wireless sensor network[M].Hoboken:Wiley,2005.
[4] 孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[5] 李虹.無線傳感器網(wǎng)絡(luò)中節(jié)能相關(guān)若干關(guān)鍵問題研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2007.
[6] Voigt T,Dunkels A,Alonso J.Solar-aware clustering in wireless sensor networks[C]//ISCC,2004.
[7] van Greunen J,Rabaey J.Lightweight time synchronization for sensor networks[C]//WSNA’03,2003.
[8] 徐朝農(nóng),徐勇軍,李曉維.無線傳感器網(wǎng)絡(luò)時(shí)間同步新技術(shù)[J].計(jì)算機(jī)研究與發(fā)展,2008,45(1):138-145.
[9] Smith H M.Synchronous flashing of fireflies[J].Science,1935,82(2120):151-152.
[10] Buck J,Buck E.Mechanism of rhythmic synchronous flashing of fireflies[J].Science,1968,159(3821):1319-1327.
[11] Blair K G.Luminous insects[J].Nature,1915,96(2406):411-415.
[12] Richmond C A.Fireflies flashing in unison[J].Science,1930,71(1847):537-538.
[13] Buck J B.Synchronous rhythmic flashing of fireflies[J].The Quarterly Review of Biology,1938,13(3):301-314.
[14] Buck J.Synchronous rhythmic flashing of fireflies II[J].The Quarterly Review of Biology,1988,63(3):265-289.
[15] Peskin C S.Self-synchronization of the cardiac pacemaker[M]//Mathematical aspects of heart physiology.New York:New York University,1975:268-278.
[16] 安竹林,徐勇軍.基于非漏電脈沖耦合振蕩器模型的無線傳感器網(wǎng)絡(luò)時(shí)間同步算法[J].高技術(shù)通訊,2011,21(11).
[17] 朱冠男,徐寧.基于線性脈沖耦合振蕩器模型的WSN 時(shí)間同步[J].武漢理工大學(xué)學(xué)報(bào),2009,31(19).