IEEE 802.15.4協議完整中文版 - 5.1.3 連接和斷開連接

5.1.3 連接和斷開連接

  本節介紹連接和斷開連接的過程。

5.1.3.1 連接

  只有當 MAC 子層執行復位操作後,上層才能嘗試將設備與 PAN 進行連接:發出 MLME-RESET.request 原語,其中參數 SetDefaultPIB 被設置爲 TRUE;完成 5.1.2.1.2 節所述的主動掃描或被動掃描。信道掃描的結果可以用於選擇合適的 PAN 網絡。從信道掃描過程返回的 PAN 描述符列表中選擇合適的 PAN 網絡的算法超出了本標準的介紹範圍。

  在選擇了一個用於連接的 PAN 網絡後,設備的上層將通過 MLME-ASSOCIATE.request 原語請求 MLME 對有關物理層和 MAC 子層的 PIB 屬性進行如下配置:

  —— 將 phyCurrentChannel 設置爲與 MLME-ASSOCIATE.request 原語中的參數 LogicalChannel。

  —— 將 phyCurrentPage 設置爲與 MLME-ASSOCIATE.request 原語中的參數 ChannelPage。

  —— 將 macPANId 設置爲與 MLME-ASSOCIATE.request 原語命令中的參數 CoordPANId。

  —— 將 macCoordExtendedAddressmacCoordShortAddress (取決於要連接的協調器的信標幀)設置爲與 MLME-ASSOCIATE.request 原語命令中的參數 CoordAddress。

  只有當 macAssociationPermit 被設置爲 TRUE 時,協調器才允許連接設備。同樣地,設備會根據掃描過程返回的結果,判斷協調器當前是否允許連接設備,只有當協調器允許連接時,設備纔會嘗試與 PAN 網絡進行連接。當 macAssociationPermit 被設置爲 FALSE 時,如果協調器接收到來自設備的連接請求命令,會直接忽略這個命令。

  設備通過 MLME-ASSOCIATE.request 原語開始與一個 PAN 網絡進行連接。需要注意的是,該原語只會讓設備與一個已經存在的 PAN 網絡進行連接,而不會讓它自己啓動一個新的 PAN 網絡。

  未連接設備的 MAC 子層通過向已存在的 PAN 網絡的協調器發送連接請求命令(參考 5.3.1 節)來初始化連接過程。如果因信道訪問失敗而不能發送連接請求命令,MAC 子層會通知上層。

  設備收到連接請求命令的確認幀並不意味着連接成功。協調器的上層需要一定的時間來判斷 PAN 網絡中的當前可用資源是否足夠允許另一個設備接入。上層需要在 macResponseWaitTime 內做出決定。如果上層發現該設備曾經連接到了網絡中,會將之前所獲得的所有設備相關的信息替換掉。如果有足夠的可用資源,協調器上層將給設備分配一個 16 爲短地址,然後 MAC 子層會生成一個包括新的地址以及一個表示連接成功的狀態的連接響應命令(參考 5.3.2 節)。連接響應命令。如果沒有足夠的可用資源,協調器的上層將通知 MAC 子層,然後 MLME 會生成一個表示連接失敗的狀態(參考表 6)的連接響應命令。連接響應命令應當以間接傳輸的方式發送給請求連接的設備,即將連接響應命令幀添加到協調器的未處理列表中,並由設備使用 5.1.6.3 節中描述的方法進行處理。

  如果連接響應命令的功能信息字段(參考 5.3.1.2 節)中的分配地址子字段被設爲 1,那麼協調器的上層將分配一個地址,其範圍根據協調器所支持的尋址模式而定,如表 1 所述。否則,短地址將等於 0xfffe。短地址 0xfffe 是一個特殊的情況,表示設備已經連接了,但是協調器沒有爲其分配短地址。在這種情況下,設備在網絡中只能使用它的擴展地址通信。

  設備接收到連接請求命令的確認幀後,最多會等待 macResponseWaitTime 給協調器做決定。PIB 性 macResponseWaitTime 是隨網絡拓撲結構而定的參數,用來匹配該設備將要連接的網絡的具體要求。如果設備跟蹤信標,它將試圖從協調器的信標幀中提取連接響應命令。如果設備沒有跟蹤信標,它將在等待 macResponseWaitTime 之後試圖從協調器中提取連接響應命令。如果設備在 macResponseWaitTime 之內沒有從協調器中提取處連接響應命令,其 MLME 會發出 NO_DATA 狀的 MLME-ASSOCIAYE.confirm 原語(參考 6.2.2.4 節),表明此次連接失敗。在這種情況下,上層將通過發送 TrackBeacon 參數設置爲 FALSE 的 MLME-SYNC.request 原語(參考 6.2.13.1 節)來終止信標跟蹤。

  如果連接響應命令的連接狀態字段表明連接成功,設備將把包含在該命令的短地址字段中的地址存儲在 macShortAddress 中。在該 PAN 網絡中使用這個短地址通信時依賴於表 1 中所描述的範圍。如果被選擇用來連接的信標中包含有協調器的短地址,那麼在連接響應命令幀中的 MHR 中所包含的協調器擴展地址將被存儲到 macCoordExtendedAddress 中。

