前言:本站為你精心整理了用于WSN的時(shí)間同步方式研究范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
本文作者:徐頂鑫易衛(wèi)東陳永銳孫昊作者單位:中國(guó)科學(xué)院研究生院信息科學(xué)與工程學(xué)院
0引言
無(wú)線傳感器網(wǎng)絡(luò)(wirelesssensornetworks,WSN)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的1個(gè)多跳自組織網(wǎng)絡(luò)。它以低功耗、低成本、分布式和自組織的特點(diǎn)帶來(lái)了信息感知的一場(chǎng)變革。
在過(guò)去的十幾年中,國(guó)內(nèi)外學(xué)者對(duì)WSN的研究與應(yīng)用投入了極大的熱情。在環(huán)境感知與監(jiān)測(cè)[1]、無(wú)線定位與跟蹤[2]、醫(yī)療監(jiān)護(hù)[3]、智能家居[4]等領(lǐng)域都展現(xiàn)出廣泛的應(yīng)用前景。時(shí)間同步是WSN的1項(xiàng)關(guān)鍵支撐技術(shù)[5]。WSN是一種分布式系統(tǒng),各個(gè)節(jié)點(diǎn)的本地時(shí)鐘相互獨(dú)立,這就導(dǎo)致各個(gè)節(jié)點(diǎn)的系統(tǒng)時(shí)間互不相同。許多WSN應(yīng)用需要各節(jié)點(diǎn)協(xié)同工作,單個(gè)節(jié)點(diǎn)采集的原始數(shù)據(jù)需要和其他節(jié)點(diǎn)數(shù)據(jù)統(tǒng)一處理才能獲取有用信息[6]。另一方面,時(shí)間同步在WSN通信協(xié)議的設(shè)計(jì)方面也有重要的應(yīng)用。
MAC協(xié)議的設(shè)計(jì)目標(biāo)主要包括節(jié)省能耗和防止沖突碰撞。TDMA在這方面具有先天的優(yōu)勢(shì),而時(shí)間同步是TDMA的基礎(chǔ)。傳感器節(jié)點(diǎn)的系統(tǒng)時(shí)間由計(jì)時(shí)器產(chǎn)生,計(jì)時(shí)信號(hào)一般由晶體振蕩器提供。由于晶振的制造工藝有差別,運(yùn)行環(huán)境有變化,計(jì)時(shí)頻率很難保持一致,導(dǎo)致各個(gè)節(jié)點(diǎn)的時(shí)間很容易失去同步。因此需要設(shè)計(jì)專門的同步算法來(lái)保證網(wǎng)絡(luò)中節(jié)點(diǎn)的時(shí)間同步。傳統(tǒng)的時(shí)間同步方法主要有NTP(networktimeprotocol)[7]和GPS(globalpositioningsystem)。NTP是Internet上的標(biāo)準(zhǔn)時(shí)間同步協(xié)議,主要為互聯(lián)網(wǎng)中所有主機(jī)提供標(biāo)準(zhǔn)UTC(coordinateduniversaltime)時(shí)間。GPS用于進(jìn)行全球高精度導(dǎo)航和定位。NTP和GPS都需要特定的設(shè)備或?qū)S霉?jié)點(diǎn)才能實(shí)現(xiàn)同步。由于傳感器節(jié)點(diǎn)硬件資源有限,節(jié)能要求比較高等特點(diǎn)使得這2種傳統(tǒng)時(shí)間同步方法都無(wú)法直接在wsn中使用。
目前針對(duì)WSN的時(shí)間同步方案主要分為以下3種[8]:1)基于發(fā)送者-接受者的方法。例如FTSP(floodingtimesynchronizationprotocol)[9],參考節(jié)點(diǎn)(發(fā)送方)在同步包中加入其本地時(shí)鐘信息,待同步節(jié)點(diǎn)(接收方)收到同步包后,提取出時(shí)間信息,并據(jù)此校準(zhǔn)自己的時(shí)鐘。2)基于發(fā)送者-接收者交互的時(shí)間同步算法。例如TPSN(timing-syncprotocolforsensornetworks)[10],同步包的數(shù)據(jù)流向?yàn)榇焦?jié)點(diǎn)-參考節(jié)點(diǎn)-待同步節(jié)點(diǎn),通過(guò)雙向發(fā)送同步包,抵消傳播時(shí)延。3)基于接收者-接收者交互的時(shí)間同步算法。例如RBS(referencebroadcastsynchronization)[11],其原理是利用同步包同步多個(gè)接收者之間的時(shí)間。參考節(jié)點(diǎn)廣播域內(nèi)的每個(gè)接收者將同時(shí)接收到來(lái)自參考節(jié)點(diǎn)的同步包,據(jù)此可以根據(jù)各個(gè)接收者接收到同步包時(shí)的時(shí)鐘偏差進(jìn)行校準(zhǔn)。
現(xiàn)有的時(shí)間同步算法[12-13],大都將時(shí)間同步作為1個(gè)獨(dú)立于通信協(xié)議的中間層單獨(dú)設(shè)計(jì),以使其適應(yīng)各種不同的協(xié)議應(yīng)用。這雖然會(huì)增強(qiáng)其通用性,但是卻大大增加了復(fù)雜度和維護(hù)的困難性。同時(shí)會(huì)帶來(lái)大量的維護(hù)開(kāi)銷,增加節(jié)點(diǎn)額外的能耗,造成通信協(xié)議能量效率的下降。因此,1個(gè)好的時(shí)間同步方案應(yīng)當(dāng)在不犧牲同步精度的前提下盡量減小同步帶來(lái)的能耗。通用性和專一性是一對(duì)矛盾,而WSN是面向應(yīng)用的。大量的研究實(shí)踐表明,對(duì)于WSN的協(xié)議設(shè)計(jì),很難做到像Internet一樣的標(biāo)準(zhǔn)化和通用化,而必須針對(duì)不同的應(yīng)用場(chǎng)景做特定的優(yōu)化。從這種思想出發(fā),本文針對(duì)數(shù)據(jù)采集這一WSN典型應(yīng)用場(chǎng)景,設(shè)計(jì)了1個(gè)低能耗、高精度的時(shí)間同步方案LCTS(lightweightcollectiontreebasedsynchronization)。
1LCTS的設(shè)計(jì)原理
1.1同步包時(shí)延分析
不同節(jié)點(diǎn)之間的時(shí)間同步必須依靠同步包的收發(fā)來(lái)對(duì)相關(guān)節(jié)點(diǎn)的時(shí)鐘進(jìn)行校準(zhǔn)。同步包的收發(fā)必然帶來(lái)時(shí)延,因此在校準(zhǔn)時(shí)必須對(duì)這部分的時(shí)延進(jìn)行補(bǔ)償。時(shí)間同步的難點(diǎn)在于該時(shí)延的分布具有隨機(jī)性。為了精確的補(bǔ)償,我們首先必須分析時(shí)延的特性,如表1所示。從表1可以看出,同步包的時(shí)延組成比較復(fù)雜,而且各部分時(shí)延分布特性很不一樣。時(shí)延分布不確定性的最大來(lái)源是信道接入,這一點(diǎn)對(duì)于WSN尤為突出。本文的設(shè)計(jì)思路是盡量減少不確定性時(shí)延,為此我們將同步包的收發(fā)置于軟件所能控制的最底層———物理層的驅(qū)動(dòng)程序中。同步包一旦打上時(shí)間戳就可以立即被發(fā)送。此時(shí),時(shí)延的組成將主要由節(jié)點(diǎn)硬件決定(傳輸時(shí)延,編解碼時(shí)延),而由復(fù)雜多變的無(wú)線信道引入的時(shí)延可以剔除。對(duì)于接受方由于中斷響應(yīng)被關(guān)閉引入的延時(shí)不確定性,我們可以通過(guò)周期性重復(fù)發(fā)送同步包來(lái)解決。
1.2周期性同步
同步包的周期性發(fā)送具有重要意義。從長(zhǎng)時(shí)間看,節(jié)點(diǎn)晶振具有頻偏,導(dǎo)致節(jié)點(diǎn)計(jì)時(shí)不穩(wěn)定。但是在短時(shí)間內(nèi),可以認(rèn)為晶振是穩(wěn)定的,從而計(jì)時(shí)是相對(duì)準(zhǔn)確的。因此我們可以通過(guò)周期性的同步來(lái)解決長(zhǎng)時(shí)頻率飄移的問(wèn)題。數(shù)據(jù)包的周期性發(fā)送會(huì)產(chǎn)生能耗,但是從協(xié)議棧整體來(lái)看,用于網(wǎng)絡(luò)維護(hù)的周期性控制包例如路由信息等是不可缺少的,因此我們可以將同步包完全嵌入上層協(xié)議棧產(chǎn)生的協(xié)議控制包中,將時(shí)間戳打在周期性的控制包包尾。這樣,時(shí)間同步將不會(huì)帶來(lái)任何額外的數(shù)據(jù)包開(kāi)銷,而只是將已有的包長(zhǎng)度增加幾個(gè)字節(jié),可以大大節(jié)省用于時(shí)間同步的能耗。事實(shí)上,在我們的實(shí)現(xiàn)中,同步包只需在MAC層的BEACON控制包包尾添加9個(gè)字節(jié),就能統(tǒng)一實(shí)現(xiàn)同步、路由和網(wǎng)絡(luò)維護(hù)等功能。
1.3樹(shù)形拓?fù)?/p>
正如前文所講,WSN是面向應(yīng)用的。本文設(shè)定的應(yīng)用場(chǎng)景是數(shù)據(jù)采集,此類應(yīng)用中,通常網(wǎng)絡(luò)層會(huì)維護(hù)1個(gè)以SINK節(jié)點(diǎn)為根節(jié)點(diǎn)的數(shù)據(jù)采集樹(shù)。網(wǎng)絡(luò)中所有的數(shù)據(jù)流向都是從子結(jié)點(diǎn)流向根節(jié)點(diǎn)并最終流向SINK節(jié)點(diǎn)。每一個(gè)節(jié)點(diǎn)都只與其父節(jié)點(diǎn)同步,只要樹(shù)形拓?fù)浯嬖冢湍茏罱K實(shí)現(xiàn)全網(wǎng)同步。時(shí)間同步是為了數(shù)據(jù)交換,在數(shù)據(jù)采集樹(shù)中,所有的數(shù)據(jù)交換都是在父節(jié)點(diǎn)-子節(jié)點(diǎn)對(duì)中進(jìn)行,只要保證子節(jié)點(diǎn)與父節(jié)點(diǎn)同步,就能實(shí)現(xiàn)高效數(shù)據(jù)傳輸。
2LCTS的設(shè)計(jì)與實(shí)現(xiàn)
2.1節(jié)點(diǎn)時(shí)間的表示
在Tmote-Sky節(jié)點(diǎn)中,節(jié)點(diǎn)時(shí)間由外部時(shí)鐘源(晶振)產(chǎn)生。其計(jì)時(shí)方法涉及到3個(gè)(寄存器)變量:TAR,TACCR1和count。TAR是1個(gè)16位的硬件寄存器,根據(jù)外部時(shí)鐘源計(jì)數(shù),能夠得到以tick(1tick=2-15s)為單位的時(shí)間,計(jì)時(shí)精度達(dá)到微秒級(jí)。TACCR1是捕獲寄存器,當(dāng)TAR=TACCR1時(shí)能產(chǎn)生TIMER中斷,通過(guò)將TACCR1的遞增步長(zhǎng)設(shè)定為固定值INTERVAL可以對(duì)TIMER中斷計(jì)數(shù),實(shí)現(xiàn)更大范圍計(jì)時(shí)。count是1個(gè)32位的軟件計(jì)數(shù)器,記錄TIMER中斷次數(shù),從而得到毫秒級(jí)計(jì)時(shí)。
2.2同步包的設(shè)計(jì)
所謂同步包,即是在包尾打上時(shí)間戳的BEACON包,其格式如圖1所示。TYPE為標(biāo)志位,表明是否需要同步;SenderAddr為發(fā)送者地址,接收者據(jù)此判斷是否為其父節(jié)點(diǎn),從而決定是否需要與其同步;TAR和count為時(shí)間戳,表明發(fā)送節(jié)點(diǎn)當(dāng)前系統(tǒng)時(shí)間。TACCR1的值,可以由TAR和count推出,因此不必發(fā)送。
2.3時(shí)鐘校準(zhǔn)
由于節(jié)點(diǎn)時(shí)間由TAR、TACCR1和count唯一確定,所以如果能保證2個(gè)節(jié)點(diǎn)的這3對(duì)參數(shù)一致,即能實(shí)現(xiàn)時(shí)間同步。當(dāng)接收者接收到同步包后可以根據(jù)時(shí)間戳信息校準(zhǔn)自己時(shí)間,校準(zhǔn)原理如下:(略)。TAR1和count1都可以直接從同步包中提取出來(lái),INTERVAL是常量,因此只有1個(gè)未知量ΔT。ΔT是同步包的時(shí)延,需要進(jìn)行估計(jì)。ΔT是1個(gè)非常重要的參數(shù),對(duì)ΔT估計(jì)的精度直接影響同步精度。
2.4同步過(guò)程描述
網(wǎng)絡(luò)在初始化時(shí)會(huì)建立1個(gè)以SINK節(jié)點(diǎn)為根節(jié)點(diǎn)的數(shù)據(jù)采集樹(shù)。SINK節(jié)點(diǎn)周期性地發(fā)送包含時(shí)間戳的BEACON包,子結(jié)點(diǎn)在收到BEACON包后解析出時(shí)間戳,并按照式(1)~式(3)校準(zhǔn)自己的時(shí)鐘。每個(gè)節(jié)點(diǎn)在完成同步(亦即入網(wǎng))后也會(huì)按照SINK節(jié)點(diǎn)的方式廣播BEACON包,以方便新節(jié)點(diǎn)的加入。新節(jié)點(diǎn)加入時(shí)會(huì)首先偵聽(tīng)一段時(shí)間,收集到鄰居節(jié)點(diǎn)的BEACON后會(huì)選取1個(gè)父節(jié)點(diǎn),并與之同步,從而完成入網(wǎng)。當(dāng)拓?fù)浒l(fā)生變化時(shí),掉網(wǎng)的節(jié)點(diǎn)會(huì)首先偵聽(tīng)一段時(shí)間,重新選擇父節(jié)點(diǎn),并完成同步入網(wǎng)。
3試驗(yàn)結(jié)果與分析
3.1實(shí)驗(yàn)平臺(tái)與實(shí)驗(yàn)方法
本文采用Tmote-Sky[14]硬件平臺(tái)和Contiki[15]操作系統(tǒng)。Tmote-Sky是1個(gè)廣泛應(yīng)用的節(jié)點(diǎn)硬件平臺(tái),它包括8MHzMSP430MCU,10KBRAM,48KBflash,250Kb/s射頻收發(fā)器。Contiki是1個(gè)輕量級(jí)多任務(wù)WSN操作系統(tǒng)。它完全由C語(yǔ)言實(shí)現(xiàn)。我們首先分析同步時(shí)延與包長(zhǎng)的關(guān)系,依次改變同步包長(zhǎng)度并記錄同步時(shí)延。在此基礎(chǔ)上分別提出定值校正法和跟蹤校正法2種估計(jì)同步時(shí)延的方法,分別進(jìn)行測(cè)試,得出各自同步誤差。詳細(xì)結(jié)果分析如下。
3.2同步時(shí)延與包長(zhǎng)的關(guān)系。
根據(jù)1.2.1節(jié)的分析,本文采用的同步方法引入的同步包時(shí)延主要包括傳輸時(shí)延,而它是與包長(zhǎng)直接相關(guān)的。實(shí)驗(yàn)所得ΔT與包長(zhǎng)的關(guān)系如圖2所示。圖2表明時(shí)延與包長(zhǎng)呈線性相關(guān)性,經(jīng)過(guò)線性擬合可得如下經(jīng)驗(yàn)公式:(略)。給定包長(zhǎng)L,我們可以得到ΔT,然后根據(jù)式(1)可以進(jìn)行校準(zhǔn),我們稱此方法為定值校正法。下面我們來(lái)分析該方法的同步誤差。
3.3定值校正法
定值校正法的校準(zhǔn)公式如式(5)所示:(略)。圖3所示為定值校正法的誤差分布圖,其數(shù)據(jù)的概率統(tǒng)計(jì)結(jié)果見(jiàn)表2,可見(jiàn)其同步誤差均值為0.968tick,即29.54μs,均方差為1.2054tick。為進(jìn)一步分析同步誤差隨時(shí)間的變化,得到同步誤差的時(shí)序圖如圖4所示。該圖表明在短時(shí)間小區(qū)間內(nèi)同步誤差較為穩(wěn)定,而在長(zhǎng)時(shí)間大區(qū)間內(nèi)同步誤差呈周期性變化。根據(jù)這一特性,我們可以采用跟蹤校正法來(lái)估計(jì)同步誤差。
3.4跟蹤校正法
跟蹤校正法的校正公式如式(6)所示:(略)。其同步誤差分布如圖5所示,其數(shù)據(jù)的概率統(tǒng)計(jì)結(jié)果如表2所示??梢?jiàn)其同步誤差為0.4114tick,即12.55μs,均方差為0.7003tick。對(duì)誤差的時(shí)序進(jìn)行分析得到同步誤差的時(shí)序圖如圖6所示。與定值校正法對(duì)比,可以發(fā)現(xiàn)跟蹤校正法性能有較大的提升,既能保證較高的精度(平均誤差減少57.5%),又能保證較好的穩(wěn)定性(均方差減少49%)。因此在同步精度較高的場(chǎng)所可以采用跟蹤校正法。在同步精度低的場(chǎng)合可使用簡(jiǎn)單的定值校正法。RBS[11]和TPSN[10]的同步誤差分別為29.13μs和16.9μs,與LCTS相當(dāng),但是LCTS在能耗方面更有優(yōu)勢(shì)。
3.5能量分析
WSN節(jié)點(diǎn)的能耗主要由射頻模塊的數(shù)據(jù)收發(fā)產(chǎn)生,因此我們可以通過(guò)同步包收發(fā)次數(shù)來(lái)比較不同同步算法的能耗。考慮在1個(gè)廣播域內(nèi)1個(gè)參考節(jié)點(diǎn)n個(gè)接收節(jié)點(diǎn)時(shí)各算法的同步開(kāi)銷如表3所示[16]。其中K為RBS算法時(shí)間記錄次數(shù),K越大同步精度越高。從表3中可以看出與RBS和TPSN相比,LCTS可以大大減少同步包的收發(fā)次數(shù),因此可以降低能耗。
4結(jié)論
本文針對(duì)面向數(shù)據(jù)采集應(yīng)用的WSN提出了1個(gè)輕量級(jí)的基于數(shù)據(jù)采集樹(shù)的低能耗、高精度時(shí)間同步方案LCTS,并進(jìn)一步在該方案的基礎(chǔ)上提出了定值校正法和跟蹤校正法2種同步校正方法。通過(guò)在Tmote-Sky平臺(tái)上對(duì)該方案進(jìn)行實(shí)驗(yàn)評(píng)估,得出了同步誤差的概率分布圖以及時(shí)域變化特性。大量長(zhǎng)時(shí)間的實(shí)驗(yàn)測(cè)試表明,LCTS可以實(shí)現(xiàn)μs級(jí)(<100μs)的同步,同時(shí)具有低開(kāi)銷、低能耗的特點(diǎn)。跟蹤校正法相對(duì)于定值校正法具有更高的精度,同步誤差的均值和均方差分別下降約57.5%和49%。