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