表 1 —— 短地址的用法

macShortAddress 描述
0x0000-0xfffd 對於信標幀和數據幀,設備將使用短源尋址模式;對於 MAC 命令幀,設備將使用 5.3 節 所述的適當源尋址模式
0xfffe 對於信標幀和數據幀,設備將使用擴展源尋址模式;對於 MAC 命令幀,設備將使用 5.3 節 所述的適當源尋址模式
0xffff 設備未連接,不能進行任何數據幀通信;對於 MAC 命令幀,設備將使用 5.3 節 所述的適當源尋址模式

  如果連接響應命令的連接狀態字段表明連接成功,如果由於丟失了確認幀導致連接過程中出現錯誤,或者如果沒有接收到連接需要命令幀,那麼設備則將 macPANId 設爲默認值 0xffff。

  圖 17 描述了連接過程的消息流程圖。

這裏寫圖片描述

圖 17. 連接過程的消息流程圖

  圖 18 描述了一個沒有跟蹤協調器信標設備與 PAN 網絡成功連接的過程。

這裏寫圖片描述

圖 18. 連接過程的另一種消息流程圖

5.1.3.2 斷開連接

  上層通過向 MLME 發送 MLME-DISASSOCIATE.request 原語命令啓動斷開連接過程。

  當協調器希望它的一個連接設備脫離 PAN 時,它的 MLME 將以上層所發送的 MLME-DISASSOCIATE.request 原語中參數 TxIndirect 所描述的方式發送斷開連接通知命令。如果參數 TxIndirect 爲 TRUE,協調器的 MLME 將以間接的傳輸方式向設備發送斷開連接通知命令,即將斷開連接通知命令幀添加存儲在協調器的待處理事務列表中,並等待設備按照 5.1.6.3 節所述的方法進行提取。如果該命令幀沒有被成功地提取,協調器將認爲設備已經斷開連接了。如果參數 TxIndirect 爲 FALSE,協調器將直接向設備傳輸斷開連接通知命令。在這種情況下,如果由於訪問信道失敗而不能發送斷開連接通知命令,MAC 子層將通知上層。

  如果直接/間接傳輸事變,協調器將認爲設備已經斷開連接。

  如果設備想離開 PAN,其 MLME 將向協調器發送斷開連接通知命令。如果由於信道訪問失敗而不能發送該命令,MAC 子層將通知上層。如果沒有收到確認幀,設備將認爲它已經斷開連接了。

  如果設備接收到斷開連接通知命令,且該命令的源地址等於 macCoordExtendedAddress,那麼它將讓自己斷開連接。如果協調器接收到斷開連接命令,且該命令的源地址不等於 macCoordExtendedAddress,它會判斷該源地址是否屬於它所關聯的設備。如果是,協調器將會讓該設備斷開連接;否則,協調器將忽略該命令。

  設備在斷開連接時將刪除所有與 PAN 相關的信息,並將 macPANIdmacShortAddressmacAssociatedPANCoordmacCoordShortAddressmacCoordExtended-Address 設爲默認值。協調器在斷開某個設備的連接時,將刪除所有與該設備相關的信息。

  請求斷開連接的設備將通過 MLME-DISASSOCIATE.confirm 原語(參考 6.2.3.3 節)通知上層處理斷開連接的處理結果。

  圖 19 描述了設備與 PAN 斷開連接的消息流程圖。

這裏寫圖片描述

圖 19. 設備斷開連接的消息流程圖

  圖 20 描述了信標使能 PAN 中的協調器使用間接傳輸使設備斷開連接的消息流程圖。

這裏寫圖片描述

圖 20. 信標使能 PAN 的協調器使用間接傳輸的斷開連接的消息流程圖

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