文獻標識碼: A
文章編號: 0258-7998(2013)03-0096-04
無線傳感器網絡WSN(Wireless Sensor Network)是信息科學的研究熱點,它是一種自組織的多跳路由無線網絡,通過在監測區域中部署大量低成本的無線傳感器節點,節點間協同工作從而實現信息采集和傳輸。
隨著傳感器技術、微處理器技術、芯片技術和無線通信技術的發展,以及片上系統SoC(System on Chip)的出現,為無線傳感器網絡提供了單芯片解決方案,極大降低了無線傳感節點的體積、功耗和成本。無線傳感網絡已被廣泛地應用到軍事、醫療監護、智能交通和倉儲管理等領域。隨著物聯網應用的推廣及成本降低,無線傳感器網絡將被更廣泛的應用[1-3]。
1 系統結構
系統的主要功能包括傳感器數據采集、ZigBee組網與通信[4]、網關管理與節點設備無線控制、傳感器數據界面顯示與計算等。本文主要工作包含無線節點硬件設計、節點程序設計、傳感器網絡組建和數據協議定義,以及節點低功耗設計。系統基于ZigBee無線通信技術組建樹狀網絡,通過傳感器節點采集并組建傳感器數據幀,通過多跳路由匯集到網關設備上,實現環境信息監測。
系統網絡拓撲結構如圖1所示[5-6],系統主要包含了網關設備(協調器,Coordinator)、路由節點和傳感器節點以及一些可擴展的接口。協調器主要負責啟動和配置整個網絡,通過掃描物理信道能量選擇一個空閑信道作為網絡的信道。路由節點(Router)主要功能為批準其他設備加入網絡、多跳路由和協助其子節點完成通信。傳感器節點主要為傳感器數據的采集與傳輸。
2 CC2530多傳感器無線節點硬件設計
CC2530是一款符合ZigBee標準的SoC芯片[7-8],集成了無線電收發器、8051內核、串口、ADC和定時器等外設,利用CC2530作為無線傳感器網絡解決方案,節點成本、體積和功耗都能夠得到大幅度降低。
CC2530射頻模塊主要完成無線信號的收發功能,負責ZigBee協議相關操作,并控制采集、存儲和處理傳感器數據。底板由供電模塊及調試端口構成,傳感器擴展板部署了溫濕度傳感器SHT11、加速度傳感器ADXL202和壓力傳感器MCS5540。
2.2 CC2530射頻模塊設計
ZigBee無線通信模塊以CC2530為核心,芯片工作電壓為2~3.6 V,節點提供了標準I/O接口,容易嵌入到其他設備中,可以替代現有的無線控制方式,并獲取設備工作記錄。
2.3 傳感器模塊設計
溫濕度傳感器采用SHT11,CC2530以P1.6、P1.7分別與DATA和SCK線連接,CC2530通過程序控制實現SHT11控制和讀寫信號。
加速度傳感器采用ADXL202實現,用來采集振動信號,ADXL202E分別從Xout和Yout輸出兩個方向的加速度信息,以不同的占空比表示,CC2530采用定時器口線P1.3、P2.0與ADXL202E連接,測量其占空比。
氣壓傳感器采用MCS5540,提供氣壓測量和溫度測量,以SCLK、DIN和DOUT組成讀寫總線,CC2530通過USART 0口與MS5540C連接。
3 基于Z-stack協議棧的節點程序設計
3.1 節點功能分析
節點程序基本功能如圖3所示,基于協議棧應用層實現,具體的功能實現按照節點的邏輯關系有所區別。
節點設備輸出控制:控制操作的發起者可以是網絡中的節點,也可能是節點自己或者網關控制平臺。如將ZigBee節點作為溫度報警裝置的控制器,當節點自身具有溫度傳感器裝置時,節點可以在溫度超過設置的范圍時發起報警。
低功耗管理為感知節點發送功率自調整機制和休眠機制,以提高對能量的使用效率,避免不必要傳輸帶來的能量損耗。鏈路檢測為支撐子節點管理和節點低功耗管理功能,檢測父子節點間鏈路可靠性、信號質量和獲取接收信號強度指示RSSI(Received Signal Strength Indication)值。
3.2 數據結構設計
網絡中傳輸的數據實體在應用層被封裝成幀,對于協議棧為透明數據。數據幀在網絡中透明傳輸,只有目的地址節點的相匹配的應用對象可對數據進行解析處理。
(1) 設備描述符數據結構
節點設備簡單描述符向協調器報告節點屬性、網絡地址、擴展地址和節點父節點網絡地址,以及支持的設備個數、類型、設備標號和控制/狀態等相關信息。設備簡單描述符結構如圖4。
NWK_Addr鎖定源/目標節點,再由C_ID鎖定節點上對應設備,從而正確地解析/控制指定節點上特定設備。
(3) 設備控制命令結構
設備控制是對指定節點的指定外設控制的過程,用戶可以通過網關發起控制,傳感器節點也可以發起控制命令??刂泼罱Y構如圖6。
3.3 基于有限狀態機的傳感器控制程序設計
傳感器節點周期性地采集并傳輸數據,通過進入休眠狀態以節省節點能量。應用層程序對象通過osal_start_timerEx( )函數,設置傳感器數據采集定時任務,基于有限狀態機FSM(Finite State Machine)的程序設計如下。
while( FSMstate_S != IDEL )
{ switch(FSMstate_S)
{ case Sensor_RD_status: //傳感器轉換
{ if( 轉換成功 )
{ ……
FSMstate_S = IDEL; //退出
}
else FSMstate_S = ResetSeriInterface ;
break;}
//其他狀態
case ResetSeriInterface: //啟動串行總線
{ ……
FSMstate_S= Sensor_RD_status; //轉換
break;}
default: FSMstate_S= IDEL ; break;
}//--switch
}//--while
3.4 節點鏈路失效管理
Z-Stack協議棧的網絡層支持節點路由管理和網絡,而因突發事件如掉電、失效和重啟等引發子節點丟失網絡,協議棧沒有提供完整的解決方案[10]。
節點失效鏈路管理,如圖7所示為父節點死亡和重啟后,造成子節點鏈路失效的情形。由于父節點因突發原因失效,如被破壞或供電中斷等,節點不能通知其相鄰節點,從而導致子節點仍然認為其父節點存在于網絡中,并不斷向其發送數據,若節點采用應答傳輸機制,則會長時間等待父節點的應答。上述兩種情形都會導致子節點與網絡的通信不可靠,節點網絡地址分配混亂和重復。
節點移動鏈路管理,如圖8為節點移動后造成通信鏈路中斷、功耗增大等問題,如父子節點之間被加入障礙物。感知節點移動后,與R2的距離遠遠小于與R1的距離,原來只需較小的發射功率則可與R1建立可靠的通信連接,而此時感知節點必須提高發射功率。
父節點返回的匹配消息報告給節點應用層,子節點首先撤銷正在執行的定時任務并判斷消息。若消息為真則表明鏈路仍然可靠,并在定時T1結束后設置下一次傳感器轉換定時。否則節點將重啟網絡層重新加入網絡。
3.5 基于RSSI的節點低功耗設計
無線傳感器節點能量消耗主要在于節點無線通信[9],針對網絡環境穩定且較少移動的節點,子節點可基于RSSI值調整發射功率,根據節點間的實際信道質量,調整不同節點間的發射功率,避免節點用固定的發射功率時因距離太近而造成能量浪費。
RSSI受節點之間的距離和障礙物等信道質量情況影響,不同的子節點與父節點建立可靠鏈路所需要的發射功率則不一樣。圖10所示為子節點與父節點建立最低功耗通信鏈路的流程,子節點向父節點發送發射功率校正的命令;在接收到父節點返回的RSSI值后,子節點則根據RSSI的大小調整自己的發射功率。
4 系統傳輸性能實驗分析
4.1 點對點傳輸實驗
點對點傳輸是節點性能的一個重要指標,本文針對節點的數據速率和丟包率做了大量的實驗測試。在室內環境下,節點采用3.3 V直流供電,傳輸距離(視距)>30 m,發射功率0 dBm,收發節點分別統計數據幀,單次測試持續時間10~20 min。獲得數據速率與丟包率關系如圖11(a)所示。
圖示數值為節點多次實驗的平均值。當發射速率逐漸增大到21 kb/s時,接收節點丟包率明顯增大。由圖11可知發射速率低于20.88 kb/s時丟包率為0,速率為22.5 kb/s時丟包率約為6%??傻霉濣c的數據速率實驗典型值為20 kb/s。
4.2 多跳通信實驗
多跳通信實驗設置了源節點為設備終端節點,中轉設備路由節點和目標設備協調器組成的2跳網絡。測試環境與點對點通信一致,針對數據速率和丟包率完成大量實驗,得到的目標節點數據速率與丟包率關系如圖11(b)所示。
由圖11(b)可知,經路由節點中轉后數據傳輸可靠性大大降低了。在數據發送速率低于0.3 kb/s時丟包率為0,而大于這個值后則逐漸上升。所以在保證丟包率為0的前提下,兩跳通信的數據速率的試驗值可以達到0.3 kb/s。
本系統完成了以CC2530為核心的多傳感器無線節點硬件設計,并基于Z-stack協議棧完成傳感器程序設計,同時實現協議棧的低功耗改進和節點鏈路失效管理。通過實物測試獲得節點單跳通信數據速率典型值為20 kb/s,多跳通信典型值為0.3 kb/s,能夠較好地滿足區域環境信息監測的應用。系統的硬件結構設計充分考慮了擴展性,數據協議定義充分考慮了上位機控制臺顯示信息的豐富性,支持控制臺顯示網絡拓撲結構、節點設備信息和狀態、節點移動動態更新,以及節點設備無線控制。
參考文獻
[1] 鄭凱.基于ZigBee無線傳感器技術的心電監護網絡的研究[D].吉林:吉林大學,2008.
[2] 陳濤,劉景泰,邴志剛.無線傳感網絡應用于研究綜述[J].自動化與儀表,2005(7):41-46.
[3] 韓賓,黃玉清.基于藍牙的機器人傳感網絡設計[J].通信技術,2008(6):164-166.
[4] GISLASON D. Zigbee wireless Networking[M]. Burlington:Newnes,2008.
[5] Wang Weixin, Sung Jongwoo, KIM D. Complex event processing in EPC sensor network middleware for both RFID and WSN[C]. 2008 11th IEEE, ISORC, 2008:165-169.
[6] Yang Huanjia, Yang Lili,et al. Hybrid Zigbee RFID sensor network for human-itarian logistics centre management[J]. Journal of Network and Computer Applications,2011(34):938-948.
[7] TI. CC253X User Guide.http://www.ti.com.cn.2011.
[8] TI.Z-Stack Developers Guide.http://www.i.com.cn/.2011.
[9] ESTRIN D. Tutorial“PartIV: sensor network protocols. Mobicom,2002. http://nest1.ee.ucla.edu/tutorials/ mobicom02.2011.