• 沒有找到結果。

第四章 高可靠度媒介存取控制層設計

4.2 CSMA/CA 機制

於前一小節介紹完硬體及開發環境後,本小節會開始介紹本研究所提出的媒 介存取控制層之軟體流程,首先介紹的是 CSMA/CA 機制。本研究所提出之 CSMA/CA 之流程如下圖 4-4 所示。本研究不使用盲目型隨機後退(Blind Random Backoff)機制,此機制為當初為了無線感測器網路省電目的所開發,為簡化 CSMA 機制的方法,盲目型隨機後退機制只在確認傳輸媒介通道淨空時才會開啟無線通 訊模組,這意味著很多時間,感測器節點並不知道網路系統內其他節點所發出的 封包,完全與系統隔絕,也無法確認系統目前狀態。

圖 4-4 CSMA/CA 機制的流程圖

在這流程演算法第一步是設置後退指數,後退指數(Backoff Exponent)提供一 個隨機後退的基數參考。當有資訊封包要傳送時以及當執行空閒通道評估 (Clear-Channel Assessment, CCA)後偵測到傳輸媒介被占用時,都會在進行隨機後 退。隨機後退算法為式(5-1),單位隨機後退時間UnitBackOffTime 為一個定值,各 家晶片廠商依據其研發的晶片實體層性能來制定,在德州儀器為 CC2530 所撰寫 用戶指南裡(USA: Texas Instruments, 2011)將這個數值設為 320μs。節點會在 0 ~ 7

中 隨 機 選 中 一 個 數 字 後 , 乘 上 UnitBackOffTime 後 得 到 隨 機 後 退 時 間 為由使用者設定一個以 dBm 為基準的閥值(Threshold),當空間中聲頻訊號電平 (Audio Signal Level)超過這個閥值達一段時間,無線通訊晶片即透過硬體介面告知 使用者此環境傳輸媒介正在被使用。德州儀器 CC2530 內部有兩個暫存器可作為 空閒通道評估的介面,分別為 CCACTRL0 以及 CCACTRL1 這兩個可程式化的暫 存器,CCACTRL0 主要用來給使用者設定閥值,德州儀器建議設定值為-84 dBm,

而 CCACTRL1 則是給使用者設定 CCA 的基本設置。當使用者對這兩個 CCA 控 制暫存器進行完設置後,CC2530 硬體本身會以每四個機械週期(約 124μs)進行一 輪偵測,當 4 個週期內的訊號平均電瓶超過閥值,則硬體會自動設置一個位於

圖 4-5 CCA 準確性測試圖

由圖 4-5 中可明顯地觀察到當發送端開始發送封包時,發送端天線輸出(紅線) 轉成高電位,同時接收端的 CCA 旗標(藍線)在過了一段偵測時間後也轉為低電位,

顯示傳輸媒介通道不為淨空,這部分轉換是正確的。但是圖中卻顯示了一些 CCA 的正確性問題,可以看到橘色圈框住的部分,由於目前日常生活中有太多 2.4 GHz 無線通訊協定的應用,導致 CCA 會受到其他 2.4 GHz 無線通訊協定的干擾,而誤 以為傳輸媒介亦有其他感測器節點正在使用。除此之外,亦可看到旗標常失真,

就算低於偵測時間也降至低電位。由此圖可顯示 CCA 準確性極不穩定,除了可 能受到其他 2.4 GHz 無線通訊的干擾,其硬體本身也有設計上的問題,

本研究所使用的 CSMA/CA 機制為遵循 IEEE 802.15.4 無線通訊標準協定所制 定,這也是目前各大晶片廠針對 IEEE 802.15.4 開發晶片時的依據。除此之外,本 研究將設計重心放於可靠的傳輸交握機制,盡可能地減少由通訊晶片運算所消耗 的時間浪費,故將一些 CSMA/CA 的機制在標準規範下簡化,例如漸增型後退指 數機制。依 IEEE 802.15.4 標準規範,若傳輸媒介通道不淨空,後退指數 BE 會調 整為式(5-2)判斷結果,這種稱為漸增型後退指數機制,根據 IEEE 802.15.4 標準,

最大後退指數

macMaxBE

的值範圍為 3 ~ 8,故本研究將其設定為 3,所以每回合 BE 選取最小值依然是 3,這種做法可以減少晶片執行選取最小值函數 min( , )a b 時 的運算消耗。減少由晶片運算所花費的時間對於之後實驗分析時有極大影響,因

為在分析無線感測網路傳輸實驗時,包括平均封包傳輸時間以及吞吐量等等,均