趙春華, 鄧 蕾, 湯寶平, 肖 鑫
(重慶大學 機械傳動國家重點實驗室,重慶 400030)
無線傳感器網絡(Wireless Sensor Networks, WSNs)在許多領域有著廣闊的應用前景[1-3],可彌補有線機械設備狀態監測系統在某些應用中的局限性,如密封環境中軸承、齒輪等機械旋轉構件的振動監測[4]。在數據傳輸階段,無線傳感器網絡的IEEE 802.15.4協議采用載波偵聽多路訪問/沖突避免機制(CSMA-CA) ,會引起多次載波偵聽、隱藏節點所導致的高偵聽能耗和高重傳能耗問題[5-6],特別是在大量機械振動數據傳輸時表現尤為顯著,使得無線傳感器網絡固有的能量受限問題更加嚴峻[7-9]。因此,如何降低機械振動無線傳感器網絡能耗是亟待解決的難題。可以從低功耗節點硬件結構設計、節點運行過程以及網絡傳輸等方面降低能耗,限于篇幅,本文從網絡傳輸方面進行研究。
目前,為使多個設備使用同一信道進行通信,IEEE 802.15.4協議采用CSMA-CA機制,雖然解決了多個設備共享單一信道的問題,但是在機械無線傳感器網絡大量原始數據傳輸需求下將導致無謂的高能量開銷。Marinkovic等[10]提出一種能量有效的時分復用MAC協議實現了小范圍內的低通信開銷,但是需要嚴格的時間同步。Gilani等[11]提出一種自適應CSMA與TDMA混合MAC協議,通過將部分競爭訪問周期時間進行時分復用以改善無線傳感器網絡的能耗與吞吐量,Mantri等[12]提出一種沖突避免調度算法,通過結合CSMA與TDMA的各自優勢來減少數據沖突。這些方法[11-14]雖然降低了無線傳感器網絡能耗,但是在具有物理分散性的各節點上完成時隙分配往往不易。
針對CSMA-CA在傳輸大量原始數據時存在的不足,提出一種基于信標同步觸發的機械振動無線傳感器網絡數據傳輸休眠時序調度方法,改善并優化CSMA-CA在大量數據傳輸能耗浪費問題,利用信標網絡下全網周期性信標同步和信標可攜帶負載的特點,對信標超幀結構、傳輸與睡眠時序調度進行設計,實現機械振動無線傳感器網絡低功耗傳輸休眠時序調度。
為使多個設備使用同一信道進行通信,IEEE 802.15.4協議采用了CSMA-CA機制。在發送數據幀之前,設備都將先執行空閑信道評估指令進行載波偵聽,以此來判斷該信道是否被其他設備所使用。若空閑,則進行數據發送;若信道忙,則將隨機等待一段時間,再重新檢測。CSMA-CA機制雖然解決了多個設備共享單一信道的問題,但將導致無謂的傳輸能耗開銷。
如圖1所示,節點A、B、C、D組成星形網絡。其中,節點A、B均不在對方通信范圍之內。當節點A、B同時請求數據傳輸時,由于雙方均不在對方的通信范圍之內,在執行空閑信道評估指令后,都將認為信道處于空閑狀態,雙方將同時向節點C發送各自數據幀,造成節點C發生數據沖突,進而導致數據重傳,在同時傳輸大量數據時其高重傳能耗表現尤為顯著。
圖1中,節點B、D均處于對方通信范圍之內。當節點B、D同時請求數據傳輸時,由于雙方均處于對方的通信范圍之內,在執行空閑信道評估指令后,未爭搶到信道使用權的一方,將隨機等待一段時間,再重新檢測。當數據傳輸總量較大時,各節點將頻繁進行多次載波偵聽,進而導致不必要的高偵聽能耗。

圖1 CSMA-CA在大量數據傳輸時高能耗缺陷Fig.1 High energy consumption defects of CSMA-CA during mass data transmission
通過分析可知,只有當多個節點同時請求數據傳輸時,才會造成隱藏節點和多次載波偵聽的問題。因此,問題解決的關鍵在于如何將各節點請求數據傳輸的時間相互錯開,即對各節點傳輸時序進行調度。由于各節點物理上的分散性,各節點無法采用統一的全局時鐘,要進行傳輸時序調度,需首先實現各節點間的時鐘同步,以保證各節點接收調度信息在時間上的一致性。
基于IEEE 802.15.4協議的無線傳感器網絡支持信標網絡與非信標網絡。在信標網絡中,廣播信標具有全網周期性同步的特點,使得各個子節點接收信標載荷能夠保持時間一致性,相鄰的兩個信標幀界定了一個超幀結構,如圖2所示。

