IEEE 802.15.4协议完整中文版 - 5.1.2.1 扫描信道

来源:互联网 发布:手机拍照后期制作软件 编辑:程序博客网 时间:2024/04/26 22:34

  本节介绍扫描信道、识别 PAN 标识符冲突、启动 PAN 网络的过程。

5.1.2.1 扫描信道

  所有的设备都应该能够对所规定的一组信道进行被动扫描和孤点扫描。此外,完整功能设备还应该能够进行能量检测和主动扫描。上层可以提出对一个信道页进行扫描的请求。信道页中包含了一组信道,这些信道由变量 phyChannelsSupported 指定。

  设备通过 MLME-SCAN.request 原语(参考 6.2.10.1 节)开始对信道的扫描。设备以信道号由低到高的顺序逐个扫描信道。在扫描期间,设备停止信标传输,并且只接受物理层上与正在进行的扫描有关的数据服务的帧。对于 UWB PHY 和 CSS PHY,适用于指定信道的所有先导码都会被扫描。扫描结束后,(信标使能的 PAN 网络的)协调器将重新开始信标传输。扫描结果通过 MLME-SCAN.confirm 原语(参考 6.2.10.2 节)返回。

5.1.2.1.1 能量检测(ED)信道扫描

  设备可以通过能量检测扫描获得每一个被扫描信道的能量峰值。未来的 PAN 协调器可利用这个信息,在选择一个最合适的信道后,启动一个新的 PAN 协调器。在能量检测扫描期间, MAC层将丢弃所有物理层数据服务传来的帧信息。

  设备通过 MLME-SCAN.request 原语可以发出对指定的一组信道进行能量检测扫描的请求,原语中的 ScanType 参数指明能量检测扫描。对于每一个信道, MLME 首先通过设置相应的 phyCurrentChannelphyCurrentPage 切换到此信道,然后在 [aBaseSuperframeDuration × (2n + 1)] 期间内重复地对信道进行能量检测,其中 n 表示 MLME-SCAN.request 原语中 ScanDuration 参数的值。对某一信道的扫描结束后,设备需要记住在此期间所获得的最大的 ED 值,然后再切换到信道列表中的下一个信道继续扫描。设备应当至少能存储一个信道 ED 值(译注:在实现该标准的具体代码中,可以指定设备最多可以存储多少个 ED 值)。

  当设备存储的信道 ED 值的个数达到所指定的最大值,或者所指定的每一个信道都被测量后,能量检查扫描结束。

5.1.2.1.2 主动扫描和被动扫描

  设备可以通过主动扫描或被动扫描对其无线通信范围内的协调器进行定位。主动扫描时,设备通过信标请求命令主动从协调器获取一个信标;被动扫描时,设备不会发生信标请求命令(译注:而是等待协调器发送的周期性信标)。图 12 和图 13 分别描述了主动扫描和被动扫描的消息流程图。

  在主动/被动扫描期间,MAC 子层将丢弃来自物理层数据服务的所有非信标帧。如果设备接收到了信标帧,但是在该帧的未处理地址列表中包含该设备的地址,那么该设备就不应该尝试从该帧中提取未处理的数据。

  在开始主动/被动扫描前,MAC 子层应当临时存储 macPANId 的值,并在扫描期间将其设置为 0xffff。这样做能使接收滤波器能接收到所有的信标,而不仅仅是它当前所属 PAN 网络的信标(参考 5.1.6.2 节)。扫描完成后,MAC 子层应当将 macPANId 的值恢复为所储存的扫描前的值。

这里写图片描述

图 12. 主动扫描的消息流程图

  设备通过 MLME-SCAN.request 原语可以发出对指定的一组信道进行主动/被动扫描的请求,原语中的 ScanType 参数指明主动/被动扫描。对于每一个信道, MLME 首先通过设置相应的 phyCurrentChannelphyCurrentPage 切换到此信道。对于主动扫描,设备需要发送信标请求命令(参考 5.3.7 节)。对于 UWB PHY 和 CSS PHY,设备应当对每个强制的先导码进行反复的扫描处理,并合理地设置 phyCurrentCode 的值。当主动扫描时成功地传输了信标请求命令后,或被动扫描时切换到某个信道后,设备应当开启接收器并使之至少持续 [aBaseSuperframeDuration × (2n + 1)],其中 n 表示 MLME-SCAN.request 原语中 ScanDuration 参数的值。在此期间,设备应当拒绝所有的非信标帧,并记录 PAN 标识符结构体(参考表 17)中所有唯一的信标帧的信息,包括信道信息、先导码(如果需要)。

这里写图片描述

