IEEE 802.15.4协议——5.1.2.3 启动和重组PAN网络

5.1.2.3 启动和重组 PAN 网络

  本节介绍了 PAN 协调器启动 PAN 网络、重组 PAN 网络以及设备重新 连接到 PAN 网络的过程。

5.1.2.3.1 启动 PAN 网络

  要启动一个 PAN 网络,需要一个完整功能设备第一次执行 MAC 子层复位。复位过程包括发出 MLME-RESET.reques 原语(参考 6.2.8.1 节),并将 SetDefaultPIB 参数设置为 TRUE;执行主动信道扫描;选择合适的 PAN 标识符。从主动信道扫描过程返回的 PAN 描述符列表选择合适的 PAN 标识符的算法不在本标准的讨论范围内。此外,该完整功能设备还需要将 macShortAddress 设置为小于 0xffff 的一个值。

  该设备使用 MLME-START.request 原语(参考 6.2.12.1 节),且将 PANCoordinator 参数设为 TRUE、CoordRealigment 参数设为 FALSE,就可以开始操作 PAN 网络了。MAC 子层接收到这个原语后,它将按照 5.1.2.3.4 节指定的方式更新超帧配置和信道参数,然后发出状态为 SUCCESS 的 MLME-START.confirm 原语(参考 6.2.1.2.1 节)。然后,改设备就可以作为 PAN 协调器运行。

  图 16 描述了启动 PAN 网络时的消息流程图。

图 16. PAN 启动过程的消息流程图

图 16. PAN 启动过程的消息流程图

5.1.2.3.2 重组 PAN 网络

  如果协调器接收到 MLME-START.request 原语(参考 6.2.12.1 节),且其中的参数 CoordRealignment 为 TRUE,那么协调器将尝试传输一个协调器重组命令,该命令包含新的参数 PANId、ChannelNumber 和 (如果存在)ChannelPage。

  当协调器正在发送信标,并且参数 CoordRealigment 设置为 TRUE 时,下一个信标被发送时将使用当前的信道、以及当前的超帧配置,但是将该超帧的帧控制字段的帧预留子字段设置为 1。协调器在传输完信标之后,应当立即在当前信道上传输协调器重组命令,且使用 CSMA/CA 机制访问信道。

  当协调器没有发送信标,并且参数 CoordRealigment 设置为 TRUE 时,应立 即在当前的信道上传输协调器重组命令,且使用 CSMA/CA 机制访问信道。

  如果因为信道访问失败而导致协调器重组命令发送失败, MLME 将向上层发送状态为CHANNEL_ACCESS_FAILURE 的 MLME-START.confirm 原语命令。上层可以选择再次发送 MLME-START.request 原语。

  协调器重组命令发送成功后,将对后续帧进行如 5.1.2.3.4 节所述的操作,从而使用新的超帧配置和信道参数; 如果协调器并没有要发送信标,则立即更新为新的超帧配置,并且MAC层将发送状态为 SUCCESS 的 MLME-START.confirm 原语。

5.1.2.3.3 PAN 网络内的重组过程

  如果设备从它所关联的协调器接收到一条协调器重组命令(参考 5.3.8 节),且 MLME 没有携带孤立扫描,那么该设备的 MLME 应当发出 MLME-SYNC-LOSS.indication 原语,且将 LossReason 参数设为 REALIGNMENT,PANId、信道号、信道页和安全相关的参数设置为协调器重组命令中相应的字段。接着,协调器的上层发出一条 MLMESTART.request 原语,且将 CoordRealignment 参数设为 TRUE。设备的上层可以使用 MLME-SET.request 原语(参考 6.2.11.1 节)改变超帧配置或信道参数。

5.1.2.3.4 更新超帧配置和信道 PIB 属性

  为了更新超帧配置和信道属性,MLME 将从 MLME-START.request 原语的参数中取出一个值,分配给合适的 PIB 属性。MLME 将 macBeaconOrder 设置为 BeaconOrder 参数的值。如果 macBeaconOrder 等于 15,MLME 也会将 macSuperframeOrder 设为 15。在这种情况下,该原语配置的是非信标模式的 PAN 网络。如果 macBeaconOrder 小于 15, MAC 子层会将 macSuperframeOrder 设置为 SuperframeOrder 参数的值。此外,MAC 子层也会根据 PANId、ChannelPage、ChannelNumber 参数更新 macPANID、phyCurrentPage、phyCurrentChannel的值。

原文链接: https://www.gitbook.com/book/tidyjiang8/ieee-802-15-4/details