IEEE 802.15.4協議完整中文版 - 5.1.4 同步

5.1.4 同步

  本節介紹協調器產生信標以及設備與協調器同步的過程。對於支持信標的 PAN,同步是通過接收信標幀並對其解碼完成的;對於不支持信標的 PAN,同步是由設備向協調器輪詢數據完成的。

5.1.4.1 帶有信標的同步

  在信標使能的 PAN 中(即 macBeaconOrder < 15),所有的設備應該都具有獲取信標並進行同步的能力,以檢測是否存在未處理數據或者對信標進行跟蹤。只有當信標中包含的 PAN 標識符等於 macPANId 時,設備才使用該信標進行同步。如果 macPANId 指定的是廣播 PAN 標識符,設備則不進行同步。

  設備通過 MLME-SYNC.request 原語來獲取信標。如果該原語中指定對信標跟蹤,設備將通過有規律且適時的激活接收機來試圖獲得信標並對其進行跟蹤;否則,設備將只試圖獲取信標一次或者如果在前一次請求中進行了跟蹤,則在下一個信標之後結束跟蹤。

  要獲取信標並進行同步,設備將打開接收機,並使之持續最多 [aBaseSuperframeDuration × (2n + 1)],其中 n 是 macBeaconOrder 的值。如果設備沒有接收到包含當前 PAN 標識符的信標幀,其 MLME 將重複這個過程。一旦丟失信標幀的次數達到 aMaxLostBeacons,MLME 將用 MLME-SYNC-LOSS.indication 原語通知上層,並將丟失原因參數設置爲 BEACON_LOST。

  MLME 將在每一個所接收的信標幀的相同的符號邊界處加上時間戳,其中符號的位置由屬性 macSyncSymbolOffset 指定,且應當與存儲在 macBeaconTxTime 中的輸出信標幀所使用的時間戳相等。時間戳指的是在達到符號邊界時的設備本地時鐘時間。時間戳是一個相對的時間測量,即它可能是絕對的,也可能不是絕對的,這依賴於具體的實現。

  如果收到了受保護信標幀(即幀控制字段中的安全使能子字段爲 1),設備將對信標幀進行如 7.2.3 節所述的非安全處理。

  如果非安全處理返回的狀態不是 SUCCESS,MLME 將發送 MLME-COMM-STATUS.indication 原語(參考 6.2.4.2 節)來指示錯誤,並將其狀態參數設置爲非安全處理過程返回的狀態。

  信標相應的 PAN 描述符(參考表 17)的安全相關部分應設置爲由非安全處理過程返回的相應參數。若非安全處理過程的狀態爲 SUCCESS,PAN 描述符的 SecurityFailure 部分將設置爲 SUCCESS,否則設置爲非安全處理過程中指示的錯誤碼。

  如果接收到了信標幀,但是其 MHR 中的源地址和源 PAN 標識符與協調器的源地址(macCoordShortAddressmacCoordExtendedAddress,具體選擇哪一個依賴於尋址模式)和設備的 PAN 標識符不匹配,MLME 將丟棄該幀。

  如果收到有效信標幀,並且 macAutoRequest 設置爲 FALSE,MLME 將通過發送 MLME-BEACON-NOTIFY.indication 原語把信標參數傳遞給上層。如果收到信標幀,且 macAutoRequest 設置爲 TRUE,MLME 將首先發送 MLME-BEACON-NOTIFY.indication 原語(如果信標包含有效載荷),然後把它的地址同信標幀地址列表字段中的那些地址進行比較。如果地址列表字段中包含設備的短地址或者擴展地址,並且源 PAN 標識符和 macPANId 匹配,設備將從協調器中提取待處理的數據(參考 5.1.6.3 節)。

  如果信標跟蹤被激活,MLME 將在下一個信標幀發送之前打開它的接收機,即在下一個超幀的已知開始時間之前打開接收機。如果 MLME 連續的丟失信標的數目達到 aMaxLostBeacons,MLME 將過 MLME-SYNC-LOSS.indication 原語作出響應,並將丟失原因設置爲 BEACON_LOST。

  在圖 21 中,上層發出了一個同步請求,並將 TrackBeacon 設爲 FALSE,接着 MLME 將搜索信標幀。如果發現了信標幀,將判斷協調器是否包含待處理數據。如果包含有待處理數據,將按照 5.1.6.3 節所述方法請求數據。

這裏寫圖片描述

圖 21. 與信標使能 PAN 的協調器同步(不跟蹤信標)

  在圖 22 中,上層發出了一個同步請求,並將 TrackBeacon 設爲 TRUE,接着 MLME 將搜索信標幀。如果發現了信標幀,設備將使用一個定時器(預計下一個信標到來的前一刻)跟蹤信標。

這裏寫圖片描述

圖 22. 與信標使能 PAN 的協調器同步(跟蹤信標)

5.1.4.2 不帶有信標的同步

  所有工作在不支持信標的 PAN (即 macBeaconOrder = 15)中的設備應能夠根據上層的要求輪詢協調器的數據。

  當 MLME 接收到 MLME-POLL.request 原語(參考 6.2.14.1 節)後,設備開始輪詢協調器,並按照 5.1.6.3 節所述的方法從協調器中提取待處理數據。

5.1.4.3 孤立設備重新連接

  如果上層在請求發送數據之後接收到重複的通信失敗信息,它將認爲自己已被孤立。當設備事務未能到達協調器,即設備試圖發送數據 macMaxFrameRetries 次後仍沒有收到確認幀,則認爲通信失敗。如果上層得出自己已成爲孤立設備,它將命令 MLME 執行孤立設備重新連接過程,或者復位 MAC 子層執行連接過程。

  如果上層決定執行孤立設備重新連接過程,它將發送 MLME-SCAN.request 原語,並將參數 ScanType 設置爲孤立掃描、將參數 ScanChannel 設置爲待掃描的信道列表。收到此原語後,MAC 子層立即開始按照 5.1.2.3 節所述的方式進行孤立掃描。

  如果孤立掃描成功(即 PAN 已被定位),設備將用包含在協調器重新連接命令中的 PAN 信息來更新它的 MAC PIB(參考 5.3.8 節)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章