ContikiMAC翻譯_第1頁
ContikiMAC翻譯_第2頁
ContikiMAC翻譯_第3頁
ContikiMAC翻譯_第4頁
ContikiMAC翻譯_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ContikiMAC 周期性休眠RDC協(xié)議Adam Dunkels(瑞典)2011.12摘要低功耗設(shè)備必須盡可能的保持射頻的關(guān)閉,以達(dá)到盡量的能耗,但也需經(jīng)常的醒來以接收周圍節(jié)點(diǎn)的通信數(shù)據(jù)。這份報(bào)告描述了ContikiMAC周期性休眠機(jī)制,在Contiki 2.5中的默認(rèn)機(jī)制中使用了一個(gè)高效的喚醒機(jī)制,并使用一系列的時(shí)序管理盡可能使射頻處于關(guān)閉狀態(tài)。使用ContikiMAC,節(jié)點(diǎn)可以在網(wǎng)絡(luò)中通信時(shí),保持基本上99%的時(shí)間中射頻都處于關(guān)閉狀態(tài)。這份報(bào)告描述了ContikiMAC機(jī)制,測(cè)量單個(gè)ContikiMAC操作的能量消耗,以及評(píng)估快速休眠和時(shí)序鎖定的優(yōu)化效果。1. 前沿低功耗無線設(shè)備必須維持

2、嚴(yán)格的能耗以獲得數(shù)年的生存時(shí)間。在低功耗無線設(shè)備的所有部件中,無線收發(fā)器通常能耗消耗更高。無線收發(fā)器在被動(dòng)監(jiān)聽其他設(shè)備的信號(hào)中的功率與主動(dòng)傳輸?shù)墓β室恢?,因而收發(fā)機(jī)必須完全的關(guān)閉以節(jié)省能量。因?yàn)楣?jié)點(diǎn)在收發(fā)機(jī)關(guān)閉狀態(tài)不能接受任何數(shù)據(jù),周期性的休眠管理機(jī)制必須被用于不時(shí)地打開收發(fā)機(jī)。在多年發(fā)展中,提出了許多的周期休眠機(jī)制(例如,Dutta 和Dunkels 的更加徹底的周期休眠機(jī)制的審視);這篇文檔描述了ContikiMAC的周期休眠機(jī)制,使用的是Contiki 2.5 中的默認(rèn)機(jī)制。ContikiMAC被設(shè)計(jì)來易于理解和實(shí)現(xiàn)。ContikiMAC僅使用異步機(jī)制,沒有同步信息,也沒有額外的包頭數(shù)據(jù)

3、。ContikiMAC數(shù)據(jù)包是普通的鏈路層信息。ContikiMAC具有更為高效節(jié)能的喚醒機(jī)制。通過一系列的精準(zhǔn)的時(shí)間約束來實(shí)現(xiàn)。另外,ContikiMAC使用了快速休眠的優(yōu)化方法,以允許快速的檢測(cè)到失敗的喚醒,并且采用傳輸時(shí)序鎖優(yōu)化方法,允許傳輸數(shù)據(jù)時(shí)能耗的實(shí)時(shí)優(yōu)化。ContikiMAC中的機(jī)制是由現(xiàn)有的周期循環(huán)機(jī)制中啟發(fā)而來的。周期喚醒的想法在許多的協(xié)議中都使用過,如B-MAC,X-MAC和BoX-MAC。時(shí)序鎖優(yōu)化已經(jīng)先前由WiseMAC中所推薦使用,也已經(jīng)被用于其他的一些協(xié)議。重發(fā)數(shù)據(jù)包作為喚醒方式也已經(jīng)被TinyOS的BoX-MAC協(xié)議所使用。本報(bào)告的結(jié)構(gòu)如下所示。第二部分介紹Con

