傳感器網(wǎng)絡(luò)中實(shí)時(shí)通信的研究
近年來(lái),由于能夠適應(yīng)多種現(xiàn)實(shí)智能環(huán)境,傳感器網(wǎng)絡(luò)得到了快速發(fā)展,并以其自組織、自管理、自節(jié)能、可靠性高、造價(jià)低和適用于惡劣環(huán)境等特點(diǎn),被廣泛應(yīng)用于軍事、醫(yī)療衛(wèi)生、環(huán)境保護(hù)和交通等領(lǐng)域。在一些具體應(yīng)用中,有時(shí)需要對(duì)傳感器測(cè)量信息做出實(shí)時(shí)反映。比如在醫(yī)療中,對(duì)于病人血壓值的突然升高必須在很短時(shí)間內(nèi)了解并采取措施。在軍事打擊中,一些重要傳感器的數(shù)據(jù)必須盡快得到處理并能得到快速反應(yīng)。傳感器網(wǎng)絡(luò)應(yīng)用于工業(yè)自動(dòng)制造中也有實(shí)時(shí)性的要求。根據(jù)工業(yè)自動(dòng)化系統(tǒng)理論,實(shí)時(shí)系統(tǒng)分為3個(gè)等級(jí):低約束級(jí),允許響應(yīng)時(shí)間超過(guò)100 ms;一般約束級(jí),響應(yīng)時(shí)間在5~10 ms之間;高約束級(jí),響應(yīng)時(shí)間低于1 ms。本文以星型為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以IEEE802.15.4標(biāo)準(zhǔn)和ZigBee為基礎(chǔ)協(xié)議,研究傳感器網(wǎng)絡(luò)中MAC協(xié)議的實(shí)時(shí)性能。
2協(xié)議分析
IEEE 802.15.4定義了2個(gè)工作頻段,即2.4 GHz頻段和868/915 MHz頻段(適合不同國(guó)家地區(qū)),共分配27個(gè)具有3種速率的信道:在2.4 GHz頻段有16個(gè)速率為250 kb/s的信道,在915 MHz頻段有10個(gè)40 kb/s的信道,在868 MHz頻段有1個(gè)20 kb/s的信道。
為了達(dá)到網(wǎng)絡(luò)同步,IEEE 802.15.4在MAC層定義了超幀結(jié)構(gòu)。超幀的格式由傳感器網(wǎng)絡(luò)的協(xié)調(diào)器定義,有16個(gè)大小相等的時(shí)隙,每個(gè)超幀之間由網(wǎng)絡(luò)信標(biāo)幀(beacon)分隔,信標(biāo)幀在超幀的第一個(gè)時(shí)隙被傳輸。超幀分為競(jìng)爭(zhēng)訪問(wèn)周期(Contention Access Period,CAP)和無(wú)競(jìng)爭(zhēng)訪問(wèn)周期(Contention Free Period,CFP)。在CAP階段,設(shè)備采用CSMA-CA機(jī)制競(jìng)爭(zhēng)信道,設(shè)備對(duì)信道的訪問(wèn)延遲無(wú)法控制,無(wú)法實(shí)現(xiàn)實(shí)時(shí)要求,在CFP階段,網(wǎng)絡(luò)協(xié)調(diào)器為有實(shí)時(shí)性要求的設(shè)備分配GTS時(shí)隙,實(shí)現(xiàn)實(shí)時(shí)通信,如圖1所示。
2.1超幀的參數(shù)
由于IEEE 802.15.4允許設(shè)備采用節(jié)能模式,因而超幀有活動(dòng)和非活動(dòng)2種狀態(tài)。在非活動(dòng)狀態(tài)下,節(jié)點(diǎn)進(jìn)入休眠模式。這時(shí)使用2個(gè)參數(shù)信標(biāo)幀間隔:一個(gè)是信標(biāo)序號(hào)BO,即信標(biāo)間隔,要求0≤BO≤14;另一個(gè)參數(shù)是超幀序號(hào)SO,并且0≤SO≤BO≤14。當(dāng)BO=15時(shí),協(xié)調(diào)器將不再發(fā)送信標(biāo)幀,并且忽略 SupeRFrameOrder參數(shù)值。協(xié)調(diào)器只在超幀的活動(dòng)狀態(tài)為設(shè)備分配GTS,如圖2所示。
2.2 GTS的分配過(guò)程
當(dāng)設(shè)備發(fā)送MLME-GTS.request原語(yǔ)時(shí)請(qǐng)求GTS,設(shè)備將要發(fā)送的信息的長(zhǎng)度和目的地址都包含在原語(yǔ)中。協(xié)調(diào)器一旦接收到請(qǐng)求,為提出請(qǐng)求的設(shè)備分配GTS并發(fā)送應(yīng)答信息,然后協(xié)調(diào)器檢查當(dāng)前超幀是否有足夠空問(wèn)分配請(qǐng)求,并且重新計(jì)算CAP和CFP參數(shù)的長(zhǎng)度。如果協(xié)調(diào)器同時(shí)收到多個(gè)GTS請(qǐng)求,將按照FIFO(First in First out)機(jī)制排隊(duì),協(xié)調(diào)器將在aGTSD-escPersistenceTime時(shí)間內(nèi)完成決策,如圖3所示。
如果分配成功,協(xié)調(diào)器就在信標(biāo)中加入GTS指示幀,GTS指示幀中包含申請(qǐng)?jiān)O(shè)備的短地址、GTS的開(kāi)始時(shí)隙和GTS的長(zhǎng)度等信息。如果沒(méi)有足夠的空間可以分配申請(qǐng)的GTS,GTS指示幀中的開(kāi)始傳送時(shí)隙就被設(shè)置為0。當(dāng)設(shè)備收到協(xié)調(diào)器發(fā)送的確認(rèn)應(yīng)答后,將監(jiān)聽(tīng)信道,并等待最長(zhǎng) aGTSDescPersistenceTime時(shí)間(aGTSDescPersistenceTime=4 surperframe)。若在此期間收到的信標(biāo)幀中包含該設(shè)備的GTS指示時(shí),設(shè)備處理GTS指示;如果信標(biāo)幀中不含有該設(shè)備的GTS指示,宣布申請(qǐng)失敗。在GTS發(fā)送之前,發(fā)送者發(fā)送MCPS—DATA.request原語(yǔ)以監(jiān)測(cè)接收者是否做好接收準(zhǔn)備。當(dāng)協(xié)調(diào)器接到MCPS- DATA.request時(shí),協(xié)調(diào)器的MAC層將檢查是否有效,即是否為該設(shè)備分配過(guò)GTS。如果有效,在分配的時(shí)隙發(fā)送數(shù)據(jù)。GTS傳送不必使用 CSMA-CA機(jī)制,沒(méi)有競(jìng)爭(zhēng)和退避時(shí)間,這種方法能夠適合實(shí)時(shí)請(qǐng)求。
Petri網(wǎng)的概念是由德國(guó)人Carl Adam Petri于1960首先提出的,具有嚴(yán)密數(shù)學(xué)基礎(chǔ),能深刻、簡(jiǎn)潔地描述控制系統(tǒng)并能對(duì)系統(tǒng)的動(dòng)態(tài)性質(zhì)進(jìn)行分析。該方法以圖形的表達(dá)方式描述系統(tǒng),可直觀地顯示系統(tǒng)的動(dòng)態(tài)過(guò)程,具有可讀性和易于理解的特點(diǎn)。經(jīng)典的Petri網(wǎng)是簡(jiǎn)單的過(guò)程模型,由2種設(shè)備(庫(kù)所和變遷)、有向弧、以及令牌等元素組成的。庫(kù)所(Place)一般用圓形設(shè)備表示;變遷(Transition)用方形設(shè)備或者線表示,代表事件、轉(zhuǎn)化或傳輸;有向弧用來(lái)實(shí)現(xiàn)庫(kù)所和變遷之間的連接;令牌(Token)是庫(kù)所中的動(dòng)態(tài)對(duì)象,可以從一個(gè)庫(kù)所移動(dòng)到另一個(gè)庫(kù)所,令牌表示事物、信息、條件或?qū)ο蟮臓顟B(tài)。
根據(jù)上面的分析,協(xié)調(diào)器對(duì)于GTS的請(qǐng)求采取先來(lái)先服務(wù)的規(guī)則,設(shè)備1請(qǐng)求GTS得到協(xié)調(diào)器的安排可能性如圖4所示。這里假設(shè)設(shè)備1是一周期采樣的傳感器結(jié)點(diǎn),而且采樣周期小于等于幀長(zhǎng),在同一超幀中不會(huì)連續(xù)申請(qǐng)多個(gè)GTS。
一旦產(chǎn)生數(shù)據(jù)包,在隊(duì)列中等待發(fā)送。當(dāng)數(shù)據(jù)包移動(dòng)到隊(duì)首時(shí),發(fā)送GTS請(qǐng)求,直到分配到GTS時(shí)隙時(shí)才發(fā)送數(shù)據(jù)包。這樣,響應(yīng)時(shí)間由3部分組成:人隊(duì)時(shí)間、分配GTS時(shí)間和等待發(fā)送時(shí)間片的時(shí)間。
3.1設(shè)備請(qǐng)求GTS的響應(yīng)時(shí)間模型
分析中,假設(shè)每個(gè)設(shè)備申請(qǐng)GTS只占一個(gè)時(shí)隙(IEEE 802.15.4中允許一個(gè)GTS占用連續(xù)多個(gè)時(shí)隙)。假設(shè)網(wǎng)絡(luò)中只有一個(gè)設(shè)備需要GTS傳輸,采用PETRI網(wǎng)為傳感器網(wǎng)絡(luò)建立關(guān)于延遲模型如圖5所示。
圖 5中,t1處加入時(shí)間控制,用來(lái)仿真數(shù)據(jù)包到達(dá),由傳感器周期性采樣的性質(zhì),選擇間隔為常數(shù)的分布,參數(shù)為λ,表示每秒到達(dá)信息包個(gè)數(shù)。根據(jù)采樣時(shí)間,將傳感器分為2種:一種是周期傳感器;另一種是事件驅(qū)動(dòng)傳感器。采用周期采樣,一般探測(cè)周期為300 ms,于是,λ=300 ms。
在 t4時(shí)間加入常數(shù)分布的時(shí)間控制,均值為μ,根據(jù)文獻(xiàn)[3]計(jì)算,aBaseSlotDuration=60 symbols,datarate=62.5 ksymbols/s(2 450 MHz),則計(jì)算得到a slot time="0".96 ms,μ=0.96×16=15.36 ms;變化范圍為正負(fù)6×0.96=5.76 ms,符合(9.6,21.12)的均勻分布。由于處理速度大于包的生成速度,設(shè)備的GTS請(qǐng)求被立即分配,立即發(fā)送所有包。此過(guò)程滿足高約束實(shí)時(shí)環(huán)境。
3.2 多個(gè)設(shè)備請(qǐng)求GTS的響應(yīng)時(shí)間的模型
如果有多于7個(gè)設(shè)備同時(shí)請(qǐng)求GTS,它的完整模型如圖6所示。
圖 6中左邊每一行表示1個(gè)設(shè)備要求申請(qǐng)GTS傳送,8行表示8個(gè)設(shè)備要求GTS傳送;右邊的2行,下面一行用來(lái)控制整幀的時(shí)間推進(jìn),上面的用來(lái)控制幀中時(shí)隙的推進(jìn)。P6和P22的7個(gè)令牌,表示幀中最多可以分配7個(gè)時(shí)隙的GTS(這里表示最多可分配7個(gè)設(shè)備的申請(qǐng))。P1,P6等4個(gè)令牌表示每個(gè)設(shè)備有4個(gè)數(shù)據(jù)包產(chǎn)生,并需要發(fā)送。在t1,t5,t7,t11,t17,t20,t23,t26處設(shè)置時(shí)間控制函數(shù),表示數(shù)據(jù)包產(chǎn)生的時(shí)間間隔。仿真中假設(shè)傳感器周期探測(cè),設(shè)常數(shù)分布300 ms(大部分溫度濕度傳感器的探測(cè)周期)。在t4處設(shè)置時(shí)間控制函數(shù),常數(shù)分布,表示時(shí)隙之間間隔,即時(shí)隙寬度,0.96 ms。在t13處設(shè)置時(shí)間控制函數(shù),表示整個(gè)幀的長(zhǎng)度,常數(shù)分布15.36 ms。仿真表明,響應(yīng)時(shí)間不是很長(zhǎng),最大等待時(shí)間為1個(gè)超幀的長(zhǎng)度15.36 ms,即它能滿足實(shí)時(shí)的低約束環(huán)境。如果設(shè)備請(qǐng)求GTS的個(gè)數(shù)增加30倍,需要分配5個(gè)超幀時(shí)間的長(zhǎng)度,而設(shè)備最多等待4個(gè)超幀時(shí)間。因此,一些設(shè)備失去了分配GTS的機(jī)會(huì)。實(shí)際上,1個(gè)設(shè)備可以請(qǐng)求多個(gè)GTS,隨著GTS請(qǐng)求丟失的越多,響應(yīng)時(shí)間也隨著增加,仿真結(jié)果如圖7所示。
3.3多設(shè)備隨機(jī)請(qǐng)求GTS
圖 6中的模型也適合于事件驅(qū)動(dòng)傳感器,GTS請(qǐng)求隨機(jī)到達(dá)。假設(shè)包到達(dá)服從泊松分布,改變t1,t5,t7,t11,t17,t20,t23,t26處設(shè)置時(shí)間控制函數(shù),設(shè)服從期望值為15.36 ms(1幀的長(zhǎng)度)的負(fù)指數(shù)分布,產(chǎn)生GTS請(qǐng)求的結(jié)點(diǎn)從3~7進(jìn)行仿真。仿真結(jié)果如圖8所示。由于隨機(jī)產(chǎn)生的GTS請(qǐng)求,GTS的響應(yīng)時(shí)間比上面定時(shí)同時(shí)產(chǎn)生請(qǐng)求要短。但也可以看到隨著產(chǎn)生站點(diǎn)GTS請(qǐng)求的站點(diǎn)增多,最大響應(yīng)時(shí)間和平均響應(yīng)時(shí)間都在逐步增大。這樣隨著產(chǎn)生GTS的數(shù)量增多,丟失GTS的情況一定還會(huì)發(fā)生。由于隨機(jī)產(chǎn)生的GTS請(qǐng)求,GTS的響應(yīng)時(shí)間比上面定時(shí)同時(shí)產(chǎn)生請(qǐng)求要短。但也可以看到隨著產(chǎn)生站點(diǎn)GTS請(qǐng)求的站點(diǎn)增多,最大響應(yīng)時(shí)間和平均相應(yīng)時(shí)間都在逐步增大。這樣隨著產(chǎn)生GTS的數(shù)量增多,丟失GTS的情況一定還會(huì)發(fā)生。
4結(jié)語(yǔ)
根據(jù)對(duì)星型傳感器網(wǎng)絡(luò)的分析和仿真,如果每個(gè)設(shè)備只請(qǐng)求1個(gè)GTS時(shí)隙,最多允許7個(gè)設(shè)備同時(shí)請(qǐng)求GTS;否則,不滿足高約束實(shí)時(shí)環(huán)境。如果請(qǐng)求GTS的設(shè)備大于28,GTS將會(huì)丟失。如果1個(gè)設(shè)備請(qǐng)求多個(gè)GTS時(shí)隙,GTS丟失率會(huì)成倍增加。因而,現(xiàn)有的傳感器網(wǎng)絡(luò)協(xié)議不足以滿足實(shí)時(shí)系統(tǒng),協(xié)議的改進(jìn)有待進(jìn)一步研究。本文的研究成果對(duì)于傳感器網(wǎng)絡(luò)應(yīng)用于實(shí)時(shí)控制系統(tǒng)具有重要的參考價(jià)值。
評(píng)論