圖2 超幀結構Fig.2 Superframe structure
若要實現信標同步觸發傳輸與休眠時序調度,則需要對超幀結構進行設計。超幀結構由活動周期和非活動周期組成,其中活動周期又分為競爭訪問周期與無競爭訪問周期,在非活動周期下,設備可關閉其收發器,以節省電池電量。信標間隔BI由macBeaconOrder(BO)和aBaseSuperframeDuration決定:BI=aBaseSuperframeDuration×2BO。 超幀結構活動周期長度SD由macSuperframeOrder(SO)決定, 即SD=aBaseSuperframeDuration×2BO。 根據IEEE 802.15.4協議規范,在信標網絡中,形成一個超幀的時間aBaseSuperframeDuration為常量,信標周期BO和超幀周期SO參數設置應該滿足以下關系[15]

相對于面向橋梁、環境監測等大范圍狀態監測應用,機械狀態監測應用的覆蓋范圍要求更小,低復雜度、低功耗、低延遲、高同步精度的星形拓撲結構足以滿足大部分機械狀態監測。信標父節點活動周期時間占整個信標周期時間比例為2-(BO-SO), 最大的信標父節點個數可達2-(BO-SO)。 因此,改變(BO-SO)的值就可以調整信標父節點的活動周期時間。由于在星形拓撲網絡中只有一個信標父節點即網關節點,其它皆為采集子節點,所以設置BO等于SO即可達到整個信標周期等于網關節點的活動周期,從而使在單位活動周期內數據傳輸量達到最大。設置BO的大小則會改變信標間隔周期的大小,設置過大,會增大子節點接收命令信標時延,過小會增大節點占用信道的次數,從而增大傳輸能耗。因此,根據機械振動無線傳感器網絡大量數據傳輸的需求,設置經驗初值BO為5[16],因此由前文所給出的BI和SD的計算方法可計算出信標周期間隔BI和活動周期SD時間長度為491.52 ms。因此, PAN協調器(網關)以信標間隔BI周期性廣播信標幀,其子節點通過接收信標幀實現周期性與網關間的時鐘同步。
信標幀作為MAC通用幀的一種特殊形式,其包含了信標級數、超幀級數等關鍵組網信息。此外,IEEE 802.15.4協議規定信標幀最大允許攜帶52字節的信標載荷。因此,可以通過將調度信息載入信標發送給子節點來實現低開銷的調度信息通知。
在網絡建立階段,未入網的子節點首先通過掃描信道來接收網關周期性廣播的組網信標幀,待接收到組網信標幀之后向網關提出關聯請求,隨后網關將給發出關聯請求的子節點分配網絡短地址ID,每個子節點擁有全網唯一的短地址ID且網關將保存所有關聯采集子節點的短地址ID信息列表Node{N1,N2,…,Ni,…,Nn},n為子節點數量,因此可將短地址作為調度信息供網關對所有子節點的傳輸時序進行調度。
如圖3所示,在數據傳輸階段,網關以信標間隔BI周期性廣播傳輸命令信標幀,傳輸命令信標載荷格式如圖4所示,并將子節點短地址ID按關聯順序列表Node{N1,N2,…,Ni,…,Nn}先后載入信標載荷進行發送,網關廣播傳輸命令信標幀載荷中的節點ID依次按照Node{N1,N2,…,Ni,…,Nn}進行順序切換。當子節點接收到傳輸命令信標幀后,判斷信標負載中的節點ID是否為自身短地址ID。若有,則進行數據傳輸;若沒有,則進入休眠模式,單信標時間間隔內休眠時間為ST,其中ST應略小于BI,以便提前喚醒子節點,喚醒時間為WT,為下一次接收信標幀和數據傳輸做準備。其計算方法如公式(1)所示
ST=BI-WT
(1)

圖3 信標同步觸發的傳輸休眠時序調度方法Fig.3 Transmission-sleep timing scheduling method based on beacon synchronous trigger

圖4 傳輸命令信標載荷格式Fig.4 The format of beacon payload for transmission command
子節點Ni第一次接收到傳輸信標到第一次開始傳輸時間為tti和其中休眠時間為sti, 其計算方法如公式(2)所示。
(2)
此后,各個節點在大量振動數據傳輸過程中的單周期休眠時間為ts, 其計算方法如公式(3)所示。
ts=(n-1)·ST
(3)
當正在進行數據傳輸的子節點將自身所有數據傳輸完畢后,向網關發送一個回復包,表明數據傳輸完成,隨后網關將下一個子節點短地址載入信標,通知相應子節點進行數據傳輸,直到所有子節點完成數據傳輸,通過對節點進行傳輸與休眠調度機制避免隱藏節點和過多的載波偵聽所引起的高重傳與高偵聽能耗。
為了驗證本文所提出基于信標同步觸發的傳輸休眠時序調度方法性能,采用機械振動無線傳感器網絡節點WSNG4組成星形網絡進行測試。WSNG4采集節點采用雙核架構,由ARM Cortex M4內核的STM32F405微控制器和無線通信模塊TI CC2530集成的增強型8051微處理器組成,節點支持IEPE傳感器,可采用噪聲較低的IEPE傳感器采集機械振動信號。實驗測試平臺如圖5所示,WSNG4采集節點分別對動力傳動故障診斷綜合實驗臺平行軸齒輪箱輸入軸和輸出軸兩個相互垂直方向的機械振動信號進行采樣,測試實驗以數據傳輸過程中節點進行載波偵聽的次數作為性能評估指標,本文將其定義為沖突次數。

