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