吳 戈, 紀鵬菲, 張 錚, 陳佳品, 丁 凱
(1.上海交通大學(xué) 電子信息與電氣工程學(xué)院 微納電子學(xué)系薄膜與微細技術(shù)教育部重點實驗室,上海 200240;2.無錫近地面感知與探測重點實驗室,江蘇 無錫 214035)
智能障礙場無線傳感器網(wǎng)絡(luò)(intelligent obstacle field wireless network,IOFWN)是通過預(yù)先投放智能雷形成雷場,對經(jīng)過雷場的敵方作戰(zhàn)單位進行準確打擊、阻礙其通行的自主防御系統(tǒng),IOFWN中MAC協(xié)議的選取,對整個網(wǎng)絡(luò)的性能和生命周期有著舉足輕重的影響。傳統(tǒng)基于時間同步調(diào)度的MAC層協(xié)議,需要采用精度較高的時間同步措施以及周期性地對其進行維護。利用全球定位系統(tǒng)(global positioning system,GPS)模塊等方法實現(xiàn)全網(wǎng)時間同步能獲得較高的時間同步精度,但周期性的重同步會消耗大量電能,降低了節(jié)點的生命周期。
基于前導(dǎo)碼采樣的MAC層協(xié)議,不需要維護同步調(diào)度,具有協(xié)議復(fù)雜度低,空閑偵聽能耗低等優(yōu)點[1]。B-MAC是基于前導(dǎo)碼采樣的MAC層協(xié)議,具有協(xié)議復(fù)雜度低、空閑偵聽能耗低等優(yōu)點,不需要維護同步調(diào)度,但其需要發(fā)送長且連續(xù)的長度可變的前導(dǎo)序列。這和目前流行的基于IEEE 802.15.4的射頻芯片[2]不兼容,其只能發(fā)送短的固定長度的前導(dǎo)碼。
本文提出一種EB-MAC協(xié)議,采用重復(fù)發(fā)送數(shù)據(jù)包或包含目標地址的短前導(dǎo)包來替代過長的前導(dǎo)碼[4]。由此縮短了前導(dǎo)序列的傳輸長度,提高了能效性。
智能障礙場中所有智能雷節(jié)點具有相同的信道采樣間隔,智能雷節(jié)點的時間模塊根據(jù)協(xié)議預(yù)設(shè)的采樣間隔,通過定時控制,保證節(jié)點喚醒檢測信道的時間間隔不變。節(jié)點喚醒后檢測信道狀態(tài),節(jié)點中時間模塊開始計時,若監(jiān)測到信道有需要接收的數(shù)據(jù),則讓節(jié)點進入接收數(shù)據(jù)模式,同時時間模塊停止計時,等數(shù)據(jù)接收完畢,節(jié)點進入睡眠狀態(tài);若信道空閑,沒有數(shù)據(jù)需要接收,則在時間模塊到達預(yù)置的信道檢測持續(xù)時間后,節(jié)點進入睡眠狀態(tài);當(dāng)時間到達預(yù)設(shè)的喚醒周期后,節(jié)點再次喚醒開始檢測信道狀態(tài),時間模塊重新開始計時[3]。
實驗室應(yīng)用于智能障礙場制作的模擬智能雷采用德州儀器公司生產(chǎn)的CC2520芯片,CC2520芯片兼容IEEE 802.15.4標準,在傳輸?shù)臄?shù)據(jù)中,該芯片附加發(fā)送節(jié)點自身的時間模塊的數(shù)值,此附加過程開銷很小。圖1為數(shù)據(jù)的發(fā)送和接收過程。發(fā)送過程中,前導(dǎo)序列的頭部是數(shù)據(jù)幀的起點,幀開始符(SFD)緊隨其后,當(dāng)SFD發(fā)送后,節(jié)點的微處理器會獲取節(jié)點時間模塊中計時器的時間,將時間值記錄在本地,并添加到數(shù)據(jù)幀的尾部。在接收過程中,數(shù)據(jù)接收節(jié)點接收到幀開始符時,節(jié)點的微處理器也會獲取計時器輸出的時間值,將其記錄下來。網(wǎng)絡(luò)節(jié)點在空間中信號的傳播延時很短,而幀開始符位于數(shù)據(jù)幀的頭部位置,因此,數(shù)據(jù)發(fā)送和接收節(jié)點所記錄的時間差值在微秒(μs)級[6]。
圖1 數(shù)據(jù)幀的時間同步
當(dāng)接收節(jié)點接收完數(shù)據(jù)后,獲得數(shù)據(jù)幀尾記錄的發(fā)送時間值,可以得到發(fā)送節(jié)點和接收節(jié)點的時間模塊的差值,則數(shù)據(jù)接收節(jié)點先將該差值減去,此時兩個節(jié)點的喚醒時間理論上幾乎一致。但數(shù)據(jù)發(fā)送節(jié)點在喚醒后需先進行信道檢測,此時數(shù)據(jù)接收節(jié)點在信道中檢測不到數(shù)據(jù),會造成空閑偵聽,產(chǎn)生多余能耗。因此接收節(jié)點的時間模塊需減去一個退讓時間τ,使得數(shù)據(jù)接收節(jié)點的喚醒時間滯后于數(shù)據(jù)發(fā)送節(jié)點的喚醒時間,由此可以減少數(shù)據(jù)的傳輸延時[5]。在多跳通信中,中繼節(jié)點只有完全接收完上一節(jié)點發(fā)送的數(shù)據(jù),才會進入數(shù)據(jù)發(fā)送模式,將數(shù)據(jù)轉(zhuǎn)發(fā)給下一節(jié)點,退讓時間τ需要大于載波偵聽時間、數(shù)據(jù)確認報文接收時間、數(shù)據(jù)接收時間和節(jié)點睡眠延時之和。數(shù)據(jù)接收節(jié)點完成數(shù)據(jù)接收以后,繼續(xù)檢測信道,若在預(yù)置的時間范圍內(nèi)沒有數(shù)據(jù)需要處理,則節(jié)點進行休眠。
如圖2(a)所示,多跳路徑上的數(shù)據(jù)傳輸情況也采取這種策略[6],數(shù)據(jù)接收節(jié)點的喚醒總是比數(shù)據(jù)發(fā)送節(jié)點晚一個退讓時間τ。
智能障礙場中的數(shù)據(jù)傳輸是雙向進行的,其時間調(diào)度如圖2(b)所示。智能雷節(jié)點雙向通信時,在傳輸?shù)臄?shù)據(jù)中,會加入換向標志。當(dāng)中繼節(jié)點接收數(shù)據(jù)時,若有換向標志,將數(shù)據(jù)發(fā)送出去后,節(jié)點將喚醒調(diào)度時間加2τN,其中N為中繼節(jié)點距離遠程上位機的傳輸跳數(shù)[7]。當(dāng)節(jié)點0發(fā)送完數(shù)據(jù)后,通過喚醒調(diào)度時間的疊加,當(dāng)最后一個中繼節(jié)點轉(zhuǎn)發(fā)完數(shù)據(jù)時,該條路徑已經(jīng)完成了反向傳輸?shù)膯拘颜{(diào)度時間準備,且路徑上各個節(jié)點無需再根據(jù)數(shù)據(jù)幀時間字段調(diào)整自己的喚醒時間,節(jié)省了節(jié)點開銷,降低了數(shù)據(jù)傳輸延時。
圖2 多跳路徑數(shù)據(jù)傳輸與雙向通信的時間調(diào)度
使用B-MAC策略,第n個節(jié)點傳輸?shù)趈次傳輸數(shù)據(jù)時,通過求和函數(shù)可以得到該路徑上節(jié)點消耗的總能量,即
Ptxtack-PsLdtb-Pstack-Pstc-Pstl)
(1)
同理使用EB-MAC策略該路徑上節(jié)點消耗的總能量為
(Prx-Ps)(Ld+2)tb+Ptxtack-Pstack-Pstc-Pstl]
(2)
求差可以得到總消耗能量差為
(3)
對ΔE求期望得到
(4)
兩者的總消耗能量差由前導(dǎo)碼序列的長度決定,而由于EB-MAC的調(diào)度機制τ遠小于前導(dǎo)碼序列的長度,故在多跳路徑下,EB-MAC的整體能耗要小很多[9]。
仿真實驗采用基于CC2520的模型,在MATLAB上進行仿真,也直接與B-MAC的各項性能指標對比,仿真時設(shè)定數(shù)據(jù)傳輸為典型值100 kb,路徑上共設(shè)置10個節(jié)點,喚醒周期為1 s,相鄰節(jié)點的喚醒時間調(diào)度間隔為0.1 s。
如圖3(a)為匯聚節(jié)點端到端延時隨數(shù)據(jù)產(chǎn)生間隔的變化,數(shù)據(jù)傳輸間隔減小,網(wǎng)絡(luò)通信負載增加,端到端延遲也隨之增加。數(shù)據(jù)傳輸間隔為2 s時,端到端延遲隨時間變化如圖3(b),在數(shù)據(jù)傳輸頻率不變時,EB-MAC協(xié)議端到端延時幾乎沒有增長,而B-MAC協(xié)議端到端延時迅速增長。
圖3 端到端時延與傳輸間隔及2 s間隔下隨時間變化
如圖4所示為多路徑節(jié)點能耗隨數(shù)據(jù)傳輸頻率的變化,隨著數(shù)據(jù)傳輸頻率的增加,節(jié)點能耗隨之迅速增加,仿真曲線驗證了兩者的關(guān)系,當(dāng)數(shù)據(jù)傳輸頻率為2 s時,EB-MAC協(xié)議的節(jié)點能耗為0.38 mW,B-MAC協(xié)議的節(jié)點能耗為1.36 mW,此時B-MAC協(xié)議的能耗已經(jīng)不滿足智能障礙場的應(yīng)用要求。
當(dāng)數(shù)據(jù)傳輸為雙向,同時加入ACK確認報文保障數(shù)據(jù)傳輸?shù)姆€(wěn)定性,再模擬端到端延時隨數(shù)據(jù)傳輸間隔的變化,結(jié)果如圖5所示,加入了ACK確認報文后,數(shù)據(jù)傳輸?shù)姆€(wěn)定性提高,傳輸延時降低,加入了ACK確認報文的B-MAC協(xié)議的數(shù)據(jù)延時,比未加入ACK確認報文的EB-MAC協(xié)議大。
圖5 加入確認報文時端到端延時隨數(shù)據(jù)傳輸頻率的變化
如圖6為多路徑下節(jié)點丟包率隨數(shù)據(jù)傳輸頻率的變化,在網(wǎng)絡(luò)通信負載較低時,即數(shù)據(jù)傳輸頻率大于10 s時,B-MAC協(xié)議和EB-MAC協(xié)議丟包率都處于較低水平;當(dāng)數(shù)據(jù)傳輸頻率小于5 s時,網(wǎng)絡(luò)內(nèi)信道的競爭更頻繁,數(shù)據(jù)碰撞概率增加,丟包率上升。當(dāng)數(shù)據(jù)傳輸頻率為2 s時,B-MAC協(xié)議丟包率接近60 %,已無法滿足智能障礙場性能需求。
圖6 節(jié)點丟包率隨數(shù)據(jù)傳輸頻率的變化
如圖7所示為不同的數(shù)據(jù)傳輸間隔,成功完成50次數(shù)據(jù)傳輸?shù)哪芎模蛦温窂綌?shù)據(jù)傳輸相似,EB-MAC協(xié)議完成50次數(shù)據(jù)傳輸能耗穩(wěn)定,B-MAC協(xié)議,隨數(shù)據(jù)傳輸間隔的減少,節(jié)點丟包率上升,數(shù)據(jù)重傳增加,節(jié)點能耗隨著數(shù)據(jù)傳輸間隔的減少而增加。
圖7 能耗隨傳輸頻率的變化
由如圖8可見,采用EB-MAC協(xié)議的節(jié)點剩余電量,始終比采用B-MAC協(xié)議的節(jié)點電池容量要多,驗證了EB-MAC協(xié)議在網(wǎng)絡(luò)生命周期上的優(yōu)勢。
圖8 節(jié)點剩余電量隨時間的變化
仿真和實驗結(jié)果表明:EB-MAC協(xié)議策略有效地減小了前導(dǎo)碼序列的長度,在保持低占空比的同時,降低了端到端的通信延時,無需全網(wǎng)時間同步,能滿足智能障礙場的應(yīng)用需求。