4、tikiMAC機(jī)制和它的原理。第三部分介紹在Contiki 2.5系統(tǒng)中的ContikiMAC實(shí)現(xiàn)。第四部分評(píng)估ContikiMAC協(xié)議的節(jié)能效果,包含微基準(zhǔn)測(cè)試和在網(wǎng)絡(luò)中的數(shù)據(jù)收集。相關(guān)工作在第五部分介紹,并且第六部分做總結(jié)。圖1. ContikiMAC:節(jié)點(diǎn)在大部分時(shí)間內(nèi)休眠,周期性的醒來檢測(cè)射頻信號(hào)。如果檢測(cè)到了信道中有數(shù)據(jù)包傳輸,接收端保持喚醒狀態(tài)以接收數(shù)據(jù)包,并發(fā)送鏈路層確認(rèn)信息。當(dāng)發(fā)送數(shù)據(jù)包時(shí),發(fā)送端不斷重發(fā)數(shù)據(jù)包直至收到鏈路層確認(rèn)信息。圖2. 廣播數(shù)據(jù)包在整個(gè)喚醒周期內(nèi)不斷重發(fā)2. ContikiMACContikiMAC是一個(gè)射頻周期休眠(Radio Duty Cycling

5、Protocol)協(xié)議,使用周期性的喚醒來監(jiān)聽鄰居節(jié)點(diǎn)的數(shù)據(jù)包傳輸。如果檢測(cè)到數(shù)據(jù)包傳輸,接收端保持喚醒以能夠接收完整的數(shù)據(jù)包。當(dāng)數(shù)據(jù)包被成功接收時(shí),接收端發(fā)送一個(gè)鏈路層確認(rèn)信息。為了傳輸數(shù)據(jù),發(fā)送端不斷重發(fā)數(shù)據(jù)包直到接收到來自接收端的鏈路層確認(rèn)信息。發(fā)送廣播包時(shí)不要求確認(rèn)。另外,發(fā)送端會(huì)在整個(gè)周期內(nèi)重發(fā)數(shù)據(jù)包以確保所有的鄰居可以接收到。ContikiMAC的基本原理如圖1和圖2所示。圖3. ContikiMAC傳輸和CCA時(shí)間2.1 ContikiMAC 時(shí)序關(guān)系ContikiMAC有一個(gè)高效節(jié)能的喚醒機(jī)制,依賴精確的時(shí)間控制。ContikiMAC喚醒使用了低代價(jià)的信道確認(rèn)(CCA)機(jī)制,使

6、用射頻收發(fā)機(jī)中RSSI信息用來給出信道中射頻能量的指示。如果RSSI低于某個(gè)給定的閾值,CCA會(huì)返回正值,標(biāo)示信道內(nèi)飾沒有信號(hào)的。如果RSSI值高于某個(gè)給定的閾值,CCA會(huì)返回負(fù)值,標(biāo)示信道現(xiàn)在正被使用。ContikiMAC時(shí)序關(guān)系如圖3所示。從圖中所示的各個(gè)時(shí)間為:ti : 數(shù)據(jù)包間隔;tr : 一個(gè)穩(wěn)定的RSSI測(cè)量所需的時(shí)間,用以給出一個(gè)穩(wěn)定的CCA值;tc : 每個(gè)CCA間的間隔;ta : 接收數(shù)據(jù)包和發(fā)送確認(rèn)包之間的間隔;td : 接收端成功接收到確認(rèn)信息所需的時(shí)間;圖4. 數(shù)據(jù)包的傳輸時(shí)間必須足夠長(zhǎng),才不會(huì)落在兩個(gè)CCA間隔的時(shí)間內(nèi)。所有的時(shí)間必須滿足一系列的約束。首先,對(duì)于ti,

7、每個(gè)傳輸數(shù)據(jù)包之間的間隔,必須要小于tc,每個(gè)CCA之間的間隔。這是為了確保第一個(gè)或者第二個(gè)CCA能夠檢測(cè)到傳輸?shù)臄?shù)據(jù)包。如果tc小于ti,兩個(gè)CCA將有不會(huì)可靠的檢測(cè)到數(shù)據(jù)傳輸。ti和 tc的關(guān)系也限定了ContikiMAC中所能支持的數(shù)據(jù)包的最短大小,如圖4所示。對(duì)于ContikiMAC,使用兩個(gè)CCAs來檢測(cè)數(shù)據(jù),傳輸包長(zhǎng)不能太短而使其落在兩個(gè)CCAs之間。特別的,ts,最短數(shù)據(jù)包的傳輸時(shí)間,必須要長(zhǎng)于tr + tc + tr。當(dāng)一個(gè)CCA檢測(cè)到數(shù)據(jù)包的傳輸時(shí),ContikiMAC保持射頻的打開來接收到完整的數(shù)據(jù)包。當(dāng)一個(gè)完整的數(shù)據(jù)包被接收后,發(fā)送一個(gè)鏈路層確認(rèn)信息。發(fā)送確認(rèn)信息的時(shí)間t

