吳 戈, 紀鵬菲, 張 錚, 陳佳品, 丁 凱
(1.上海交通大學 電子信息與電氣工程學院 微納電子學系薄膜與微細技術教育部重點實驗室,上海 200240;2.無錫近地面感知與探測重點實驗室,江蘇 無錫 214035)
智能障礙場無線傳感器網絡(intelligent obstacle field wireless network,IOFWN)是通過預先投放智能雷形成雷場,對經過雷場的敵方作戰單位進行準確打擊、阻礙其通行的自主防御系統,IOFWN中MAC協議的選取,對整個網絡的性能和生命周期有著舉足輕重的影響。傳統基于時間同步調度的MAC層協議,需要采用精度較高的時間同步措施以及周期性地對其進行維護。利用全球定位系統(global positioning system,GPS)模塊等方法實現全網時間同步能獲得較高的時間同步精度,但周期性的重同步會消耗大量電能,降低了節點的生命周期。
基于前導碼采樣的MAC層協議,不需要維護同步調度,具有協議復雜度低,空閑偵聽能耗低等優點[1]。B-MAC是基于前導碼采樣的MAC層協議,具有協議復雜度低、空閑偵聽能耗低等優點,不需要維護同步調度,但其需要發送長且連續的長度可變的前導序列。這和目前流行的基于IEEE 802.15.4的射頻芯片[2]不兼容,其只能發送短的固定長度的前導碼。
本文提出一種EB-MAC協議,采用重復發送數據包或包含目標地址的短前導包來替代過長的前導碼[4]。由此縮短了前導序列的傳輸長度,提高了能效性。
智能障礙場中所有智能雷節點具有相同的信道采樣間隔,智能雷節點的時間模塊根據協議預設的采樣間隔,通過定時控制,保證節點喚醒檢測信道的時間間隔不變。節點喚醒后檢測信道狀態,節點中時間模塊開始計時,若監測到信道有需要接收的數據,則讓節點進入接收數據模式,同時時間模塊停止計時,等數據接收完畢,節點進入睡眠狀態;若信道空閑,沒有數據需要接收,則在時間模塊到達預置的信道檢測持續時間后,節點進入睡眠狀態;當時間到達預設的喚醒周期后,節點再次喚醒開始檢測信道狀態,時間模塊重新開始計時[3]。
實驗室應用于智能障礙場制作的模擬智能雷采用德州儀器公司生產的CC2520芯片,CC2520芯片兼容IEEE 802.15.4標準,在傳輸的數據中,該芯片附加發送節點自身的時間模塊的數值,此附加過程開銷很小。圖1為數據的發送和接收過程。發送過程中,前導序列的頭部是數據幀的起點,幀開始符(SFD)緊隨其后,當SFD發送后,節點的微處理器會獲取節點時間模塊中計時器的時間,將時間值記錄在本地,并添加到數據幀的尾部。在接收過程中,數據接收節點接收到幀開始符時,節點的微處理器也會獲取計時器輸出的時間值,將其記錄下來。網絡節點在空間中信號的傳播延時很短,而幀開始符位于數據幀的頭部位置,因此,數據發送和接收節點所記錄的時間差值在微秒(μs)級[6]。

圖1 數據幀的時間同步
當接收節點接收完數據后,獲得數據幀尾記錄的發送時間值,可以得到發送節點和接收節點的時間模塊的差值,則數據接收節點先將該差值減去,此時兩個節點的喚醒時間理論上幾乎一致。但數據發送節點在喚醒后需先進行信道檢測,此時數據接收節點在信道中檢測不到數據,會造成空閑偵聽,產生多余能耗。因此接收節點的時間模塊需減去一個退讓時間τ,使得數據接收節點的喚醒時間滯后于數據發送節點的喚醒時間,由此可以減少數據的傳輸延時[5]。在多跳通信中,中繼節點只有完全接收完上一節點發送的數據,才會進入數據發送模式,將數據轉發給下一節點,退讓時間τ需要大于載波偵聽時間、數據確認報文接收時間、數據接收時間和節點睡眠延時之和。數據接收節點完成數據接收以后,繼續檢測信道,若在預置的時間范圍內沒有數據需要處理,則節點進行休眠。
如圖2(a)所示,多跳路徑上的數據傳輸情況也采取這種策略[6],數據接收節點的喚醒總是比數據發送節點晚一個退讓時間τ。
智能障礙場中的數據傳輸是雙向進行的,其時間調度如圖2(b)所示。智能雷節點雙向通信時,在傳輸的數據中,會加入換向標志。當中繼節點接收數據時,若有換向標志,將數據發送出去后,節點將喚醒調度時間加2τN,其中N為中繼節點距離遠程上位機的傳輸跳數[7]。當節點0發送完數據后,通過喚醒調度時間的疊加,當最后一個中繼節點轉發完數據時,該條路徑已經完成了反向傳輸的喚醒調度時間準備,且路徑上各個節點無需再根據數據幀時間字段調整自己的喚醒時間,節省了節點開銷,降低了數據傳輸延時。

