徐利明,付敬奇,蘇 偉
(上海大學 機電工程與自動化學院,上海200072)
無線傳感器網絡(wireless sensor networks,WSNs)中媒體介質訪問控制(medium access control,MAC)協議處于無線傳感器網絡協議的底層部分,主要用于控制傳感器節點間公平有效地共享通信信道,對傳感器網絡的性能有較大影響,是保證無線傳感器網絡有效通信的關鍵網絡協議之一。工業現場復雜惡劣的環境、多徑干擾、電磁干擾等對數據傳輸的可靠性、實時性、網絡的穩定運行提出更大的挑戰,因此,需要研究適用于工業監測的MAC協議。
目前,無線傳感器網絡MAC協議設計的主要目標是在保證傳輸延時和數據吞吐量的基礎上,減少由于沖突和空閑監聽帶來的能量消耗。但在工業監測中,數據傳輸的可靠性更加重要。MAC協議一般可以分為基于競爭的CSMA/CA協議和基于TDMA協議[1]2種。典型的基于競爭S-MAC[2,3]協議,它在基于競爭的MAC協議基礎上引入了工作/休眠機制,將時間分為工作和休眠2個階段。除此之外,基于競爭的MAC協議還有T-MAC,Sift-MAC等協議,這些基于競爭的MAC協議往往只從發送數據的節點考慮問題,尤其當負載增加時,對整個網絡的能耗、時延以及數據可靠性都會產生很大的影響。基于時分復用的MAC協議采用為每個節點分配獨立的用于數據發送或接收的時隙(time slot),節點在空閑時隙能夠及時轉入休眠狀態。基于TDMA的MAC協議[4]設計主要在于時隙長度的設置和時隙的管理調度問題上,VENKATESH提出的基于TDMA的流量自適應MAC協議TRAMA[5,6],以流量信息來分配時槽長度,但具有特定功能的傳感器節點采集數據長度是固定的。工業現場惡劣環境,多種干擾直接影響通信鏈路,進而影響數據傳輸的可靠性,Phua V[7]提出的基于TDMA的時隙調度算法,通過鏈路質量對信道質量進行預測并判斷信道的好壞,選擇是否發送數據,但是不能忽略工業環境常常存在的突發干擾。某些工業監測應用中,有時需要獲取同一時刻幾個傳感器節點的數據進行綜合分析,所以,需要保證每個傳感器節點的數據可靠傳輸。
本文提出了一種動態時隙分配(DSA)的自適應MAC(DSA-MAC)協議,在對無線通信鏈路質量評估的基礎上,動態調整時隙長度,并且在發送數據時加入了基于接收信號強度指示(received signal strength indicator,RSSI)的自適應功率調整機制,該協議在提高數據傳輸可靠性前提下,也能保證整個網絡的能耗、時延、吞吐量等性能。
傳感器節點周期性地采集數據,在網關分配的時隙內進行數據傳輸,在傳輸過程中由于工業現場環境干擾等原因,使信道質量受到影響,從而影響節點數據的傳輸[7]。在發送時隙結束時,數據還未發送成功,則產生丟包,影響對工業現場的監測。如果擴大時隙長度,則會導致在環境狀況良好時,使節點在時隙結束前完成了數據的成功發送和應答幀的接收,一方面增大無線傳感器節點的能耗,另一方面降低了MAC協議的擴展性,使得整個網絡的時延增大。所以,需要根據現場環境變化或突發狀況估計通信鏈路質量,動態調整傳感器節點發送數據的時隙長度,保證數據傳輸的可靠性,并兼顧整個網絡的能耗、時延和擴展性。
因此,DSA-MAC協議在對鏈路質量估計的基礎上,當鏈路質量較差時,傳感器節點重發數據的次數可能增多,需要擴大時隙長度來保證數據可靠發送。如果節點時隙結束前發送數據成功,則提前進入休眠以節省能耗。DSA-MAC協議結構如圖1所示。

圖1 DSA-MAC協議幀結構Fig 1 Frame structure of DSA-MAC protocol
1)鏈路質量估計
目前,無線芯片大多數可以在硬件上實現鏈路質量檢查。一種是通過直接對射頻信號進行A/D轉換,得到RSSI,另外一種是通過RSSI進行頻率補償和過濾等操作之后得出的鏈路質量指示(link quality indicator,LQI)[8]。RSSI用于鏈路評估時,變化靈敏但精度不高,尤其在環境突變時。LQI比RSSI能夠更加準確地反映出鏈路通信質量的好壞。
通過采樣的LQI平均值來估計鏈路質量[8]的好壞,但是信道質量是動態變化的,最近采樣的LQI重要性要大于過去采樣的LQI值,所以,采用指數加權的移動平均方法來計算均值LQI,計算公式如下