8、a,和確認(rèn)信息被檢測(cè)到的時(shí)間td,確保要小于CCA間隔tc。我們能夠構(gòu)建出完整的ContikiMAC時(shí)間約束關(guān)系為:ta + td ti tc tc + 2tr ts. (1)使用IEEE 802.15.4 鏈路層和一個(gè)特定的收發(fā)器,在式(1)中的部分變量可以確定。首先,ta,接收到數(shù)據(jù)包和確認(rèn)發(fā)出間的時(shí)間,在IEEE 802.15.4規(guī)范中已被指定為12個(gè)符號(hào)時(shí)間。在802.15.4,一個(gè)符號(hào)長(zhǎng)為4/250 ms,則ta=48/250=0.192ms。第二,IEEE 802.15.4接收端可以在4字節(jié)的前導(dǎo)碼和1字節(jié)的幀起始符傳輸后可以檢測(cè)到確認(rèn)信息接收,時(shí)間為40/250ms。因此,td=

9、40/250。最后,tr在CC2420的數(shù)據(jù)手冊(cè)中已給出,時(shí)間為0.192ms。使用這些數(shù)據(jù)代替式(1),式(1)變?yōu)椋?.352 ti tc tc + 0.384 0.736ms,為所能處理的最短數(shù)據(jù)包的大小做了限制。在250kbps的傳輸速率時(shí),意味著數(shù)據(jù)包的大小至少為23字節(jié),包含前導(dǎo),幀起始符和長(zhǎng)度域,剩余16字節(jié)的包數(shù)據(jù)域。為了確保所有的數(shù)據(jù)包都大于最短包長(zhǎng),數(shù)據(jù)包中可能添加額外的數(shù)據(jù)?;蛘撸绻W(wǎng)絡(luò)層可以確保數(shù)據(jù)包不會(huì)低于一個(gè)給定值,則不會(huì)添加額外的數(shù)據(jù)。例如,在IPv6的網(wǎng)絡(luò)中,數(shù)據(jù)包攜帶完整的IPv6頭部時(shí),必然會(huì)大于在IEEE 802.15.4的鏈路層中所要求的Contiki

10、MAC的最短包長(zhǎng)。使用6lowpan IPv6的頭部壓縮后,數(shù)據(jù)包可能會(huì)變小,但是確保一個(gè)最短包長(zhǎng)的方法很簡(jiǎn)單:不要壓縮低于某個(gè)給定長(zhǎng)度的IPv6的數(shù)據(jù)包。Contiki 2.5 中使用的ContikiMAC實(shí)現(xiàn)如下:ti=0.4ms,tc=0.5ms,ts=0.884ms。2.2 包檢測(cè)和快速休眠ContikiMAC 中的CCAs并不能可靠的檢測(cè)數(shù)據(jù)包的傳輸:他們只能檢測(cè)到射頻信號(hào)強(qiáng)度高于某個(gè)設(shè)定的閾值。檢測(cè)到射頻信號(hào)可能意味著,一個(gè)鄰居節(jié)點(diǎn)正在傳輸數(shù)據(jù)包至接收節(jié)點(diǎn),或者鄰居節(jié)點(diǎn)正在傳輸至另外的一個(gè)接收節(jié)點(diǎn),有或者其他的設(shè)備正在發(fā)送無線信號(hào),恰巧被CCA檢測(cè)到。ContikiMAC必須能夠識(shí)

11、別這些事件并作出合適的反應(yīng)。如果一個(gè)鄰居正在發(fā)送數(shù)據(jù)包給接收節(jié)點(diǎn),接收節(jié)點(diǎn)應(yīng)該保持喚醒以接收到完成的數(shù)據(jù)包并發(fā)送鏈路層確認(rèn)。其他檢測(cè)到數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn),能夠快速的再次進(jìn)入休眠。但是可能的接收節(jié)點(diǎn)不能快速的休眠,因?yàn)槠浔仨氁邮盏酵暾臄?shù)據(jù)包。當(dāng)一個(gè)CCA檢測(cè)到射頻活動(dòng)后,決定多久喚醒時(shí)間的一種樸素方法便是tl + ti + tl,tl為可能傳輸?shù)淖铋L(zhǎng)數(shù)據(jù)包的傳輸時(shí)長(zhǎng)。這就確保了即使CCA在數(shù)據(jù)包傳輸?shù)钠鹗继幮褋?,也可以被接收端接收到完整的?shù)據(jù)包。圖5. ContikiMAC的快速休眠優(yōu)化:如果在tl之前沒有檢測(cè)到信道為空,接收端進(jìn)入休眠。如果信道空閑時(shí)間超過ti,接收端進(jìn)入休眠。如果在信道空閑期