圖2 多跳路徑數據傳輸與雙向通信的時間調度

使用B-MAC策略,第n個節點傳輸第j次傳輸數據時,通過求和函數可以得到該路徑上節點消耗的總能量,即


Ptxtack-PsLdtb-Pstack-Pstc-Pstl)
(1)
同理使用EB-MAC策略該路徑上節點消耗的總能量為

(Prx-Ps)(Ld+2)tb+Ptxtack-Pstack-Pstc-Pstl]
(2)
求差可以得到總消耗能量差為

(3)
對ΔE求期望得到

(4)
兩者的總消耗能量差由前導碼序列的長度決定,而由于EB-MAC的調度機制τ遠小于前導碼序列的長度,故在多跳路徑下,EB-MAC的整體能耗要小很多[9]。
仿真實驗采用基于CC2520的模型,在MATLAB上進行仿真,也直接與B-MAC的各項性能指標對比,仿真時設定數據傳輸為典型值100 kb,路徑上共設置10個節點,喚醒周期為1 s,相鄰節點的喚醒時間調度間隔為0.1 s。
如圖3(a)為匯聚節點端到端延時隨數據產生間隔的變化,數據傳輸間隔減小,網絡通信負載增加,端到端延遲也隨之增加。數據傳輸間隔為2 s時,端到端延遲隨時間變化如圖3(b),在數據傳輸頻率不變時,EB-MAC協議端到端延時幾乎沒有增長,而B-MAC協議端到端延時迅速增長。

圖3 端到端時延與傳輸間隔及2 s間隔下隨時間變化
如圖4所示為多路徑節點能耗隨數據傳輸頻率的變化,隨著數據傳輸頻率的增加,節點能耗隨之迅速增加,仿真曲線驗證了兩者的關系,當數據傳輸頻率為2 s時,EB-MAC協議的節點能耗為0.38 mW,B-MAC協議的節點能耗為1.36 mW,此時B-MAC協議的能耗已經不滿足智能障礙場的應用要求。

當數據傳輸為雙向,同時加入ACK確認報文保障數據傳輸的穩定性,再模擬端到端延時隨數據傳輸間隔的變化,結果如圖5所示,加入了ACK確認報文后,數據傳輸的穩定性提高,傳輸延時降低,加入了ACK確認報文的B-MAC協議的數據延時,比未加入ACK確認報文的EB-MAC協議大。

圖5 加入確認報文時端到端延時隨數據傳輸頻率的變化
如圖6為多路徑下節點丟包率隨數據傳輸頻率的變化,在網絡通信負載較低時,即數據傳輸頻率大于10 s時,B-MAC協議和EB-MAC協議丟包率都處于較低水平;當數據傳輸頻率小于5 s時,網絡內信道的競爭更頻繁,數據碰撞概率增加,丟包率上升。當數據傳輸頻率為2 s時,B-MAC協議丟包率接近60 %,已無法滿足智能障礙場性能需求。

圖6 節點丟包率隨數據傳輸頻率的變化
如圖7所示為不同的數據傳輸間隔,成功完成50次數據傳輸的能耗,和單路徑數據傳輸相似,EB-MAC協議完成50次數據傳輸能耗穩定,B-MAC協議,隨數據傳輸間隔的減少,節點丟包率上升,數據重傳增加,節點能耗隨著數據傳輸間隔的減少而增加。

圖7 能耗隨傳輸頻率的變化
由如圖8可見,采用EB-MAC協議的節點剩余電量,始終比采用B-MAC協議的節點電池容量要多,驗證了EB-MAC協議在網絡生命周期上的優勢。

圖8 節點剩余電量隨時間的變化
仿真和實驗結果表明:EB-MAC協議策略有效地減小了前導碼序列的長度,在保持低占空比的同時,降低了端到端的通信延時,無需全網時間同步,能滿足智能障礙場的應用需求。