2)時隙長度計算
鏈路質量的好壞影響數據包接收率(packet reception rate,PRR)的高低,當鏈路質量下降時數據包接收率下降,使數據包需要重發的次數增多,因此,需要擴大時隙長度保證數據包的準確傳輸。根據對鏈路質量進行估計,設定均值LQI的臨界值,當均值LQI低于臨界值時,認為鏈路質量較差需要擴大時隙長度,當均值LQI高于臨界值時鏈路質量較好,不需要擴大時隙長度。計算時隙長度如下式所示

其中,β>1為時隙長度擴大的倍數。
3)自適應功率調整
無線傳感器節點在實際工作中,分為接收數據、發送數據、等待、休眠4個狀態,發送數據的電流最大,而且在不同的發射功率下傳感器節點在發送數據時的電流也不同。另外,無線傳感器節點在工作時與網關的距離各不相同,如果與網關距離較近而選用較高的發射功率,雖然網關能以較高的信號強度收到數據,但因過高的功率而使節點的能耗過大,縮短了節點的工作壽命;反之,如果距離相對較遠,或中間有阻擋物的節點,選用較低的發射功率影響數據的成功傳輸。所以,在確保無線傳感器網絡通信可靠的前提下,動態調節節點發射功率,實現節點的低功耗。因此,節點的長距離傳輸和節點的低功耗是一對矛盾體,如何平衡好節點的傳輸距離和節點功耗之間的關系,對于發射功率的調整至關重要。
無線傳感器節點入網時,將發射功率調整到最大以保證能夠成功入網,在入網成功后節點進入正常的工作周期。網關獲取接收到數據的信號強度RSSI后,根據設置的信號強度上下限值RSSI-Threshold-high和RSSI-Threshold-Low調整功率規則如下式所示

由式(3)可以得出:當網關接收到節點的信號強度大于閾值上限時,使節點降低一級發射功率;當信號強度在閾值上下限之間時,保持發射功率不變;當信號強度小于閾值下限時,則增加一級發射功率。節點進入正常工作時隙,采用調整后的節點發射功率進行數據發送。由于環境的變化,節點的接收信號強度仍然會產生波動,因此,需要設置信號接收強度的上下限來調整節點的發射功率。節點自適應調節發射功率,使節點的接收強度滿足閾值要求,實現節點的低功耗。
4)MAC協議運行流程
MAC協議的運行流程主要包括測試階段和運行階段,網絡拓撲形成以后首先進入測試階段,由傳感器節點向網關連續發送數據,網關獲取每個節點的均值LQI值。在運行階段,網關收到傳感器節點采集的數據后,獲取數據幀中的LQI和RSSI值,計算出值,與臨界值比較后獲得傳感器節點在下個采樣周期的時隙長度,另外,通過RSSI值判斷節點在下個周期的發射功率是否需要調整。網關根據節點的ID號順序,將相應的時隙長度和功率調整值寫入時隙分配幀,如圖2所示。
圖2所示時隙分配幀中“0”表示采用普通時隙長度,“1”表示采用擴大的時隙長度。傳感器節點在收到時隙分配幀以后根據自身節點ID,累加小于自身ID號的時隙位值,計算獲得該ID節點發送數據的時間偏移量和發送數據的時隙長度。同樣,在功率調整值中,節點根據ID,獲取對應的功率調整值,每個節點占用2 bits,分別是“00”表示保持原有發射功率,“01”表示增大一級發射功率,“02”表示減小一級發射功率。MAC協議的具體運行流程如圖3所示。

圖3 MAC協議運行流程圖Fig 3 Operation flow chart of MAC protocol
本文提出的DSA-MAC協議在TI公司的CC2530上實現[9],CC2530含有高性能和低功耗的增強型8051微控制器,集成符合IEEE 802.15.4標準的2.4 GHz的RF無線收發模塊。在無線傳感器節點實現方面,基于CC2530傳感器節點功能模塊組成如圖4所示,主要由傳感器、處理器、無線通信和能量供應模塊四部分組成。

