曾益
(復(fù)旦大學(xué),上海 201109)
隨著近年來各種傳感器相關(guān)核心技術(shù)的日益成熟(包括微機(jī)械、數(shù)字模擬集成電路工藝、無線通信以及高密度電池等),無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Networks)[1]逐漸成為研究的熱點(diǎn)并得到了廣泛應(yīng)用。傳感器網(wǎng)絡(luò)的主要任務(wù)是對(duì)分布在傳感區(qū)域的環(huán)境參數(shù)進(jìn)行采集、處理并傳輸至用戶終端。本文所介紹的低功耗傳感器網(wǎng)絡(luò)系統(tǒng)在有效完成以上任務(wù)的基礎(chǔ)上,還具有低功耗、低復(fù)雜度、高可靠性以及極強(qiáng)的擴(kuò)展能力等特點(diǎn),能夠滿足農(nóng)業(yè)、環(huán)境、建筑等行業(yè)的大部分應(yīng)用需求。
該傳感器網(wǎng)絡(luò)系統(tǒng)由傳感采集節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)以及遠(yuǎn)程用戶終端組成,如圖1所示。
其中,傳感采集節(jié)點(diǎn)負(fù)責(zé)環(huán)境數(shù)據(jù)的采集和處理,并將數(shù)據(jù)傳輸至相應(yīng)的網(wǎng)關(guān)節(jié)點(diǎn)。網(wǎng)絡(luò)中的傳感采集節(jié)點(diǎn)只能直接與其一跳范圍之內(nèi)的網(wǎng)關(guān)節(jié)點(diǎn)通信,并與相應(yīng)的網(wǎng)關(guān)節(jié)點(diǎn)一起組成一個(gè)子網(wǎng)。
網(wǎng)關(guān)節(jié)點(diǎn)作為該子網(wǎng)的對(duì)外接口,負(fù)責(zé)收集其子網(wǎng)內(nèi)所有傳感采集節(jié)點(diǎn)的信息。整個(gè)網(wǎng)絡(luò)中允許存在一個(gè)或多個(gè)網(wǎng)關(guān)及相應(yīng)的子網(wǎng)。不同的子網(wǎng)采用不同頻率進(jìn)行通信,以相互區(qū)別并防止數(shù)據(jù)傳輸沖突。網(wǎng)關(guān)節(jié)點(diǎn)與遠(yuǎn)程用戶終端可采用無線或有線的主干網(wǎng)絡(luò)連接,可選擇的方案包括無線IP網(wǎng)橋、有線以太網(wǎng)、移動(dòng)網(wǎng)絡(luò)等。網(wǎng)關(guān)節(jié)點(diǎn)與遠(yuǎn)程用戶終端間的連接方案并不在本文的主要研究范疇之內(nèi),但本文給出了采用無線IP網(wǎng)橋的實(shí)現(xiàn)方法以供參考。
圖1 傳感器網(wǎng)絡(luò)系統(tǒng)組成
由于在大多數(shù)傳感器網(wǎng)絡(luò)應(yīng)用中,傳感采集節(jié)點(diǎn)數(shù)目眾多、體積受限且分布在不易接觸的工作環(huán)境中,而網(wǎng)關(guān)節(jié)點(diǎn)則數(shù)量相對(duì)較少且可以安放在更靈活的位置,因此,在系統(tǒng)設(shè)計(jì)中假定傳感采集節(jié)點(diǎn)由普通小容量電池供電,而網(wǎng)關(guān)節(jié)點(diǎn)則可由交流電源或者大容量鋰電池或蓄電池供電。在此條件下,網(wǎng)絡(luò)的使用壽命主要由傳感采集節(jié)點(diǎn)的功耗決定,即系統(tǒng)的低功耗主要體現(xiàn)在傳感采集節(jié)點(diǎn)的低能耗上。
本設(shè)計(jì)從硬件設(shè)計(jì)以及網(wǎng)絡(luò)協(xié)議兩方面對(duì)傳感節(jié)點(diǎn)的能耗進(jìn)行了優(yōu)化,從而保證傳感采集節(jié)點(diǎn)在系統(tǒng)運(yùn)作中的低功耗。在硬件設(shè)計(jì)方面,系統(tǒng)以TI公司低功耗射頻單片機(jī)CC1110為核心;而網(wǎng)絡(luò)協(xié)議則采用了自主研發(fā)的低功耗Sensor-Push傳感器網(wǎng)絡(luò)協(xié)議。
系統(tǒng)中的傳感采集節(jié)點(diǎn)由核心電路板、電池以及傳感器三部分組成,其實(shí)物如圖2所示。核心電路板基于TI的低功耗射頻單片機(jī)CC1110,它包括射頻阻抗匹配電路、鋰電池接口、外接電源接口、充電電路、線性電壓轉(zhuǎn)換電路、傳感器接口、傳感器電源控制電路、地址設(shè)定輸入、節(jié)點(diǎn)狀態(tài)指示等功能模塊,如圖3所示。其中,射頻阻抗匹配電路完成CC1110輸出至50 Ω天線的阻抗轉(zhuǎn)換;鋰電池接口連接鋰電池,用于提供整個(gè)傳感采集節(jié)點(diǎn)的電源;外接電源接口連接外部直流電源輸出,通過充電電路對(duì)鋰電池實(shí)施充電;線性電壓轉(zhuǎn)換電路將鋰電池電壓轉(zhuǎn)為系統(tǒng)所需工作電壓;傳感器接口連接外部傳感器,對(duì)環(huán)境數(shù)據(jù)進(jìn)行采集;傳感器電源控制電路用于在空閑時(shí)期切斷傳感器電源供應(yīng)以節(jié)省能源;地址設(shè)定通過不同的外部電阻組合配置節(jié)點(diǎn)地址;節(jié)點(diǎn)狀態(tài)指示用于標(biāo)識(shí)當(dāng)前節(jié)點(diǎn)狀態(tài),包括連接狀態(tài)及系統(tǒng)錯(cuò)誤等。
圖2 傳感采集節(jié)點(diǎn)實(shí)物圖
圖3 節(jié)點(diǎn)硬件框圖
為了支持低功耗應(yīng)用,CC1110芯片除正常的Active模式外還支持四種省電模式,即 PM0、PM1、PM2和PM3。在本網(wǎng)絡(luò)協(xié)議中,傳感采集節(jié)點(diǎn)存在以下三種工作狀態(tài):數(shù)據(jù)采集、數(shù)據(jù)傳輸及睡眠狀態(tài)。其中,數(shù)據(jù)采集和數(shù)據(jù)傳輸均對(duì)應(yīng)于CC1110的Active模式,在這兩種狀態(tài)下,節(jié)點(diǎn)工作于13 MHz內(nèi)部時(shí)鐘或外部高頻時(shí)鐘。不同的是,在數(shù)據(jù)采集狀態(tài)下,節(jié)點(diǎn)將使能傳感器電源從而讀取傳感器數(shù)據(jù);而在數(shù)據(jù)傳輸狀態(tài)下,節(jié)點(diǎn)打開射頻接口進(jìn)行數(shù)據(jù)傳輸,此時(shí)可關(guān)閉傳感器電源以節(jié)約能源;睡眠狀態(tài)對(duì)應(yīng)于芯片的PM2省電模式,CPU將停止工作而僅有內(nèi)部睡眠定時(shí)器仍然處于工作狀態(tài),睡眠時(shí)鐘可選擇內(nèi)部34 kHz低頻時(shí)鐘或外部32.768 kHz輸入,芯片可借助內(nèi)部睡眠時(shí)鐘實(shí)現(xiàn)喚醒,在該狀態(tài)下,由于所有外部接口均處于關(guān)閉狀態(tài),因此,系統(tǒng)電流可維持在10 μA以內(nèi)。借助于Sensor-Push傳感器網(wǎng)絡(luò)協(xié)議,節(jié)點(diǎn)將在大部分時(shí)間內(nèi)保持在睡眠狀態(tài),從而保證了網(wǎng)絡(luò)的低功耗。
網(wǎng)關(guān)節(jié)點(diǎn)可采取與傳感采集節(jié)點(diǎn)相類似的硬件設(shè)計(jì),但有以下同之處:
(1)網(wǎng)關(guān)節(jié)點(diǎn)除了與傳感采集節(jié)點(diǎn)相通信外,還需要裝備相應(yīng)的無線或有線主干網(wǎng)絡(luò)連接設(shè)備,本設(shè)計(jì)采用串口轉(zhuǎn)以太網(wǎng)模塊連接無線網(wǎng)橋?qū)崿F(xiàn)遠(yuǎn)程通信;
(2)網(wǎng)關(guān)節(jié)點(diǎn)一般沒有嚴(yán)格的體積限制,因此可裝備大容量鋰電池、蓄電池或者直接連接外部電源;
(3)網(wǎng)關(guān)節(jié)點(diǎn)一般不需要裝備傳感器模塊;
(4)網(wǎng)關(guān)節(jié)點(diǎn)一般對(duì)內(nèi)存空間有一定要求,需要能夠緩存一定時(shí)間的節(jié)點(diǎn)傳感信息。
一個(gè)健壯、低功耗的網(wǎng)絡(luò)協(xié)議是無線傳感器網(wǎng)絡(luò)系統(tǒng)運(yùn)行的關(guān)鍵,本系統(tǒng)采取了自主研發(fā)的低功耗Sensor-Push傳感器網(wǎng)絡(luò)協(xié)議。該協(xié)議針對(duì)無線傳感器網(wǎng)絡(luò)的典型周期性數(shù)據(jù)采集應(yīng)用進(jìn)行深度優(yōu)化,具有實(shí)現(xiàn)簡單、自組織、低功耗、高可靠性、可擴(kuò)展等特點(diǎn)。
在眾多無線傳感器網(wǎng)絡(luò)應(yīng)用中,周期性的數(shù)據(jù)采集最為典型。該類型的應(yīng)用一般要求網(wǎng)絡(luò)內(nèi)的傳感采集節(jié)點(diǎn)以一定的采樣周期對(duì)感興趣的環(huán)境數(shù)據(jù)進(jìn)行采樣,并在指定時(shí)間內(nèi)將該采樣數(shù)據(jù)傳輸至遠(yuǎn)程終端。一般情況下,其對(duì)數(shù)據(jù)延時(shí)并不敏感,節(jié)點(diǎn)只要能保證在下一個(gè)采樣來臨前將數(shù)據(jù)成功上傳即可。傳感采集節(jié)點(diǎn)通常只需和網(wǎng)關(guān)節(jié)點(diǎn)通信,而無需相互通信,如圖1所示。
可根據(jù)該應(yīng)用的數(shù)據(jù)特征對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行充分優(yōu)化,從而更好地達(dá)到低功耗、高可靠性的設(shè)計(jì)要求。本文的Sensor-Push協(xié)議即在此背景下研究而成,協(xié)議中采集節(jié)點(diǎn)將主動(dòng)向網(wǎng)關(guān)節(jié)點(diǎn)推入采樣數(shù)據(jù)而無需網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行控制或輪詢,大大簡化了上層應(yīng)用的編寫,提升了用戶體驗(yàn)。
Sensor-Push協(xié)議是一個(gè)融合了傳統(tǒng)意義上的媒體訪問接入層及應(yīng)用層的綜合協(xié)議。該協(xié)議的主要?jiǎng)?chuàng)新點(diǎn)在于實(shí)現(xiàn)了低復(fù)雜度的時(shí)分媒體訪問,并與推入方式為主的應(yīng)用相結(jié)合,從而達(dá)到了系統(tǒng)層面的優(yōu)化。該協(xié)議對(duì)物理層除要求使用無線射頻技術(shù)外不做特殊要求,但推薦使用頻移鍵控(FSK)或高斯頻移鍵控(GFSK)方式的射頻模塊,并最好能夠支持多個(gè)頻點(diǎn),以便在不同子網(wǎng)內(nèi)配置不同的頻點(diǎn),在最大程度上防止子網(wǎng)間沖突,但這并非強(qiáng)制要求。
與其他協(xié)議一樣,Sensor-Push協(xié)議同樣要求網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)擁有唯一的節(jié)點(diǎn)地址。協(xié)議中的節(jié)點(diǎn)地址由子網(wǎng)ID與網(wǎng)內(nèi)ID拼接組成,其具體位長由網(wǎng)絡(luò)設(shè)計(jì)要求決定。例如,假定網(wǎng)絡(luò)所要求支持的最大子網(wǎng)數(shù)目為4,每個(gè)子網(wǎng)內(nèi)支持的節(jié)點(diǎn)數(shù)目為64,那么節(jié)點(diǎn)地址可選擇為1 B,其中高2 bit表示節(jié)點(diǎn)所處的子網(wǎng)編號(hào),而低6 bit則表示了節(jié)點(diǎn)在相應(yīng)子網(wǎng)內(nèi)的序列號(hào)。在具體實(shí)現(xiàn)中,節(jié)點(diǎn)地址可事先燒錄或通過焊接不同上下拉電阻改變外部IO管腳電平的方式為每個(gè)節(jié)點(diǎn)分配唯一的地址,當(dāng)然實(shí)現(xiàn)方法也并不局限于此。為區(qū)別傳感采集節(jié)點(diǎn)及網(wǎng)關(guān)節(jié)點(diǎn),本設(shè)計(jì)限定網(wǎng)關(guān)節(jié)點(diǎn)的網(wǎng)內(nèi)ID為全0。
Sensor-Push協(xié)議從媒體介入角度上看,屬于時(shí)分接入?yún)f(xié)議,與常用的CSMA協(xié)議相比,時(shí)分協(xié)議能更加有效地防止沖突且具有更高的能源利用率,這在節(jié)點(diǎn)密度較高的傳感器網(wǎng)絡(luò)應(yīng)用中尤為突出。根據(jù)周期性數(shù)據(jù)采集的特點(diǎn),協(xié)議將時(shí)間分為長度以Tp為采樣間隔的各個(gè)傳輸周期,在每個(gè)傳輸周期內(nèi)再分割為以Tl為間隔的n個(gè)時(shí)隙,如圖4所示。
圖4 Sensor-Push協(xié)議時(shí)間分割
時(shí)鐘同步及時(shí)隙分配是時(shí)分協(xié)議的兩個(gè)研究重點(diǎn),在這里,為敘述方便,假定時(shí)鐘同步已經(jīng)完成,首先對(duì)時(shí)隙分配進(jìn)行介紹:Sensor-Push協(xié)議規(guī)定傳感采集節(jié)點(diǎn)根據(jù)自身的網(wǎng)內(nèi)ID確定其所擁有的時(shí)隙,并在該時(shí)隙內(nèi)進(jìn)行采樣數(shù)據(jù)傳輸。例如,網(wǎng)內(nèi)ID為2的節(jié)點(diǎn)將在時(shí)隙2內(nèi)發(fā)送采樣數(shù)據(jù)。需要說明的是,為保證節(jié)點(diǎn)分配的時(shí)隙不重疊,實(shí)現(xiàn)中應(yīng)設(shè)定單周期內(nèi)時(shí)隙數(shù)目n≥子網(wǎng)內(nèi)的所允許的最大節(jié)點(diǎn)數(shù)目。
由于數(shù)據(jù)流主要從傳感采集節(jié)點(diǎn)發(fā)送至網(wǎng)關(guān)節(jié)點(diǎn),因此協(xié)議中并未給網(wǎng)關(guān)節(jié)點(diǎn)分配時(shí)隙。由于網(wǎng)關(guān)節(jié)點(diǎn)供電狀態(tài)較好且對(duì)能源利用率要求相對(duì)較低,為簡化實(shí)現(xiàn),網(wǎng)關(guān)節(jié)點(diǎn)將一直處于接收狀態(tài)以接收任何可能的數(shù)據(jù)包。與網(wǎng)關(guān)節(jié)點(diǎn)不同,傳感采集節(jié)點(diǎn)將僅在其所擁有的時(shí)隙內(nèi)向網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送包含傳感信息的數(shù)據(jù)包。為提高數(shù)據(jù)傳輸?shù)目煽啃?,傳感采集?jié)點(diǎn)在發(fā)送完數(shù)據(jù)包后還將等待網(wǎng)關(guān)節(jié)點(diǎn)發(fā)回的應(yīng)答包(ACK數(shù)據(jù)包)以確定數(shù)據(jù)的正確接收。在此過程中,傳感節(jié)點(diǎn)可設(shè)置一定的超時(shí)時(shí)間Tack,如在該時(shí)間內(nèi)仍然未接收到應(yīng)答包,傳感節(jié)點(diǎn)可選擇進(jìn)行重發(fā)直至到達(dá)最大重發(fā)上限Nretry。應(yīng)答包是網(wǎng)關(guān)節(jié)點(diǎn)向傳感采集節(jié)點(diǎn)發(fā)送的主要數(shù)據(jù)包,它除了進(jìn)行數(shù)據(jù)包確認(rèn)外,另一個(gè)重要功能就是嵌入網(wǎng)關(guān)節(jié)點(diǎn)需要發(fā)送給傳感采集節(jié)點(diǎn)的信息。
實(shí)現(xiàn)時(shí)鐘同步的核心在于確保網(wǎng)關(guān)節(jié)點(diǎn)能夠周期性地向傳感采集節(jié)點(diǎn)廣播參考時(shí)鐘。在Sensor-Push協(xié)議中,將時(shí)間戳嵌入應(yīng)答包中,傳感節(jié)點(diǎn)在確定傳感數(shù)據(jù)被正確接收的同時(shí),能夠獲得網(wǎng)關(guān)節(jié)點(diǎn)發(fā)來的參考時(shí)鐘信息。在獲得參考時(shí)鐘后,傳感節(jié)點(diǎn)可采用一定的同步算法[2-4]進(jìn)行時(shí)鐘調(diào)整,從而實(shí)現(xiàn)與參考時(shí)鐘的同步。同步算法的選擇可根據(jù)應(yīng)用所要求的同步精度以及節(jié)點(diǎn)處理能力而定。若傳感網(wǎng)絡(luò)應(yīng)用本身對(duì)采樣時(shí)間精度沒有特殊要求,那么協(xié)議的時(shí)鐘同步的精度無需太高,僅需保證能夠正常運(yùn)行該時(shí)分協(xié)議即可,因而建議采用最簡單的延時(shí)估計(jì)TTP算法[2]以降低實(shí)現(xiàn)的復(fù)雜度。
應(yīng)答包除了嵌入時(shí)鐘信息外,甚至還可以嵌入用戶發(fā)送給網(wǎng)絡(luò)的控制命令及動(dòng)態(tài)參數(shù)等,如網(wǎng)絡(luò)的采樣周期Tp、時(shí)隙寬度 Tl等。因此,用戶可以在遠(yuǎn)程直接對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整和優(yōu)化,從而具有更強(qiáng)的靈活度和可擴(kuò)展性。時(shí)隙寬度Tl的最小值受到時(shí)鐘精度、采樣數(shù)據(jù)包和應(yīng)答包的傳輸時(shí)間的限制,一般要求Tl大于正常情況下的時(shí)鐘最大誤差與Nretry個(gè)采樣數(shù)據(jù)包以及應(yīng)答包的傳輸時(shí)間之和。
Sensor-Push的時(shí)分機(jī)制有效地防止了節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)臎_突,消除了由于沖撞而導(dǎo)致的數(shù)據(jù)丟失或重發(fā),因此通常情況下,傳感采集節(jié)點(diǎn)僅需在每個(gè)采樣周期進(jìn)行一次傳感數(shù)據(jù)采集、一次傳感數(shù)據(jù)包發(fā)送以及一次應(yīng)答包的接收即可,而在其余時(shí)間內(nèi)均可處于能耗極低的睡眠模式,具有低功耗的特性。為進(jìn)一步消除由于信道環(huán)境變化所導(dǎo)致的少量丟包,Sensor-Push協(xié)議使用了重發(fā)機(jī)制,因而能夠具有更高的可靠性。
本系統(tǒng)的實(shí)例應(yīng)用環(huán)境為某林園內(nèi)1 000 m2范圍內(nèi)的溫濕度監(jiān)測(cè),采樣間隔為30 min,最大支持的傳感采集節(jié)點(diǎn)數(shù)目為32,采樣數(shù)據(jù)需傳輸至位于1 km外的遠(yuǎn)端服務(wù)器。在系統(tǒng)設(shè)計(jì)中,使用了TI公司的CC1110芯片,將傳輸頻點(diǎn)定為433 MHz,采用1.2 Kb/s Machester編碼及GFSK調(diào)制以獲得最遠(yuǎn)的傳輸距離及最低的誤碼率。在本應(yīng)用中,由于監(jiān)測(cè)范圍不大,所有節(jié)點(diǎn)均可與網(wǎng)關(guān)節(jié)點(diǎn)直接通信,因而網(wǎng)絡(luò)中僅存在一個(gè)子網(wǎng)。網(wǎng)關(guān)節(jié)點(diǎn)通過串口轉(zhuǎn)以太網(wǎng)模塊連接無線網(wǎng)橋與1 km外的另一個(gè)無線網(wǎng)橋進(jìn)行直接通信。在Sensor-Push協(xié)議實(shí)現(xiàn)上,將采樣周期 Tp設(shè)定為30 min、時(shí)隙寬度 Tl設(shè)定為 5 s、超時(shí)時(shí)間為 500 ms、最大重傳次數(shù) Nretry為3、傳感信息的數(shù)據(jù)包為15 B、應(yīng)答包亦為15 B。應(yīng)用中采樣的溫濕度傳感器需要開啟1 s后才能獲得準(zhǔn)確的數(shù)據(jù),因而數(shù)據(jù)采集將持續(xù)1 s時(shí)間。
在上述條件下,傳感采集節(jié)點(diǎn)的平均消耗電流Iavg約為 15 μA,其計(jì)算如下:
Iavg=(5 mA×1 s+33 mA×0.1 s+20 mA×0.1 s)/30×60 s+10 μ A=15 μ A
其中,5 mA為數(shù)據(jù)采集狀態(tài)下的系統(tǒng)所消耗的電流;1 s為節(jié)點(diǎn)處于數(shù)據(jù)采集狀態(tài)下的時(shí)間;33 mA為節(jié)點(diǎn)發(fā)送傳感數(shù)據(jù)包時(shí)的工作電流;0.1 s為數(shù)據(jù)包的發(fā)送時(shí)間或應(yīng)答包的接收時(shí)間;20 mA為節(jié)點(diǎn)接收應(yīng)答包時(shí)的工作電流;10 μA為傳感節(jié)點(diǎn)處于睡眠狀態(tài)下系統(tǒng)消耗電流。根據(jù)以上計(jì)算,在配備400 mAh鋰電池的情況下,傳感采集節(jié)點(diǎn)可持續(xù)工作3年。
[1]AKYILDIZ I F, SU W, SANKARASUBRAMANIAM Y,et al.A survey on sensor networks[J].IEEE CommunicationsMagazine, 2002,40(8):102-114.
[2]ARVIND K.Probabilistic clock synchronization in distributed systems[J].IEEE Transactions on Parallel and Distributed Systems,1994,5(5):474-487.
[3]ELSON J, GIROD L, ESTRIN D.Fine-grained network time synchronization using reference broadcasts[A].Proceedings ofFifth Symposium on Operating Systems Design and Implementation (OSDI0 2002) [C].2002:147-163.
[4]Su Ping.Delay measurementtime synchronization for wireless sensor networks.IRB-TR-03, Intel Research,june 2003.
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2011年15期