孫 桐, 嚴錫君 , 嚴 妍
(1.河海大學 計算機與信息學院,江蘇 南京 210098;2.河海大學 水利水電學院,江蘇 南京 210098)
在無線傳感器網絡中,介質訪問控制 (Medium Access Control,MAC)協議主要負責在傳感器節點之間分配無線信道資源,決定無線信道的使用方式。傳感器節點的能量、計算能力、通信距離和存儲能力等資源非常有限,單個節點功能相對較弱,因此在設計無線傳感器網絡MAC協議時,應當依次考慮以下屬性:節省能量、信道、網絡效率[1-2]。
針對以上問題,研究人員已提出了多種無線傳感器網絡MAC協議,但大部分協議仍停留在理論研究水平,并且實際應用中的能耗、信道沖突問題沒有得到很好解決。本文從實際的應用出發,提出了一種新的基于令牌的鏈式MAC協議,該協議采用按需分配和TDMA技術要結合的方式,其核心是節點不收發數據時采用偵聽/睡眠機制,能及時地轉入睡眠狀態,節省能耗。采用令牌式的信標幀控制信息,按需分配實現網絡節點對數據的有序傳輸,不相互干擾,很好地解決了信道沖突的問題。
在已有的按需分配的MAC協議和基于TDMA的MAC協議的基礎上,并且結合按需接入和固定分配時隙的思想,設計了一種基于令牌[3]的鏈型MAC協議。該協議保證了各個節點采集到的數據信息可以逐級向上傳辦輸,在數據傳輸過程程中,只有獲得接入權限的相鄰層次的節點在傳輸數據,而其他層次的節點則處于低功耗的休眠狀態,這樣可以減少系統的能量消耗,有效的延長系統的生命
基于令牌的鏈型MAC協議中,定義了兩種幀格式:信標幀、數據幀。匯聚節點循環廣播信標幀序列,用于廣播時間同步信息和分配各層節點的信道使用權信息;數據幀則且于相鄰層次的傳感器節點的數據傳輸
監控系統中采用射頻芯片遵循IEEE802.15.4標準[4-5],因此我們設計的幀格式同樣遵循MAC層信標幀格式。
1)信標幀:信標幀由匯聚節點發送廣播。信標幀負載由2個字節組成:第1個字節存放令牌信息,第2個字節存放監測網絡中傳感器節點數目。雖然信標幀長度不變,但是不同輪數的信標幀的令牌的內容信息是變化的。信標幀的MAC負載如圖 1(a)所示。
2)數據幀:節點在上傳數據時,除了上傳本節點的信息(節點采集的數據和節點的ID)外,還需上傳其他節點的信息。節點的ID信息占用一個字節,其最高位代表能量報警信息。數據幀的MAC負載如圖1(b)所示。

圖1 信標幀和數據幀負載示意圖Fig.1 Diagram of beacon frame load and data frame load
基于令牌的鏈型MAC協議采用的是一種粗粒度的時間同步算法[6]。匯聚節點周期性的發送一定數量的信標幀序列,網絡中的傳感器節點在休眠結束后隨機地接收一幀信標幀,讀取信標幀中的時間片信息以及令牌信息,根據這兩種信息,傳感器節點做出適合的調度。
網絡的拓撲結構與數據傳輸如圖3所示。匯聚節點編號的層次為0,其他節點依次加1。實線代表匯聚節點廣播的信標幀,確保各個子節點都可以接收到。虛線代表各層節點依次將采集的信息逐層上傳,直至將信息匯集到匯聚節點結束。
假設整條鏈式網絡有N個子節點(不包括節點0),根據設計的通信協議,完成一次完整的鏈式傳輸,匯聚節點需要發送 N輪同步信息,每一輪發送 M(0<M<255)幀信標幀,同一輪信標幀的令牌信息是相同的,不同輪的信標幀所包含的令牌信息不同。輪數系如與令牌的關系如表1所示。

