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