圖4 傳感器節點硬件模塊結構Fig 4 Hardware module structure of sensor node
傳感器模塊主要負責采集工業設備上的溫度信息,通過信號調理把模擬信號送到處理器模塊。處理模塊主要負責對傳感器模塊采集的模擬信號進行A/D轉換,并將轉換后的數據根據協議棧進行數據幀的裝載。射頻模塊主要包括對無線射頻信號的接收和發送。能量供應模塊為傳感器模塊和處理模塊提供能量。
無線傳感器網絡由1個網關管理32個傳感器節點,節點以1 min為采集周期,并將數據發送給網關。網關通過串口與上位機進行通信,并通過串口監控軟件對網絡進行監控。該網絡系統經過冶金工業現場連續運行測試,數據統計處理結果如圖5所示,表明采用動態時隙分配的DSA-MAC協議的網絡系統比固定時隙長度TDMA MAC協議的網絡系統在包傳輸率上提高了很多。另一方面DSA-MAC協議在采集周期中,每個周期的網絡工作時間縮短,在節省能耗的同時也增加了網絡的擴展性和降低了網絡傳輸的時延。

圖5 數據包接收率Fig 5 Packet reception rate
圖6為DSA-MAC協議中的自適應功率調整機制的測試。為了高效地測試節點電池的消耗情況,將同一個傳感器節點分別選擇最小發射功率、最大發射功率、自適應調整發射功率3種功率進行測試,節點以1 min的發送數據周期,并對數據包中的電池電壓值進行統計。連續測試85 h后,電池電壓的變化情況如圖6所示,從中可以看出:采用自適應調整功率機制后的節點能量消耗明顯慢于采用最大發射功率下的消耗。另外,與最小發射功率相比,雖然電池消耗快于最小發射功率下的電池消耗,但是通過統計可以發現在數據包接收率上明顯要好于最小發射功率的節點。所以,選擇自適應調整功率機制不僅可以節省能耗,延長工作壽命,還能保證一定的數據包接收率。

圖6 電池能量消耗Fig 6 Battery energy consumption
本文主要針對工業監測現場環境惡劣,干擾復雜頻密的特點,提出了一種動態調整傳感器節點發送數據時隙長度的DSA-MAC無線傳感器網絡自適應MAC協議,目的在于提高數據傳輸的可靠性。另外,在該自適應MAC協議中加入了功率自適應調整機制,延長網絡的工作壽命。并將該協議在無線射頻芯片CC2530上實現。最后,將該網絡系統在冶金工業生產現場進行通信和組網測試。測試結果表明:本文提出的DSA-MAC協議提高了數據傳輸率,另外,該MAC協議在能耗、擴展性、時延上的性能都比固定時隙的TDMA MAC協議要好。
[1]趙巍,瞿志華,彭軍.無線傳感器網絡中采用預約機制的MAC協議改進[J].計算機應用研究,2010,27(7):2716-2718.
[2]Wei Y,Heidemann J,Estrin D.Medium access control with coordinated adaptive sleeping for wireless sensor networks[J].IEEE/ACM Trans on Networking,2004,12(3):493-506.
[3]李運鵬,徐昌彪,劉琳.無線傳感器網絡中一種競爭窗口自適應MAC協議[J].傳感器與微系統,2010,29(1):50-52.
[4]Ceken C.An energy efficient and delay sensitive centralized MAC protocol for wireless sensor networks[J].Computer Standards&Interfaces,2008,30:20-31.
[5]Rajendran V,Obraczka K,Garcia J J.Energy-efficient,collisionfree medium access control for wireless sensor networks[J].Wireless Networks,2006,12:63-78.
[6]王艷麗,龐偉正,李岳霖.基于時分復用的無線傳感器網絡MAC協議研究[J].傳感器與微系統,2006,25(12):3-5.
[7]Phua V,Datta A,Cardell-Oliver R.A TDMA-based MAC protocol for industrial wireless sensor networks applications using link state dependent scheduling[C]∥Global Telecommunications Conference,2006:1-6.
[8]Zhang X Y,Zhao H,Zhu J,et al.LQI based link evaluation algorithm and its application in wireless sensor networks[J].Journal of Northeastern University:Natural Science,2005,29(2):1693-1696.
[9]CC253x system-on-chip solution for 2.4 GHz IEEE 802.15.4 and Zig Bee applications user’s guide[EB/OL].[2009-04-18].http:∥www.ti.com/lit/ug/swru191c/swru191c.pdf.