12、后沒有接收到數(shù)據(jù)包,即使檢測(cè)到信道活動(dòng),接收端也會(huì)進(jìn)入休眠。快速休眠優(yōu)化使得可能的接收節(jié)點(diǎn)可以盡快的進(jìn)入休眠,在CCA由于噪聲而喚醒的情況下??焖傩菝邇?yōu)化影響ContikiMAC傳輸?shù)奶囟J饺缦滤?。首先,如果CCA檢測(cè)到射頻活動(dòng),但是射頻活動(dòng)時(shí)間長(zhǎng)于最大數(shù)據(jù)包傳輸時(shí)長(zhǎng)tl,CCA檢測(cè)到噪聲并進(jìn)入休眠,也就是如果射頻活動(dòng)之后未緊跟這一個(gè)空閑期。第二,如果射頻活動(dòng)后有一個(gè)空閑期,但是長(zhǎng)于兩個(gè)數(shù)據(jù)包間的間隔,ti,接收端也會(huì)進(jìn)入休眠。第三,如果在射頻活動(dòng)后有一個(gè)正確長(zhǎng)度的空閑期,之后又可以檢測(cè)到射頻活動(dòng),但是無法檢測(cè)到包起始位置,接收端也會(huì)進(jìn)入休眠。這個(gè)過程在圖5中被描述。2.3 傳輸時(shí)序鎖定如

13、果我們假定每個(gè)接收端有一個(gè)周期性且穩(wěn)定的喚醒間隔,發(fā)送端便可以利用接收端喚醒時(shí)間的知識(shí)來優(yōu)化傳輸。發(fā)送端能夠通過記下從接收端收到鏈路層ACK的時(shí)間來學(xué)習(xí)到接收端喚醒時(shí)間。因?yàn)榻邮斩吮仨毿褋硪越邮諗?shù)據(jù)包,發(fā)送端可以假定接收到鏈路層ACK意味著發(fā)送端已經(jīng)成功在接收端的喚醒窗口內(nèi)傳輸了數(shù)據(jù),因此發(fā)送端可以發(fā)現(xiàn)接收端的喚醒時(shí)間。在發(fā)送端學(xué)習(xí)了接收端的時(shí)序后,發(fā)送端著手開始在接收端正要進(jìn)入喚醒時(shí)間前發(fā)送數(shù)據(jù)給接收端。這個(gè)過程如圖6所示。圖6. 傳輸時(shí)序鎖定:一次成功的數(shù)據(jù)傳輸后,發(fā)送端可以學(xué)習(xí)到接收端的喚醒時(shí)間,隨后便可以發(fā)送更短的傳輸了。3. 實(shí)現(xiàn)在Contiki 2.5中的ContikiMAC實(shí)現(xiàn)使

14、用Contiki實(shí)時(shí)定時(shí)器(rtimer)來調(diào)度周期性喚醒時(shí)間,以確保在許多其他的進(jìn)程在運(yùn)行時(shí)依然有一個(gè)穩(wěn)定的時(shí)間行為。實(shí)時(shí)定時(shí)器的優(yōu)先級(jí)高于任何Contiki中的進(jìn)程無論在任何時(shí)間里。ContikiMAC的喚醒機(jī)制作為一個(gè)線程在運(yùn)行,由一個(gè)周期性實(shí)時(shí)定時(shí)器。這個(gè)線程執(zhí)行周期性的喚醒和快速休眠優(yōu)化。傳輸過程有一個(gè)普通的Contiki進(jìn)程所驅(qū)動(dòng)。如果在傳輸過程中喚醒事件被調(diào)度,喚醒定時(shí)器會(huì)開啟一個(gè)新的喚醒周期,而不是執(zhí)行喚醒后的操作。時(shí)序鎖定機(jī)制作為ContikiMAC中的一個(gè)分離的模塊,允許被其他的周期休眠機(jī)制所使用,例如Contiki X-MAC實(shí)現(xiàn)。時(shí)序鎖定機(jī)制維持了一個(gè)鄰居列表和他們的喚

