金仁成,王震,車志平,朱明,李應琛
(大連理工大學遼寧省微納米技術及系統工程重點實驗室,大連 116024)
ZigBee無線傳感器網絡節點能耗模型研究※*
金仁成,王震,車志平,朱明,李應琛
(大連理工大學遼寧省微納米技術及系統工程重點實驗室,大連 116024)
針對當前無線傳感器網絡能耗模型計算復雜、通用性差及理論模型與實際相差較大等問題,提出一種ZigBee無線傳感器網絡節點的能耗模型。采用無線傳感器網絡節點工作電壓、發送狀態、接收狀態中各階段的時長和工作電流以及休眠狀態的工作電壓和工作電流等參數,建立無線傳感器網絡節點處于發送狀態、接收狀態和休眠狀態的能耗數學模型,進而建立無線傳感器網絡節點的總能耗數學模型。實驗結果表明,該模型能夠準確預測無線傳感器網絡節點傳輸能耗代價和剩余工作壽命。
能耗模型;ZigBee;JN5148
無線傳感器網絡監控能夠節省繁瑣枯燥的人力勞動,甚至能對過去人工難以實時監控的危險區域進行監控,在國防軍事、環境監測、智能家居、醫療健康和工業控制等領域有著良好的應用前景。通常節點電源能量有限,并且受工作環境限制不可能頻繁更換電源,一旦電量耗盡將導致節點失效而退出網絡,影響網絡監測質量甚至導致網絡癱瘓,因此延長節點的使用壽命問題亟待解決。
大多數研究表明:合理使用電池電量,能有效延長節點的工作時間,即通過對節點的耗電量分析,選擇適合節點的傳輸方式,可最大化利用電池能量。而能量模型的建立與評估是進行能耗分析的關鍵,目前圍繞無線傳感器網絡能量管理,大量能耗模型已被提出。其中大部分都基于MAC層或路由協議能耗的優化策略[1]而建立的,計算過程復雜,對于計算能力有限的單片機,這些算法會消耗更多的能耗,而且這些理論模型與實際情況相比存在較大的差異,因此多用于仿真分析。
Ivan[2]等基于CC2420建立了一種用于評估IEEE 802.15.4低速無線個域網的能量模型,但IEEE 802.15.4模型只是規定了ZigBee協議底層標準,對使用基于Zig-Bee通信協議的無線網絡產品節點的能量評估仍存在不足。參考文獻[3]公開了無線傳感器網絡中的實際能量模型及功率優化控制方法,但該模型都是針對特定的節點,不具有通用性且算法復雜。為此本文提出一種采用無線傳感器網絡節點工作電壓、無線傳感器網絡節點在發送狀態和接受狀態中各階段的時長和工作電流、無線網絡節點在休眠狀態的工作電壓和工作電流等參數,建立無線傳感器網絡節點處于發送狀態、接收狀態和休眠狀態的能耗數學模型,該模型算法簡單,參數容易測得,實驗結果表明,能夠準確預測無線傳感器網絡節點的能耗,適用于實際計算能力有限的傳感器節點。
1.1 能耗模型提出
無線傳感器網絡節點由處理器單元、無線通信單元、傳感器單元、電源4部分組成,各單元能耗分布[4]如圖1所示。通過圖1所示能耗分布,將無線傳感器網絡節點工作狀態分為發送狀態、接收狀態以及空閑、休眠狀態。

圖1 典型節點各單元的能耗分布圖
為了保證能耗模型簡單,有較好的實用性和通用性,提出一種以節點工作電流、工作電壓、數據發送與接收時長為參數的無線傳感器網絡節點能耗計算模型。為了獲取能耗模型的相關參數,搭建實驗平臺,如圖2所示。將示波器通過電阻R(R=1Ω),分別與可調直流穩壓電源和無線傳感器網絡節點裝置相連接,分別測量實驗中一個無線傳感器網絡簇首節點和一個無線傳感器網絡子節點在其工作電壓下發送狀態、接收狀態的工作電流波形。

