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