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