图 13. 被动扫描的消息流程图

  如果设备接收到信标帧时,macAutoRequest 的值被设置为 TRUE,那么 PAN 描述符结构体的链表应当被保存到 MAC 子层中,直到扫描完成。此时,该列表将随 MLME-SCAN.confirm 原语的 PANDescriptorList 参数被送到上层。设备应当至少能存储 1 个 PAN 描述符。在扫描某个信道期间,如果接收到的信标帧包含的 PAN 标识符和源地址在此次扫描前不存在,则认为该信标帧是唯一的。

  如果设备接收到信标帧时,macAutoRequest 的值被设置为 FALSE,那么每一个已被记录的 PAN 描述符将被独立的 MLME-BEACON-NOTIFY.indication 原语(参考 6.2.4.1 节)送到上层。如果收到的信标帧含有一个或多个字节的有效载荷,PAN 描述符会被 MLME-BEACON-NOTIFY.indication 原语送到上层。一旦扫描完成,设备会向上层发送 MLME-SCAN.confirm 原语,并携带一个空的 PANDescriptorList。

  对于 UWB PHY 和 CSS PHY,每个先导码都会重复执行信标请求。

  如果接收到一个受保护的信标帧,即帧控制字段中的安全使能子字段设置为 1,设备将对信标帧进行非安全处理,其处理方法如 7.2.3 节中所述。

注:原文是 unsecure,暂时先翻译为 非安全,今后再修改。

  信标相应的 PAN 描述符的安全相关元素(表 17)应设置成由非安全处理过程返回的相应参数。如果非安全处理返回的状态是 SUCCESS,那么应当将 PAN 描述符中的 SecurityStatus 元素也设置为 SUCCESS;否则,将其设为一个错误代码,表示安全处理出错。

  非安全帧的信息也需要被记录在 PAN 描述符里(即使非安全处理返回了一个错误代码)。

  如果信标使能的 PAN 网络的协调器接收到信标请求命令,它应当忽略这个命令,并像平时一样,周期性地发送信标。如果非信标使能的 PAN 网络的协调器接收到信标请求命令,它应当使用非时隙版的 CSMA/CA 算法传输一个信标帧。

  当设备对某个特定信道进行主动扫描时,如果 macAutoRequest 为 TRUE,当设备发现的信标帧的数量等于指定的上限值,或者信道扫描时间达到 5.1.2.1.2 节中描述的全部时间,都将结束对该信道的扫描。如果 macAutoRequest 为 FALSE,仅当扫描时间满时才会结束对该信道的扫描。如果信道的扫描时间没有达到全部时间,则认为该信道未被扫描。

  在设备对一组信道扫描的过程中,如果 macAutoRequest 为 TRUE,当存储的 PAN 描述符的数目等于指定的上限值,或者该组中每一个信道都被扫描后,则整个扫描过程结束。如果 macAutoRequest 为 FALSE,只有每一个信道都没扫描后,整个扫描过程才结束。

5.1.2.1.3 孤立信道扫描

  设备与协调器失去同步后,可以使用管孤立描重定位协调器。在孤立扫描期间, MAC 子层将丢弃所有物理层数据服务发送的非协调器重新连接命令帧的帧。

  设备通过 MLME-SCAN.request 原语可以发出对指定的一组信道进行孤立扫描的请求,原语中的 ScanType 参数指明孤立扫描。对于每一个信道, MLME 首先通过设置相应的 phyCurrentChannelphyCurrentPage 切换到此信道。对于 UWB PHY 和 CSS PHY,还需要设置一个合适的先导码 phyCurrentCode,并发送 5.3.6 节描述的孤立通知命令。完成孤立通知命令后,设备应当开启它的接收器,并使之至少持续 macResponseWaitTime。如果设备在这段时间内成功接收到协调器重新连接命令(参考 5.3.8 节),则终止扫描。对于 UWB PHY 和 CSS PHY,如果设备没有接收到协调器重新连接命令,则还需要对每个先导码重复执行该过程,直到接收到重新连接命令,或者 PHY 的所有先导码都被使用了。

  当设备接收到协调器重新连接命令,或者扫描完了所指定的所有信道,则孤立扫描结束。

图 14 描述了孤立扫描和重新连接的消息流程图。

这里写图片描述

图 14. 孤立设备重新连接的消息流程图

  如果协调器接收到了孤立通知命令,其 MLME 将发送 MLME-ORPHAN.indication 原语(参考 6.2.7.1 节)到它的上层。上层将搜索其设备表看是否存在该原语指示的设备。如果上层搜索到该设备的记录,它应当使用 MLME-ORPHAN.response 原语(参考 6.2.7.2 节)给设备发送一个协调器重新连接命令,并将参数 AssociatedMember 设为 TRUE、ShortAddress 设为分配给该设备的短地址。搜索设备和发送协调器重新配置命令的过程应该在macResponseWaitTime 内完成。协调器重新连接命令应当包括它的 PAN 标识符、macPANId、当前信道、信道页以及孤立设备的短地址。如果上层没有搜索到该设备的记录,它应当给 MLME 发送一条 MLME-ORPHAN.response 原语,且将参数 AssociatedMember 设为 FALSE。

图 15 描述了协调器给孤立设备发送通知消息的流程图。

这里写图片描述

图 15. 孤立通知的消息流程图

0 0
原创粉丝点击