15、醒時(shí)間。ContikiMAC傳輸邏輯記錄每個(gè)包傳輸?shù)臅r(shí)間。當(dāng)一個(gè)鏈路層確認(rèn)被接收時(shí),它標(biāo)示了時(shí)序鎖模塊上一個(gè)包的傳輸時(shí)間。這個(gè)時(shí)間被用于作為接收端的喚醒時(shí)間的估計(jì)。在開始一次傳輸前,ContikiMAC傳輸邏輯調(diào)用時(shí)序所模塊,檢查是否有接收端的喚醒時(shí)間記錄。如果有的話,時(shí)序鎖模塊將數(shù)據(jù)包放入發(fā)送隊(duì)列,并設(shè)置一個(gè)回調(diào)定時(shí)器在預(yù)估的接收端喚醒時(shí)間。ContikiMAC將假定當(dāng)回調(diào)發(fā)生的時(shí)候傳輸開始。傳輸時(shí)間將顯著的小于正常的傳輸時(shí)間,因?yàn)樗鼉H僅在接受端正要醒來時(shí)發(fā)送數(shù)據(jù)。減小了傳輸?shù)臅r(shí)間因而也減少了射頻的擁塞。如果一個(gè)時(shí)序已知的鄰居重啟或其時(shí)鐘發(fā)生偏移較多時(shí),與這個(gè)鄰居的通信將會(huì)失敗。為防止這種情

16、況的發(fā)生,ContikiMAC為每個(gè)已知節(jié)點(diǎn)維護(hù)一個(gè)失敗傳輸?shù)拇螖?shù)。當(dāng)達(dá)到一定數(shù)量的傳輸失敗后(在Contiki 2.5中為16),鄰居節(jié)點(diǎn)從已知的鄰居列表中刪除。同樣的,如果在一個(gè)固定的時(shí)間內(nèi)(在Contiki 2.5中為30s)沒有收到鏈路層ACK,無論多少次的傳輸,鄰居節(jié)點(diǎn)都會(huì)被刪除。4. 評(píng)估這份報(bào)告評(píng)價(jià)了ContikiMAC的兩個(gè)方面:?jiǎn)蝹€(gè)ContikiMAC操作的能量消耗以及在一個(gè)數(shù)據(jù)收集傳感器網(wǎng)絡(luò)中ContikiMAC的能量消耗。除了在此處呈現(xiàn)的結(jié)果外,我們還在最近的許多工作中使用了ContikiMAC。為獲取更多的ContikiMAC性能結(jié)果,躲著可以參照Dunkel等;。圖7

17、. 一個(gè)ContikiMAC喚醒時(shí)間,沒有檢測(cè)到 圖8. 一個(gè)CCA喚醒,檢測(cè)到了信號(hào)任何信號(hào)。在下圖中所示是兩個(gè)CCAs。 活動(dòng),同時(shí)快速休眠機(jī)制將射頻迅速關(guān)閉。4.1 微基準(zhǔn)我們測(cè)試了單個(gè)ContikiMAC操作的能量消耗,通過測(cè)量運(yùn)行ContikiMAC 的Tmote Sky mote的電流曲線。我們?cè)赥mote Sky的電源部分串聯(lián)一個(gè)100的電阻,通過示波器測(cè)量電阻的電壓來得到電流曲線。我們還通過注冊(cè)射頻的狀態(tài)在Tmote Sky的一個(gè)I/O引腳上,使用一個(gè)高電流值表示視頻開,一個(gè)低電流值表示射頻關(guān),同樣使用示波器來測(cè)量引腳的狀態(tài)。所有的測(cè)量使用帶有8HZ喚醒頻率的ContikiMA

18、C,意味著每次的喚醒間隔為125ms。圖9. 廣播接收:?jiǎn)拘眩鼨z測(cè),接收廣播數(shù)據(jù)包圖10. 單播接收:?jiǎn)拘?,包檢測(cè),接收單播數(shù)據(jù)包圖7描述了ContikiMAC的喚醒過程中沒有檢測(cè)到數(shù)據(jù)包的電流曲線。在下面的圖中,可以看到射頻打開了兩次,執(zhí)行了ContikiMAC喚醒中的兩個(gè)CCAs。圖8描述了一個(gè)ContikiMAC喚醒過程,其中在第二個(gè)CCA處檢測(cè)到了噪聲的射頻活動(dòng)。射頻隨后保持打開了一段時(shí)間,知道快速休眠優(yōu)化機(jī)制將射頻關(guān)閉。圖9和圖10分別描述了一個(gè)廣播包的接收和一個(gè)單播包的接收。在兩種場(chǎng)景中,作為ContikiMAC喚醒機(jī)制的一部分,射頻都被打開。射頻隨后保持打開狀態(tài)知道數(shù)據(jù)包被接收

