導讀:科普篇
傳感器網絡中實時通信的研究
近年來,由于能夠適應多種現實智能環境,傳感器網絡得到了快速發展,并以其自組織、自管理、自節能、可靠性高、造價低和適用于惡劣環境等特點,被廣泛應用于軍事、醫療衛生、環境保護和交通等領域。在一些具體應用中,有時需要對傳感器測量信息做出實時反映。比如在醫療中,對于病人血壓值的突然升高必須在很短時間內了解并采取措施。在軍事打擊中,一些重要傳感器的數據必須盡快得到處理并能得到快速反應。傳感器網絡應用于工業自動制造中也有實時性的要求。根據工業自動化系統理論,實時系統分為 3 個等級:低約束級,允許響應時間超過 100 ms;一般約束級,響應時間在 5~10 ms 之間;高約束級,響應時間低于 1 ms。本文以星型為網絡拓撲結構,以 IEEE802.15.4 標準和 ZigBee 為基礎協議,研究傳感器網絡中 MAC 協議的實時性能。
2 協議分析
IEEE 802.15.4 定義了 2 個工作頻段,即 2.4 GHz 頻段和 868/915 MHz 頻段(適合不同國家地區),共分配 27 個具有 3 種速率的信道:在 2.4 GHz 頻段有 16 個速率為 250 kb/s 的信道,在 915 MHz 頻段有 10 個 40 kb/s 的信道,在 868 MHz 頻段有 1 個 20 kb/s 的信道。
為了達到網絡同步,IEEE 802.15.4 在 MAC 層定義了超幀結構。超幀的格式由傳感器網絡的協調器定義,有 16 個大小相等的時隙,每個超幀之間由網絡信標幀(beacon)分隔,信標幀在超幀的第一個時隙被傳輸。超幀分為競爭訪問周期(ContenTIon Access Period,CAP)和無競爭訪問周期(ContenTIon Free Period,CFP)。在 CAP 階段,設備采用 CSMA-CA 機制競爭信道,設備對信道的訪問延遲無法控制,無法實現實時要求,在 CFP 階段,網絡協調器為有實時性要求的設備分配 GTS 時隙,實現實時通信,如圖 1 所示。

2.1 超幀的參數
由于 IEEE 802.15.4 允許設備采用節能模式,因而超幀有活動和非活動 2 種狀態。在非活動狀態下,節點進入休眠模式。這時使用 2 個參數信標幀間隔:一個是信標序號 BO,即信標間隔,要求 0≤BO≤14;另一個參數是超幀序號 SO,并且 0≤SO≤BO≤14。當 BO=15 時,協調器將不再發送信標幀,并且忽略 SupeRFrameOrder 參數值。協調器只在超幀的活動狀態為設備分配 GTS,如圖 2 所示。
2.2 GTS 的分配過程
當設備發送 MLME-GTS.request 原語時請求 GTS,設備將要發送的信息的長度和目的地址都包含在原語中。協調器一旦接收到請求,為提出請求的設備分配 GTS 并發送應答信息,然后協調器檢查當前超幀是否有足夠空問分配請求,并且重新計算 CAP 和 CFP 參數的長度。如果協調器同時收到多個 GTS 請求,將按照 FIFO(First in First out)機制排隊,協調器將在 aGTSD-escPersistenceTIme 時間內完成決策,如圖 3 所示。

如果分配成功,協調器就在信標中加入 GTS 指示幀,GTS 指示幀中包含申請設備的短地址、GTS 的開始時隙和 GTS 的長度等信息。如果沒有足夠的空間可以分配申請的 GTS,GTS 指示幀中的開始傳送時隙就被設置為 0。當設備收到協調器發送的確認應答后,將監聽信道,并等待最長 aGTSDescPersistenceTIme 時間(aGTSDescPersistenceTime=4 surperframe)。若在此期間收到的信標幀中包含該設備的 GTS 指示時,設備處理 GTS 指示;如果信標幀中不含有該設備的 GTS 指示,宣布申請失敗。在 GTS 發送之前,發送者發送 MCPS—DATA.request 原語以監測接收者是否做好接收準備。當協調器接到 MCPS- DATA.request 時,協調器的 MAC 層將檢查是否有效,即是否為該設備分配過 GTS。如果有效,在分配的時隙發送數據。GTS 傳送不必使用 CSMA-CA 機制,沒有競爭和退避時間,這種方法能夠適合實時請求。
3 Petri 網模型
Petri 網的概念是由德國人 Carl Adam Petri 于 1960 首先提出的,具有嚴密數學基礎,能深刻、簡潔地描述控制系統并能對系統的動態性質進行分析。該方法以圖形的表達方式描述系統,可直觀地顯示系統的動態過程,具有可讀性和易于理解的特點。經典的 Petri 網是簡單的過程模型,由 2 種設備(庫所和變遷)、有向弧、以及令牌等元素組成的。庫所(Place)一般用圓形設備表示;變遷(Transition)用方形設備或者線表示,代表事件、轉化或傳輸;有向弧用來實現庫所和變遷之間的連接;令牌(Token)是庫所中的動態對象,可以從一個庫所移動到另一個庫所,令牌表示事物、信息、條件或對象的狀態。
根據上面的分析,協調器對于 GTS 的請求采取先來先服務的規則,設備 1 請求 GTS 得到協調器的安排可能性如圖 4 所示。這里假設設備 1 是一周期采樣的傳感器結點,而且采樣周期小于等于幀長,在同一超幀中不會連續申請多個 GTS。