表1 每一輪中令牌信息與節點工作狀態對應關系Tab.1 Token and node’s status relation in every round
匯聚節點廣播一個完整的時間周期T由Ta1、Ta2…TaN組成,Taj為廣播第j輪信標幀的周期。匯聚節點廣播信標幀如圖2所示。

圖2 匯聚節點廣播信標幀示意圖Fig.2 Diagram of sink node broadcasting beacon frame
廣播一輪信標幀的時間Taj(0<j≤N)由兩部分組成,當0<j<N時,Taj由發送令牌時隙與空閑時隙組成,時間比1:1,在Taj發送時隙中,匯聚節點發送M個信標幀,信標幀的令牌信息相同,且為N-j+1。當j=N時,Taj由發送令牌時隙與數據接收上傳時隙組成。廣播一輪信標幀的周期示意圖如圖3所示,t為發送M個信標幀時間,t1為發送一個信標幀的時間,τ為緩沖時間,根據實際情況設定。Δτ根據實際通信要求設定。設定Taj的時間值為2t。
節點i(i≠0)隨機的接收到一個信標幀,節點從信標幀中獲得3種信息:當前信標幀的令牌信息N-j+1;信標幀編號k;整個網絡的節點數N。
根據上面3種信息,節點i可以得出以下結論:這是第j輪信標,此輪信標幀用于同步第(N-j+1)節點與第(N-j)節點,且在時間同步后第(N-j+1)節點向第(N-j)節點發送數據。節點i的具體的判斷過程如下所示:
1)當 j≠N 時
如果 i>N-j+1 或者 i<N-j,節點 i轉入休眠狀態,休眠時間(M-k)t1+t,醒來后偵聽信標幀。
如果 i=N-j,節點 i轉入休眠(M-k)t1+τ,醒來后進入接收狀態,接收完數據后,再次轉入休眠狀態,休眠時間為t,醒來偵聽信標幀。若接收超時,則進入休眠狀態,休眠t后醒來偵聽信標幀;

圖3 廣播一輪信標幀的周期Taj示意圖Fig.3 Diagram of broadcasting a beacon frame cycle Taj
如果 i=N-j+1,如果有數據發送,節點 i休眠(M-k)t1+t后進入發送狀態,發送完數據后如果i=N,則休眠(N-1)Tai+t+Δτ后醒來偵聽信標幀;如果 i=N,節點休眠(N-2)Tai+t+Δτ。如果沒有數據發送,如果 i=N,節點休眠時間(M-k)t1+t+(N-1)Tai+t+Δτ后醒來偵聽信標幀;如果 i≠N,節點休眠(M-k)t1+t+(N-2)Tai+t+Δτ
2)當 j=N 時
節點 1 轉入休眠狀態,休眠時間為(M-k)t1+τ+τ,醒來后進入發送狀態,發送完數據后再次休眠(N-2)Tai+t+Δτ,醒來后偵聽信標幀;i≠1的節點轉入休眠狀態,休眠時間為(M-k)t1+t+Δτ,醒來后偵聽信標幀。傳感器節點i的通信協議示意圖如圖4所示。