19、??梢钥吹皆趶V播場(chǎng)景中射頻打開的時(shí)間比單播場(chǎng)景更長(zhǎng)。這是因?yàn)樵趩尾?chǎng)景中包含有ACK傳輸確認(rèn)的功能。在圖11至圖13中描述了傳輸過程中的電流曲線。圖11描述了廣播傳輸?shù)碾娏髑€。一個(gè)廣播包傳輸必然會(huì)醒來并將數(shù)據(jù)包傳遞給所有的鄰居。因此運(yùn)行在所有的醒來階段。因?yàn)橐粋€(gè)廣播包傳輸并不會(huì)期待任何鏈路層的確認(rèn),發(fā)送者可以在每次數(shù)據(jù)包傳輸?shù)拈g隔中關(guān)閉射頻以節(jié)省能量。圖12描述了單播傳輸至一個(gè)先前未知的鄰居的電流圖。在這種情況下,鄰居的喚醒時(shí)間發(fā)生在大約60ms后,這導(dǎo)致了發(fā)送端重發(fā)了數(shù)據(jù)包持續(xù)了70ms。在發(fā)送端的開始部分,初始的CCA也可以看到。隨后的傳輸至相同接收端的過程可以被優(yōu)化為在鄰居期待的醒來時(shí)

20、間的起始處傳輸,如圖13所示,顯示了由于時(shí)序鎖的優(yōu)化減少了許多次的重復(fù)傳輸。圖11. 廣播傳輸圖12. 未同步的單播傳輸(隨后的喚醒在110ms處)圖13. 同步的單播傳輸(隨后的喚醒在110ms處)圖14. 單個(gè)ContikiMAC操作的能量消耗通過計(jì)算從圖7至圖13中的圖示中的區(qū)域,我們可以計(jì)算得到每個(gè)操作的能量消耗。結(jié)果顯示在圖14上。我們看到廣播傳輸?shù)南氖沁h(yuǎn)大于喚醒的操作的。這是有好處的:?jiǎn)拘巡僮魇窃贑ontikiMAC中的最為頻繁的操作每秒執(zhí)行很多次因而應(yīng)該是顯著的低于其他操作的。有了圖14中的信息,我們可以比較ContikiMAC喚醒操作與其他的周期休眠機(jī)制的喚醒操作的能耗。表1

21、中顯示了在ContikiMAC中的喚醒操作的成本與Contiki X-MAC實(shí)現(xiàn)和Hui and Culler的機(jī)制的比較。表1. 喚醒操作的能耗比較圖15. 有丟包率的數(shù)據(jù)采集網(wǎng)絡(luò)中周期休眠,使用X-MAC與ContikiMAC,作為喚醒頻率的函數(shù)(圖中表示為信道采集速率)4.2 網(wǎng)絡(luò)電量消耗為了評(píng)估ContikiMAC和優(yōu)化效果的網(wǎng)絡(luò)電量消耗,我們?cè)贑ontiki仿真環(huán)境中運(yùn)行了一系列的仿真。Contiki仿真環(huán)境包含Cooja網(wǎng)絡(luò)模擬器和MSPsim設(shè)備模擬器。MSPsim提供了周期精確度的Tmote Sky仿真,使用一個(gè)符號(hào)精確度的CC2420射頻模擬器。它能夠模擬ContikiMAC

22、的行為在一個(gè)時(shí)間精確和可控的環(huán)境中。圖16. 使用ContikiMAC的網(wǎng)絡(luò)周期休眠,沒有丟包率的網(wǎng)絡(luò)中的所有節(jié)點(diǎn)的平均值。我們運(yùn)行了一系列的仿真使用20個(gè)節(jié)點(diǎn)的仿真拓?fù)?。所有的?jié)點(diǎn)運(yùn)行Contiki和Contiki Collect協(xié)議。Contiki Collect協(xié)議是Contiki Rime協(xié)議棧的一部分,是一個(gè)不需要地址的數(shù)據(jù)收集協(xié)議,構(gòu)建了一個(gè)樹,根節(jié)點(diǎn)為一個(gè)或多個(gè)sink節(jié)點(diǎn),通過這些節(jié)點(diǎn)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。Contiki Collect的性能已經(jīng)通過實(shí)驗(yàn)驗(yàn)證與其他的數(shù)據(jù)收集協(xié)議類似,例如Tiny OS Collection Tree Protocol。節(jié)點(diǎn)向sink節(jié)點(diǎn)每隔120s發(fā)

