徐利明,付敬奇,蘇 偉
(上海大學(xué) 機電工程與自動化學(xué)院,上海200072)
無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)中媒體介質(zhì)訪問控制(medium access control,MAC)協(xié)議處于無線傳感器網(wǎng)絡(luò)協(xié)議的底層部分,主要用于控制傳感器節(jié)點間公平有效地共享通信信道,對傳感器網(wǎng)絡(luò)的性能有較大影響,是保證無線傳感器網(wǎng)絡(luò)有效通信的關(guān)鍵網(wǎng)絡(luò)協(xié)議之一。工業(yè)現(xiàn)場復(fù)雜惡劣的環(huán)境、多徑干擾、電磁干擾等對數(shù)據(jù)傳輸?shù)目煽啃浴崟r性、網(wǎng)絡(luò)的穩(wěn)定運行提出更大的挑戰(zhàn),因此,需要研究適用于工業(yè)監(jiān)測的MAC協(xié)議。
目前,無線傳感器網(wǎng)絡(luò)MAC協(xié)議設(shè)計的主要目標是在保證傳輸延時和數(shù)據(jù)吞吐量的基礎(chǔ)上,減少由于沖突和空閑監(jiān)聽帶來的能量消耗。但在工業(yè)監(jiān)測中,數(shù)據(jù)傳輸?shù)目煽啃愿又匾?。MAC協(xié)議一般可以分為基于競爭的CSMA/CA協(xié)議和基于TDMA協(xié)議[1]2種。典型的基于競爭S-MAC[2,3]協(xié)議,它在基于競爭的MAC協(xié)議基礎(chǔ)上引入了工作/休眠機制,將時間分為工作和休眠2個階段。除此之外,基于競爭的MAC協(xié)議還有T-MAC,Sift-MAC等協(xié)議,這些基于競爭的MAC協(xié)議往往只從發(fā)送數(shù)據(jù)的節(jié)點考慮問題,尤其當負載增加時,對整個網(wǎng)絡(luò)的能耗、時延以及數(shù)據(jù)可靠性都會產(chǎn)生很大的影響?;跁r分復(fù)用的MAC協(xié)議采用為每個節(jié)點分配獨立的用于數(shù)據(jù)發(fā)送或接收的時隙(time slot),節(jié)點在空閑時隙能夠及時轉(zhuǎn)入休眠狀態(tài)?;赥DMA的MAC協(xié)議[4]設(shè)計主要在于時隙長度的設(shè)置和時隙的管理調(diào)度問題上,VENKATESH提出的基于TDMA的流量自適應(yīng)MAC協(xié)議TRAMA[5,6],以流量信息來分配時槽長度,但具有特定功能的傳感器節(jié)點采集數(shù)據(jù)長度是固定的。工業(yè)現(xiàn)場惡劣環(huán)境,多種干擾直接影響通信鏈路,進而影響數(shù)據(jù)傳輸?shù)目煽啃?,Phua V[7]提出的基于TDMA的時隙調(diào)度算法,通過鏈路質(zhì)量對信道質(zhì)量進行預(yù)測并判斷信道的好壞,選擇是否發(fā)送數(shù)據(jù),但是不能忽略工業(yè)環(huán)境常常存在的突發(fā)干擾。某些工業(yè)監(jiān)測應(yīng)用中,有時需要獲取同一時刻幾個傳感器節(jié)點的數(shù)據(jù)進行綜合分析,所以,需要保證每個傳感器節(jié)點的數(shù)據(jù)可靠傳輸。
本文提出了一種動態(tài)時隙分配(DSA)的自適應(yīng)MAC(DSA-MAC)協(xié)議,在對無線通信鏈路質(zhì)量評估的基礎(chǔ)上,動態(tài)調(diào)整時隙長度,并且在發(fā)送數(shù)據(jù)時加入了基于接收信號強度指示(received signal strength indicator,RSSI)的自適應(yīng)功率調(diào)整機制,該協(xié)議在提高數(shù)據(jù)傳輸可靠性前提下,也能保證整個網(wǎng)絡(luò)的能耗、時延、吞吐量等性能。
傳感器節(jié)點周期性地采集數(shù)據(jù),在網(wǎng)關(guān)分配的時隙內(nèi)進行數(shù)據(jù)傳輸,在傳輸過程中由于工業(yè)現(xiàn)場環(huán)境干擾等原因,使信道質(zhì)量受到影響,從而影響節(jié)點數(shù)據(jù)的傳輸[7]。在發(fā)送時隙結(jié)束時,數(shù)據(jù)還未發(fā)送成功,則產(chǎn)生丟包,影響對工業(yè)現(xiàn)場的監(jiān)測。如果擴大時隙長度,則會導(dǎo)致在環(huán)境狀況良好時,使節(jié)點在時隙結(jié)束前完成了數(shù)據(jù)的成功發(fā)送和應(yīng)答幀的接收,一方面增大無線傳感器節(jié)點的能耗,另一方面降低了MAC協(xié)議的擴展性,使得整個網(wǎng)絡(luò)的時延增大。所以,需要根據(jù)現(xiàn)場環(huán)境變化或突發(fā)狀況估計通信鏈路質(zhì)量,動態(tài)調(diào)整傳感器節(jié)點發(fā)送數(shù)據(jù)的時隙長度,保證數(shù)據(jù)傳輸?shù)目煽啃?,并兼顧整個網(wǎng)絡(luò)的能耗、時延和擴展性。
因此,DSA-MAC協(xié)議在對鏈路質(zhì)量估計的基礎(chǔ)上,當鏈路質(zhì)量較差時,傳感器節(jié)點重發(fā)數(shù)據(jù)的次數(shù)可能增多,需要擴大時隙長度來保證數(shù)據(jù)可靠發(fā)送。如果節(jié)點時隙結(jié)束前發(fā)送數(shù)據(jù)成功,則提前進入休眠以節(jié)省能耗。DSA-MAC協(xié)議結(jié)構(gòu)如圖1所示。
圖1 DSA-MAC協(xié)議幀結(jié)構(gòu)Fig 1 Frame structure of DSA-MAC protocol
1)鏈路質(zhì)量估計
目前,無線芯片大多數(shù)可以在硬件上實現(xiàn)鏈路質(zhì)量檢查。一種是通過直接對射頻信號進行A/D轉(zhuǎn)換,得到RSSI,另外一種是通過RSSI進行頻率補償和過濾等操作之后得出的鏈路質(zhì)量指示(link quality indicator,LQI)[8]。RSSI用于鏈路評估時,變化靈敏但精度不高,尤其在環(huán)境突變時。LQI比RSSI能夠更加準確地反映出鏈路通信質(zhì)量的好壞。
通過采樣的LQI平均值來估計鏈路質(zhì)量[8]的好壞,但是信道質(zhì)量是動態(tài)變化的,最近采樣的LQI重要性要大于過去采樣的LQI值,所以,采用指數(shù)加權(quán)的移動平均方法來計算均值LQI,計算公式如下
2)時隙長度計算
鏈路質(zhì)量的好壞影響數(shù)據(jù)包接收率(packet reception rate,PRR)的高低,當鏈路質(zhì)量下降時數(shù)據(jù)包接收率下降,使數(shù)據(jù)包需要重發(fā)的次數(shù)增多,因此,需要擴大時隙長度保證數(shù)據(jù)包的準確傳輸。根據(jù)對鏈路質(zhì)量進行估計,設(shè)定均值LQI的臨界值,當均值LQI低于臨界值時,認為鏈路質(zhì)量較差需要擴大時隙長度,當均值LQI高于臨界值時鏈路質(zhì)量較好,不需要擴大時隙長度。計算時隙長度如下式所示
其中,β>1為時隙長度擴大的倍數(shù)。
3)自適應(yīng)功率調(diào)整
無線傳感器節(jié)點在實際工作中,分為接收數(shù)據(jù)、發(fā)送數(shù)據(jù)、等待、休眠4個狀態(tài),發(fā)送數(shù)據(jù)的電流最大,而且在不同的發(fā)射功率下傳感器節(jié)點在發(fā)送數(shù)據(jù)時的電流也不同。另外,無線傳感器節(jié)點在工作時與網(wǎng)關(guān)的距離各不相同,如果與網(wǎng)關(guān)距離較近而選用較高的發(fā)射功率,雖然網(wǎng)關(guān)能以較高的信號強度收到數(shù)據(jù),但因過高的功率而使節(jié)點的能耗過大,縮短了節(jié)點的工作壽命;反之,如果距離相對較遠,或中間有阻擋物的節(jié)點,選用較低的發(fā)射功率影響數(shù)據(jù)的成功傳輸。所以,在確保無線傳感器網(wǎng)絡(luò)通信可靠的前提下,動態(tài)調(diào)節(jié)節(jié)點發(fā)射功率,實現(xiàn)節(jié)點的低功耗。因此,節(jié)點的長距離傳輸和節(jié)點的低功耗是一對矛盾體,如何平衡好節(jié)點的傳輸距離和節(jié)點功耗之間的關(guān)系,對于發(fā)射功率的調(diào)整至關(guān)重要。
無線傳感器節(jié)點入網(wǎng)時,將發(fā)射功率調(diào)整到最大以保證能夠成功入網(wǎng),在入網(wǎng)成功后節(jié)點進入正常的工作周期。網(wǎng)關(guān)獲取接收到數(shù)據(jù)的信號強度RSSI后,根據(jù)設(shè)置的信號強度上下限值RSSI-Threshold-h(huán)igh和RSSI-Threshold-Low調(diào)整功率規(guī)則如下式所示
由式(3)可以得出:當網(wǎng)關(guān)接收到節(jié)點的信號強度大于閾值上限時,使節(jié)點降低一級發(fā)射功率;當信號強度在閾值上下限之間時,保持發(fā)射功率不變;當信號強度小于閾值下限時,則增加一級發(fā)射功率。節(jié)點進入正常工作時隙,采用調(diào)整后的節(jié)點發(fā)射功率進行數(shù)據(jù)發(fā)送。由于環(huán)境的變化,節(jié)點的接收信號強度仍然會產(chǎn)生波動,因此,需要設(shè)置信號接收強度的上下限來調(diào)整節(jié)點的發(fā)射功率。節(jié)點自適應(yīng)調(diào)節(jié)發(fā)射功率,使節(jié)點的接收強度滿足閾值要求,實現(xiàn)節(jié)點的低功耗。
4)MAC協(xié)議運行流程
MAC協(xié)議的運行流程主要包括測試階段和運行階段,網(wǎng)絡(luò)拓撲形成以后首先進入測試階段,由傳感器節(jié)點向網(wǎng)關(guān)連續(xù)發(fā)送數(shù)據(jù),網(wǎng)關(guān)獲取每個節(jié)點的均值LQI值。在運行階段,網(wǎng)關(guān)收到傳感器節(jié)點采集的數(shù)據(jù)后,獲取數(shù)據(jù)幀中的LQI和RSSI值,計算出值,與臨界值比較后獲得傳感器節(jié)點在下個采樣周期的時隙長度,另外,通過RSSI值判斷節(jié)點在下個周期的發(fā)射功率是否需要調(diào)整。網(wǎng)關(guān)根據(jù)節(jié)點的ID號順序,將相應(yīng)的時隙長度和功率調(diào)整值寫入時隙分配幀,如圖2所示。
圖2所示時隙分配幀中“0”表示采用普通時隙長度,“1”表示采用擴大的時隙長度。傳感器節(jié)點在收到時隙分配幀以后根據(jù)自身節(jié)點ID,累加小于自身ID號的時隙位值,計算獲得該ID節(jié)點發(fā)送數(shù)據(jù)的時間偏移量和發(fā)送數(shù)據(jù)的時隙長度。同樣,在功率調(diào)整值中,節(jié)點根據(jù)ID,獲取對應(yīng)的功率調(diào)整值,每個節(jié)點占用2 bits,分別是“00”表示保持原有發(fā)射功率,“01”表示增大一級發(fā)射功率,“02”表示減小一級發(fā)射功率。MAC協(xié)議的具體運行流程如圖3所示。
圖3 MAC協(xié)議運行流程圖Fig 3 Operation flow chart of MAC protocol
本文提出的DSA-MAC協(xié)議在TI公司的CC2530上實現(xiàn)[9],CC2530含有高性能和低功耗的增強型8051微控制器,集成符合IEEE 802.15.4標準的2.4 GHz的RF無線收發(fā)模塊。在無線傳感器節(jié)點實現(xiàn)方面,基于CC2530傳感器節(jié)點功能模塊組成如圖4所示,主要由傳感器、處理器、無線通信和能量供應(yīng)模塊四部分組成。
圖4 傳感器節(jié)點硬件模塊結(jié)構(gòu)Fig 4 Hardware module structure of sensor node
傳感器模塊主要負責(zé)采集工業(yè)設(shè)備上的溫度信息,通過信號調(diào)理把模擬信號送到處理器模塊。處理模塊主要負責(zé)對傳感器模塊采集的模擬信號進行A/D轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)根據(jù)協(xié)議棧進行數(shù)據(jù)幀的裝載。射頻模塊主要包括對無線射頻信號的接收和發(fā)送。能量供應(yīng)模塊為傳感器模塊和處理模塊提供能量。
無線傳感器網(wǎng)絡(luò)由1個網(wǎng)關(guān)管理32個傳感器節(jié)點,節(jié)點以1 min為采集周期,并將數(shù)據(jù)發(fā)送給網(wǎng)關(guān)。網(wǎng)關(guān)通過串口與上位機進行通信,并通過串口監(jiān)控軟件對網(wǎng)絡(luò)進行監(jiān)控。該網(wǎng)絡(luò)系統(tǒng)經(jīng)過冶金工業(yè)現(xiàn)場連續(xù)運行測試,數(shù)據(jù)統(tǒng)計處理結(jié)果如圖5所示,表明采用動態(tài)時隙分配的DSA-MAC協(xié)議的網(wǎng)絡(luò)系統(tǒng)比固定時隙長度TDMA MAC協(xié)議的網(wǎng)絡(luò)系統(tǒng)在包傳輸率上提高了很多。另一方面DSA-MAC協(xié)議在采集周期中,每個周期的網(wǎng)絡(luò)工作時間縮短,在節(jié)省能耗的同時也增加了網(wǎng)絡(luò)的擴展性和降低了網(wǎng)絡(luò)傳輸?shù)臅r延。
圖5 數(shù)據(jù)包接收率Fig 5 Packet reception rate
圖6為DSA-MAC協(xié)議中的自適應(yīng)功率調(diào)整機制的測試。為了高效地測試節(jié)點電池的消耗情況,將同一個傳感器節(jié)點分別選擇最小發(fā)射功率、最大發(fā)射功率、自適應(yīng)調(diào)整發(fā)射功率3種功率進行測試,節(jié)點以1 min的發(fā)送數(shù)據(jù)周期,并對數(shù)據(jù)包中的電池電壓值進行統(tǒng)計。連續(xù)測試85 h后,電池電壓的變化情況如圖6所示,從中可以看出:采用自適應(yīng)調(diào)整功率機制后的節(jié)點能量消耗明顯慢于采用最大發(fā)射功率下的消耗。另外,與最小發(fā)射功率相比,雖然電池消耗快于最小發(fā)射功率下的電池消耗,但是通過統(tǒng)計可以發(fā)現(xiàn)在數(shù)據(jù)包接收率上明顯要好于最小發(fā)射功率的節(jié)點。所以,選擇自適應(yīng)調(diào)整功率機制不僅可以節(jié)省能耗,延長工作壽命,還能保證一定的數(shù)據(jù)包接收率。
圖6 電池能量消耗Fig 6 Battery energy consumption
本文主要針對工業(yè)監(jiān)測現(xiàn)場環(huán)境惡劣,干擾復(fù)雜頻密的特點,提出了一種動態(tài)調(diào)整傳感器節(jié)點發(fā)送數(shù)據(jù)時隙長度的DSA-MAC無線傳感器網(wǎng)絡(luò)自適應(yīng)MAC協(xié)議,目的在于提高數(shù)據(jù)傳輸?shù)目煽啃?。另外,在該自適應(yīng)MAC協(xié)議中加入了功率自適應(yīng)調(diào)整機制,延長網(wǎng)絡(luò)的工作壽命。并將該協(xié)議在無線射頻芯片CC2530上實現(xiàn)。最后,將該網(wǎng)絡(luò)系統(tǒng)在冶金工業(yè)生產(chǎn)現(xiàn)場進行通信和組網(wǎng)測試。測試結(jié)果表明:本文提出的DSA-MAC協(xié)議提高了數(shù)據(jù)傳輸率,另外,該MAC協(xié)議在能耗、擴展性、時延上的性能都比固定時隙的TDMA MAC協(xié)議要好。
[1]趙巍,瞿志華,彭軍.無線傳感器網(wǎng)絡(luò)中采用預(yù)約機制的MAC協(xié)議改進[J].計算機應(yīng)用研究,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]李運鵬,徐昌彪,劉琳.無線傳感器網(wǎng)絡(luò)中一種競爭窗口自適應(yīng)MAC協(xié)議[J].傳感器與微系統(tǒng),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]王艷麗,龐偉正,李岳霖.基于時分復(fù)用的無線傳感器網(wǎng)絡(luò)MAC協(xié)議研究[J].傳感器與微系統(tǒng),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.