一旦產生數據包,在隊列中等待發送。當數據包移動到隊首時,發送 GTS 請求,直到分配到 GTS 時隙時才發送數據包。這樣,響應時間由 3 部分組成:人隊時間、分配 GTS 時間和等待發送時間片的時間。
3.1 設備請求 GTS 的響應時間模型
分析中,假設每個設備申請 GTS 只占一個時隙(IEEE 802.15.4 中允許一個 GTS 占用連續多個時隙)。假設網絡中只有一個設備需要 GTS 傳輸,采用 PETRI 網為傳感器網絡建立關于延遲模型如圖 5 所示。
圖 5 中,t1 處加入時間控制,用來仿真數據包到達,由傳感器周期性采樣的性質,選擇間隔為常數的分布,參數為λ,表示每秒到達信息包個數。根據采樣時間,將傳感器分為 2 種:一種是周期傳感器;另一種是事件驅動傳感器。采用周期采樣,一般探測周期為 300 ms,于是,λ=300 ms。

在 t4 時間加入常數分布的時間控制,均值為μ,根據文獻[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 請求被立即分配,立即發送所有包。此過程滿足高約束實時環境。
3.2 多個設備請求 GTS 的響應時間的模型
如果有多于 7 個設備同時請求 GTS,它的完整模型如圖 6 所示。

圖 6 中左邊每一行表示 1 個設備要求申請 GTS 傳送,8 行表示 8 個設備要求 GTS 傳送;右邊的 2 行,下面一行用來控制整幀的時間推進,上面的用來控制幀中時隙的推進。P6 和 P22 的 7 個令牌,表示幀中最多可以分配 7 個時隙的 GTS(這里表示最多可分配 7 個設備的申請)。P1,P6 等 4 個令牌表示每個設備有 4 個數據包產生,并需要發送。在 t1,t5,t7,t11,t17,t20,t23,t26 處設置時間控制函數,表示數據包產生的時間間隔。仿真中假設傳感器周期探測,設常數分布 300 ms(大部分溫度濕度傳感器的探測周期)。在 t4 處設置時間控制函數,常數分布,表示時隙之間間隔,即時隙寬度,0.96 ms。在 t13 處設置時間控制函數,表示整個幀的長度,常數分布 15.36 ms。仿真表明,響應時間不是很長,最大等待時間為 1 個超幀的長度 15.36 ms,即它能滿足實時的低約束環境。如果設備請求 GTS 的個數增加 30 倍,需要分配 5 個超幀時間的長度,而設備最多等待 4 個超幀時間。因此,一些設備失去了分配 GTS 的機會。實際上,1 個設備可以請求多個 GTS,隨著 GTS 請求丟失的越多,響應時間也隨著增加,仿真結果如圖 7 所示。

3.3 多設備隨機請求 GTS
圖 6 中的模型也適合于事件驅動傳感器,GTS 請求隨機到達。假設包到達服從泊松分布,改變 t1,t5,t7,t11,t17,t20,t23,t26 處設置時間控制函數,設服從期望值為 15.36 ms(1 幀的長度)的負指數分布,產生 GTS 請求的結點從 3~7 進行仿真。仿真結果如圖 8 所示。由于隨機產生的 GTS 請求,GTS 的響應時間比上面定時同時產生請求要短。但也可以看到隨著產生站點 GTS 請求的站點增多,最大響應時間和平均響應時間都在逐步增大。這樣隨著產生 GTS 的數量增多,丟失 GTS 的情況一定還會發生。由于隨機產生的 GTS 請求,GTS 的響應時間比上面定時同時產生請求要短。但也可以看到隨著產生站點 GTS 請求的站點增多,最大響應時間和平均相應時間都在逐步增大。這樣隨著產生 GTS 的數量增多,丟失 GTS 的情況一定還會發生。

4 結語
根據對星型傳感器網絡的分析和仿真,如果每個設備只請求 1 個 GTS 時隙,最多允許 7 個設備同時請求 GTS;否則,不滿足高約束實時環境。如果請求 GTS 的設備大于 28,GTS 將會丟失。如果 1 個設備請求多個 GTS 時隙,GTS 丟失率會成倍增加。因而,現有的傳感器網絡協議不足以滿足實時系統,協議的改進有待進一步研究。本文的研究成果對于傳感器網絡應用于實時控制系統具有重要的參考價值。