23、送一個(gè)數(shù)據(jù)包。每次傳輸都通過31次的hop-by-hop的轉(zhuǎn)發(fā)。每個(gè)節(jié)點(diǎn)發(fā)送100個(gè)數(shù)據(jù)包向sink節(jié)點(diǎn)。仿真運(yùn)行直到所有的數(shù)據(jù)包都被sink節(jié)點(diǎn)接收。在所有的仿真中,Contiki Collect能夠成功的將所有的數(shù)據(jù)包發(fā)送給sink節(jié)點(diǎn)。仿真的目的既是測(cè)量ContikiMAC中典型的RDC,又可以測(cè)量快速休眠和時(shí)序鎖優(yōu)化的效果。我們控制休眠頻率和仿真中的丟包率水平的值。通過運(yùn)行一系列沒有丟包率情況下的仿真:數(shù)據(jù)包不會(huì)因?yàn)殒溌窢顩r丟包,僅僅會(huì)由于與其他數(shù)據(jù)包的沖突而丟包。第二個(gè)仿真設(shè)定使用鏈路丟包的模型,丟包的概率是與發(fā)送端與接收端的距離的平方成正比的。我們通過使用Contikis Powe

24、rtrace工具測(cè)量射頻周期。使用射頻休眠周期作為網(wǎng)絡(luò)中的能耗的代理,作為射頻收發(fā)器有一個(gè)線性的能耗,依據(jù)其時(shí)間。我們首先比較了ContikiMAC和X-MAC的性能在一個(gè)有丟包率的網(wǎng)絡(luò)環(huán)境中。我們期待X-MAC的能耗會(huì)顯著的高于ContikiMAC的能耗,由于在X-MAC中的更高成本的喚醒機(jī)制。圖15顯示了這個(gè)結(jié)果:ContikiMAC的能耗是顯著的低于X-MAC在所有的實(shí)驗(yàn)的頻率上。然后,我們測(cè)量了獨(dú)自的ContikiMAC優(yōu)化的效果。我們使用ContikiMAC優(yōu)化開和關(guān)操作運(yùn)行仿真。結(jié)果顯示在圖16和圖17中。圖16中顯示了沒有丟包率環(huán)境下的RDC周期休眠。我們可以看到RDC隨著喚醒頻

25、率而增加:有更多的喚醒,整個(gè)網(wǎng)絡(luò)的能耗也會(huì)增加。我們還可以看到快速休眠和時(shí)序所優(yōu)化顯著的降低了能耗。圖17顯示了有丟包率網(wǎng)絡(luò)中的結(jié)果。可以看到在有丟包的環(huán)境中時(shí)序鎖和快速休眠優(yōu)化更有效。這是因?yàn)橐粋€(gè)時(shí)序鎖定的傳輸比未添加時(shí)序優(yōu)化的傳輸更短,導(dǎo)致了更少的傳輸能耗以及更少的射頻沖突。5. 相關(guān)工作射頻收發(fā)器的高能耗是一個(gè)廣為人知的問題,激發(fā)了在RDC上的許多的工作。RDC機(jī)制可以被分成兩個(gè)主要的部分:同步機(jī)制和異步機(jī)制。同步機(jī)制依賴同步過的鄰居節(jié)點(diǎn),然而異步機(jī)制并不依賴任何先驗(yàn)的同步信息。異步機(jī)制可以進(jìn)一步的分拆為發(fā)送端發(fā)起的和接收端發(fā)起的機(jī)制。在發(fā)送端發(fā)起的機(jī)制中,發(fā)送端在發(fā)送端和接收端發(fā)起通信,然而在接收端發(fā)起的機(jī)制中,接收端發(fā)起通信。ContikiMAC是一個(gè)發(fā)送端發(fā)起的異步機(jī)制。這篇文章提供了許多的機(jī)制的例子從這些類別中,以及混合類別,融合了不止一種類別特征的機(jī)制。同步協(xié)議的例子如早期工作S-MAC和T-MAC,以及最近的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論