圖4 傳感器節點通信協議示意圖Fig.4 Diagram of sensor nodes communication protocol
MAC協議分為匯聚節點分發信標幀和傳感器節點上傳信息兩部分。匯聚節點周期性向傳感器節點發送信標幀,隨后進入接收狀態。傳感器節點在接收到信標幀后,根據令牌信息決定相鄰兩個節點進行通信,實現從鏈尾節點到鏈頭節點的數據傳輸。
1)匯聚節點初始化;
2)確認信標幀的令牌內容N,令牌信息用一個字節標識,最多可以有127個令牌接入信息;
3)匯聚節點發送M個含有令牌X=N的信標幀;
4)如果 X≠1,進入步驟 5)。 如果 X=1,進入步驟 6);
5)X=X-1,然后匯聚節點處于空閑模式,延時時間為t,進入步驟3);
6)令牌信息變成X=N,匯聚節點處于接收模式,匯聚節點處于接收處理數據且上傳的時間設定為t+Δτ后,進入步驟3;
傳感器節點能量供應有限,在大部分時間里處于低功耗模式,只有在某些確定的時間偵聽信標幀,根據偵聽到的信標幀的令牌信息判斷自己的工作狀態,從而避免信息的碰撞,也減少能量的損耗。傳感器節點的算法的過程如下所示:
1)傳感器節點i初始化;
1.2 納入標準 有介入性產前診斷或宮內治療指征的孕婦,包括:高齡、唐篩高風險、雙方同型地中海貧血、外周血無創產前基因篩查異常、胎兒超聲結構異常、夫婦雙方一方染色體異常、罕見遺傳病家族史、PGD術后妊娠等;孕婦外周血HBsAg陽性,伴或不伴HBeAg陽性。介入性穿刺前明確告知手術相關的流產、感染、胎死宮內等風險,并告知穿刺有可能增加胎兒宮內感染乙肝的風險,孕婦充分知情并簽署知情同意書后進行操作。
2)傳感器節點采集數據,采集數據后進入步驟3);
3)偵聽廣播幀,如果偵聽到信標幀,可以獲得網中節點總數目N,當前的令牌值N-j+1,信標幀的序列號k,進入步驟4)。如果超時沒有偵聽到信標幀進入步驟14);
4)如果 j≠N,進入步驟 5);如果 j=N,進入步驟 13);
5)如果 i≠N-j+1 且(N-j),節點 i進入休眠模式,醒來后進入步驟 2);如果 i=N-j,進入步驟 6),如果 i=N-j+1,進入步驟 7);
6)節點 i進入休眠模式,休眠時間(M-k)t1+t,醒來進入接收狀態,接收完畢后進入休眠模式,延時t后,進入步驟2)。若超時直接進入休眠模式,延時t后,進入步驟 2)(因為接收數據時間遠小于t);
7)判斷是否有新數據需要發送,若有新數據進入步驟8),否則進入步驟9);
8)節點休眠(M-k)t1+t,醒來后發送數據。 若 i=N,節點休眠(N-2)Tai+t+Δτ 后,進入步驟 2);如果 i≠N,節點休眠(N-2)Tai+t+Δτ 后,進入步驟 2);
9)若節點 i=N,休眠(M-k)t1+t+(N-1)Tai+t+Δτ后進入步驟 2);若節點 i≠N,休眠(M-k)t1+t+(N-2)Tai+t+Δτ后進入步驟 2);
10)若節點 i=1,進入步驟 13);否則進入步驟 14);
11)若節點1有數據需要發送,進入步驟12);若節點1沒有數據需要發送進入步驟13);
12)節點 1 休眠(M-k)t1+τ后,發送數據,發送完畢后,再次休眠(N-2)Tai+t+Δτ后,進入步驟 2);
13)節點 1 進入休眠模式,休眠(M-k)t1+t+Δτ+(N-2)Tai后,進入步驟 2);
14)i≠1 的節點進入休眠模式,延時(M-k)t1+t+Δτ,進入步驟 2)。
采用如圖5所示的能量消耗模型進行能量分析。數據幀能在一個單獨的監聽周期傳送且只有一個節點在網絡中生長采樣數據幀,每次只有兩個鄰居節點進行通信且數據在傳輸過程中沒有發生碰撞和重發。

圖5 能量耗量模型圖Fig.5 Energy consumption model diagram
其中,ρ為節點每秒采樣的速率,Eil為節點在一輪中的空閑監聽的能量消耗,Eil為節點傳輸一個數據幀的能量消耗,Erx為節點接收一個數據幀的能量消耗,Eon為打開無線收發設備的能量消耗,Taj為觀測周期,Es為節點在一輪Tf中的休眠時間的能量花費,N為網絡中的節點數。在參數都確定的情況下,計算鏈式網絡的能量消耗[7]。
鏈式協議中節點的能量消耗為:

其中,Eil(n)=ρil×Td/2,
Td為數據時間間隔,計算總能量消耗并取平均值得:

基于令牌的鏈式MAC協議的能量消耗同上面的模型基本相似,只是一個新的項加入到空閑監聽時期,即在調整時期的能量消耗。即:

計算所有節點的能量消耗并取平均值得:

比較式(1)和式(2),我們可以得到發下結論:基于令牌的的鏈式MAC協議和標準鏈式協議在傳送和接收數據的能量消耗相同為 Tajρ(N-1)(Etx+Erx),早期休眠所使用的能量相同為-(N-1)TajρρilTd。
新協議通過減少打開射頻模塊比標準協議節省能量為:NTajEonNSLP/TBSP,新協議在空閑監聽主面比標準MAC協議節省能量:NTaj/TBSP×NSLP×ρilTd/2T,可以看出新協議能比標準鏈式協議有效的降低能量消耗。
MAC協議是WSN技術的核心,也是WSN是否能夠得到廣泛應用的關鍵技術[8]。基于令牌的鏈式MAC協議,以TDMA時間同步方式為基礎,網絡中節點采用偵聽/睡眠機制,當接收到信標幀后才進行數據傳輸,有效降低了能耗;以令牌為控制信息,不僅簡化了匯聚節點對傳感器節點的控制過程,而且各傳感器節點之間不會相互干擾,實現了對信道的有序利用。
[1]張大為,皮之軍,劉迪.基于WSN技術的數據采集系統的設計[J].電子設計工程,2012,20(19):183-185.
ZHANG Da-wei,PI Zhi-jun,LIU Di.Design of data acquisition system based on WSN[J].Electronic Design Engineering,2012,20(19):183-185.
[2]鄧亞平,蔣新春,陳蘭蘭.無線傳感器網絡TDMA MAC協議的對比和改進研究[J].計算機工程與應用,2010,46(4):89-92.
DENG Ya-ping,JIANG Xin-chun,CHEN Lan-lan.Research on comparison between TDMA MAC protocols and improvementforwirelesssensornetworks.Computer Engineering and Applications[J].Computer Engineering and Applications.2010,46(19):89-92.
[3]王建華,張倬,劉志峰,等.基于令牌環網串行通訊的控制系統研究[J].機械設計與制造,2009(11):197-199.
WANG Jian-hua,ZHANG Zhuo,LIU Zhi-feng,et al.The control system research based on serial communication of token ring network[J].Machinery Design&Manufacture,2009(11):197-199.
[4]沈忠,李強.基于Zigbee技術的無線傳感器網絡協議的設計[J].傳感器與儀器儀表,2008,24(7-1):164-165.
SHEN Zhong,LI Qiang.An approach to wireles s sensor networksprotocolbasedonzigbeetechnology[J].Microcomputer information,2008,24(7-1):164-165.
[5]紀晴,段培永.基于ZigBee的無線傳感器網絡協議研究與實現[J].傳感器世界,2007:30-35.
JI Qing,DUAN Yong-pei.Study and implementation of a wireless sensor network based on ZigBee technology[J].Sensor World,2007:30-35.
[6]朱建平,陶正蘇,呂春峰.基于IEEE 802.15.4 CSMA/CA機制的無線非均勻傳感網絡實時性能分析[J].電子工程設計,2012,20(5):75-77.
ZHU Jian-ping,TAO Zheng-su,LV Chun-feng.Delay analysis of wireless heterogeneous sensor network based on IEEE 802.15.4 CSMA/CA scheme[J].Electronic Design Engineering,2012,20(5):75-77.
[7]王永濤,蘇曉龍,王香婷.一種改進的無線傳感器網絡MAC協議[J].傳感器與儀器儀表.2008, 24(12):104-106.
WANG Yong-tao SU Xiao-long WANG Xiang-ting.An improved MAC protocol for wireless sensor network[J].Microcomputer information,2008,24(12):104-106.
[8]王祥.無線傳感器網絡MAC協議的實現與分析[J].無線電工程,2009,42(2):21-24.
WANG Xiang.Implementation and analysisofMAC protocols for wireless sensor network[J].Radio Engineering,2009,42(2):21-24.