圖2 實驗平臺
1.2 能耗模型建立
無線傳感器網絡節點發送一個數據包的發送周期略——編者注,包括數據偵聽和接收階段1、數據發送階段2、數據處理階段3、等待階段4四個階段。數據偵聽和接收階段1是指當前并沒有數據,但無線傳感器網絡節點處于接收狀態以監聽信道里面的信號,由于無線傳感器網絡節點在偵聽和接收數據時功耗幾乎沒有區別,而在時間上也是連續的,因此將這兩個過程等效為一個階段。等待階段4是無線傳感器網絡節點在發送數據之前使用CSMA-CA協議監聽信道忙之后會回避的時間(無線傳感器網絡節點處于接收狀態時不使用),時間長度與信道質量有關[5],因此等待階段4時間不確定。為方便計算,將等待階段4放大合并到數據偵聽和接收階段1,即一個完整發送周期簡化為3個階段,即數據偵聽和接收階段1、數據發送階段2、數據處理階段3。
無線傳感器網絡節點一個完整的接收周期略——編者注,包括確認幀發送階段5、數據處理階段6、數據偵聽和接收階段7三個階段。為準確計算無線傳感器網絡節點總能耗,需得到:無線傳感器網絡節點發送一個數據包的發送周期時長TTrans;發送狀態中數據偵聽和接收階段時長TRX、工作電流IRX,數據處理階段時長TCON、工作電流ICON以及數據發送階段工作電流ITX等參數;接收狀態中確認幀發送階段時長TACK、工作電流IACK,數據處理階段時長TCON1、工作電流ICON1以及數據偵聽和接收階段工作電流IRX1;無線傳感器網絡節點發送有效數據包的數量M;無線傳感器網絡節點休眠電流ISleep、休眠時間TSleep以及節點工作電壓V。
計算無線傳感器網絡節點處于發送狀態的能耗ETX:

計算無線傳感器網絡節點處于接收狀態的能耗ERX:

由于無線傳感器網絡節點的接收周期由發送周期決定,同一無線傳感器網絡節點可能按時間片接收幾個節點數據。式(2)中,n為無線傳感器網絡節點在一個接收周期內接收數據包的個數,因而節點間一對一傳輸時,n=1。
計算無線傳感器網絡節點處于休眠狀態的能耗ESleep:

由于存在丟包情況,對無線傳感器網絡節點發送有效數據包的數量M進行修正,可得:M=N/(lpack×(1+p))。式中,N為無線傳感器網絡節點發送數據包總字節數,lpack為一個數據包的有效字長度,p為統計1K個數據包的丟包率。
發送一個數據包實際時間與計算時間有差異,故計算一個比例因子k:k=(250×TTXL)/((lhead+lpack)×8)[6]。式中lhead為數據包頭開銷字節數,lpack為一個數據包中有效字節的長度,數據包頭開銷字節數lhead和一個數據包中有效字節的長度lpack為常數。發送一個固定長度的數據包,發送周期中的數據發送階段的時長為TTXL。
無線傳感器網絡節點工作電流與電壓存在一定關系。通過實驗平臺測試,實驗數據如圖3所示。實驗結果表明,在節點的工作電壓下,電流ITX、IAwait以及IRX與電壓成線性關系。

圖3 節點工作電流與工作電壓關系圖
2.1 模型參數計算
本實驗中無線傳感器網絡節點一個數據包的發送周期TTrans為常量,設定TTrans為50ms。在實際應用中,為獲得實測時間與計算時間的比例因子k,采用如下步驟:首先,由無線傳感器網絡簇首節點發送一個長度為54字節的數據包,通過采用圖2所示的測量方式,得到如圖4所示的工作電流簡化模型。

圖4 發送狀態簡化工作電流波形圖
發送周期的數據發送階段2時長TTXL=2ms,即實測時間為2ms,依據實測時間TTXL=[(lhead+lpack)×8/250]×k,可以反推出k=250×TTXL/((lhead+lpack)×8)= 1.16,即無線傳感器網絡節點的實測時間與計算時間的比例因子k為1.16。通過已知的一個數據包的有效字節長度lpack、一個數據包頭開銷字節數lhead,計算發送一個數據包的數據發送階段時長TTXL為:TTXL=[((lhead+lpack)× 8)/250]×k=[(44+10)×8/250]×1.16≈2.0ms。無線傳感器網絡路由子節點在一個接收周期中確認幀(確認幀長度為11字節)發送階段的時長TACK為:TACK=88/250 ×k=88/250×1.16≈0.41ms。若無線傳感器網絡節點為非可靠性傳輸,即無線網絡節點在接收階段不需要發送確認幀,則TACK=0。通過已知的無線傳感器網絡節點發送數據包總字節數N,統計1K個數據包的丟包率p= 1.25%,根據一個數據包的有效字節長度lpack,可計算無線傳感器網絡節點發送有效數據包的數量M為:M=N/ lpack×(1+p)=709。節點接收狀態時,通過采用圖2所示的測量方式,得到如圖5所示的工作電流簡化模型。