圖5 實驗測試平臺圖Fig.5 The photo of experiment test platform
實驗1中,由一個網關、 4個子節點組成星形網絡,各子節點數據傳輸總量均為12.8 kB。采用CSMA-CA機制時,網關向外廣播帶有傳輸命令的信標幀,子節點接收到此信標幀后,采用競爭訪問機制進行數據傳輸,統計各子節點完成自身所有數據傳輸過程中發生的沖突次數,重復10次實驗,其結果如圖6(a)所示。圖6(b)為采用信標同步觸發的傳輸休眠時序調度方法后,各子節點的沖突次數。

圖6 各子節點沖突次數Fig.6 Collisions of each wireless sensor node
從圖6(a)可知,各子節點沖突次數基本相同,這是由于在競爭訪問周期內,所有請求傳輸的子節點都需使用CSMA-CA機制來獲得信道使用權,而在同一個網絡的所有子節點獲得信道幾率相同。圖6(b)中的沖突是由于在信標網絡中,網關會周期性廣播信標幀,此時信道將被占用,子節點發生數據沖突,而每個子節點的數據總量一致,因此產生沖突的次數也基本相同。通過對比可知,采用信標同步觸發的傳輸休眠時序調度方法后,各節點的沖突次數大幅減少。
實驗1測試了在各子節點數據傳輸總量一定時,各子節點發生數據沖突的次數。為了明確當數據總量發生變化時,數據沖突次數的變化情況,進行了實驗2。在實驗2中,網絡仍由一個網關、4個子節點以星形拓撲結構組成,但是數據傳輸總量從2.56 kB逐漸增加至12.8 kB。由實驗1可知,各子節點的沖突次數基本相同,因此在實驗2中的沖突次數重新定義為各子節點沖突次數的平均值。
由圖7可知,實驗2.1采用CSMA-CA機制時,沖突次數將隨著數據傳輸總量的增加而增加,這是由于數據傳輸總量越大,各子節點進行數據幀發送的次數越多,每次發送之前都需進行載波偵聽,而每次載波偵聽都意味潛在的數據沖突。實驗2.2采用信標同步觸發的傳輸休眠時序調度方法后,沖突次數雖然仍隨著數據傳輸總量的增加而增加,但是其增幅十分平緩。

圖7 沖突次數與數據總量間關系Fig.7 Relationship between collisions and total data
實驗3測試了各子節點數據傳輸總量為12.8 kB時,數據沖突次數隨子節點數增加的變化情況。在實驗3中,網絡依次由一個網關、1~4個子節點組成。圖8記錄了3次重復實驗下的沖突次數。
從圖8(a)可知,采用CSMA-CA機制時,沖突次數將隨著子節點數的增加而增加。這是由于在競爭訪問周期,同一個網絡的所有子節點獲得信道幾率相同,子節點數越多,單個節點獲得信道使用權的概率越低,則進行載波偵聽的可能性越大即發生沖突的次數越多。采用信標同步觸發的傳輸休眠時序調度方法后,每個子節點傳輸數據的時間相互錯開,互不重疊,因此數據沖突次數不會隨著子節點數的增加而增大,如圖8(b)。

圖8 沖突次數與子節點數間關系Fig.8 Relationship between collisions and node number
從以上3個實驗結果可知,采用信標同步觸發的傳輸休眠時序調度方法后,數據沖突次數將大幅減少,而且不受數據傳輸總量及子節點數的影響。此外,在信標同步觸發的傳輸休眠時序調度方法中,未進行數據傳輸的子節點將進入休眠模式,只周期性地喚醒來偵聽下一次信標幀,而節點在休眠模式下工作電流較低,因此可節省大量能量。圖9(a)為節點進入休眠模式時的工作電流,圖9(b)為節點在空閑模式下的工作電流。通過比較可以發現,休眠電流遠遠小于空閑電流。表1記錄了休眠模式與空閑模式下的平均電流大小。

圖9 休眠模式、空閑模式電流變化情況Fig.9 Nodal current changes in sleep mode and idle mode

表1 休眠模式、空閑模式電流大小
本文提出基于信標同步觸發的無線傳感器網絡傳輸休眠時序調度方法,用于改善并優化CSMA-CA在機械振動無線傳感器網絡大量原始數據傳輸需求下隱藏節點問題導致高重傳能耗、多次載波偵聽導致高偵聽能耗的不足。通過充分利用信標網絡下全網周期性同步,對超幀結構進行設計和信標可攜帶負載的特點,為實現數據傳輸時序的調度提供基本時鐘同步條件及低開銷的調度信息通知機制。此外,對于未進行數據傳輸的節點采用休眠/喚醒機制使節點空閑期能耗降至最低。與CSMA-CA進行對比,實驗結果表明該優化方法能有效降低無線傳感器網絡數據無謂的傳輸能耗,且性能不受子節點數與數據傳輸總量的影響。