圖5 接收狀態簡化工作電流波形圖
2.2 模型能耗計算
無線傳感器網絡節點在3.3V電壓下工作,兩個節點一對一收發數據,即簇首節點向路由子節點發送數據,路由子節點接收數據。實驗如下:發送數據間隔設定為50ms,每次發送100包數據,每包數據為10字節,共發送7次。為了實驗方便,節點發送和接收過程中并沒有對數據進行處理,所以發送和接收周期數據處理階段的時長為0。簇首節點總的能耗為發送狀態和空閑偵聽的能耗,而路由子節點由于沒有休眠狀態,其總能耗為接收狀態和空閑偵聽的能耗。
由式(2)和式(3)計算可得,無線傳感器網絡簇首節點的發送狀態能耗為:

無線傳感器網絡路由子節點的發送能耗為:

其空閑偵聽時間為t=100-709×50/1000=64.55s,則空閑偵聽的能耗為64.55×3.3×29.5×10-3= 6.283 94J。故根據模型計算得到,無線傳感器網絡簇首節點的總能耗為10.046 18J,無線傳感器網絡路由子節點的總能耗為9.798 79J。
2.3 節點能耗實驗結果
本實驗采用圖2所示的實驗平臺,利用示波器測得100s內無線傳感器簇首節點和路由子節點的能耗,實驗結果略——編者注。簇首節點測試面積為3.155Vs,由于測試的是1Ω電阻,即測試結果實際上為3.155As,由于供電電壓是3.3V,故100s內無線傳感器簇首節點的總能耗為10.411 5J。路由子節點測試面積為3.086Vs,測試結果為3.086As,即100s內無線傳感器路由子節點的總能耗為10.183 8J。為了保證測試的準確性,測試示波器在無輸入時的100s內波形面積即零點的總能耗為84.99mVs× 3.3/1 000=0.280 467J,經計算可得,實際無線傳感器簇首節點的總能耗為10.131 03J,誤差為0.84%,無線傳感器路由子節點總能耗為9.903 33J,誤差為1.06%。
本文對無線傳感器網絡的能耗模型進行了分析,引入以無線傳感器網絡節點工作狀態以及網絡層丟包率方式建立無線傳感器網絡節點能耗模型。實驗結果表明,所提出的能耗模型更精確,更接近真實情況。文中對丟包率的統計方式欠缺靈活性,還需要進一步研究。
編者注:本文為期刊縮略版,全文見本刊網站www. mesnet.com.cn。
[1]謝和平,周海鷹,左德承,等.無線傳感器網絡能量優化與建模技術綜述[J].計算機科學,2012,39(10):15-25.
[2]Ivan Howitt,Rogelio Neto,Jing Wang.Extended Energy Model for t he Low Rate WPAN[C]//Mobile Adhoc And Sensor Systems,2005.IEEE International Conference on,2005.
[3]許慧中.無線傳感器網絡中的實際能量模型及功率優化控制方法:中國,200910033505.7[P].2009-12-16.
[4]王先峰,項軍,胡斌杰.一種無線傳感器網絡能量模型的評估及改進[J].傳感器技術學報,2009,22(9):1318-1323.
[5]姜智文,周熙,余陽,等.IEEE802.15.4時隙CSMA/CA算法性能研究[J].無線電通信技術,2014,40(2):34-37.
[6]Jennet user guide[EB/OL].[2015-01].http://www.jennic.com/support/zigbee_rf4ce//JN-AN-1035(v1.1)5-Nov-2013,2013.11.5.
金仁成(教授),研究方向為無線傳感器網絡及無人機導航;王震(碩士),研究方向為無線傳感器網絡關鍵技術能量管理;車志平、李應?。ùT士),研究方向為無線傳感器網絡關鍵技術節點定位;朱明(碩士)研究方向為無線傳感器網絡關鍵技術節點部署。
Node Energy Consumption Model of Wireless Sensor Network Based on ZigBee※
Jin Rencheng,Wang Zhen,Che Zhiping,Zhu Ming,Li Yingchen
(Key Laboratory for Micro/Nano Technology and System of Liaoning Province,Dalian University of Technology,Dalian 116024,China)
To solve current energy consumption model's drawbacks of a large amount of computation,poor universality and large difference between theoretical model and actual situation,the model of node energy consumption based on ZigBee protocol is proposed.These parameters,including working current,working voltage,time duration of data sending and receiving,etc,are used to establish node energy consumption model in different states.The node working state is divided into the sending state,the receiving state and the dormant state. Then the total node energy consumption model could be built.The experiment results show that it can precisely predict the transmission energy consumption cost and the remaining life.
energy consumption model;ZigBee;JN5148
TP393.17
A
??薛士然
2015-01-13)
國家級-國家“十二五”科技支撐計劃資助項目(2011BAG0502)。