我是靠谱客的博主 疯狂刺猬,最近开发中收集的这篇文章主要介绍XBeePro 900HP异步睡眠介绍及示例XBee-PRO® 900HP异步休眠模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

XBee-PRO® 900HP异步休眠模式


XBee-PRO® 900HP异步休眠模式介绍

模块具有多种低功耗模式以使模块使用电池的情况下能长时间工作。通过 SM 命令可以开启休眠模式。休眠模式分为异同步(SM=1,4,5)或同步(SM=7,8)。在同步休眠网络中不能使用异步睡眠模式,反之亦然. 本章主要介绍异步周期休眠方式。

异步休眠模式可以用于控制模块的睡眠模式。工作在异步休眠模式的模块将不能进行数据路由。 强烈建议用户利用 CE 命令将终端器件设置为异步休眠模式,这样就可以避免节点进行数据路由.

异步管脚休眠模式(SM=1)

 

管脚休眠可以使模块根据 Sleep_RQ 管脚(管脚 9)状态进行休眠或唤醒。管脚休眠模式可以通过将 SM 命令设置为 1 而开启。当 Sleep_RQ 为 1,模块将完成任何发射和接收操作并进入低功耗模式。Sleep_RQ 为 0 时,模块可以从管脚休眠中唤醒.

异步周期休眠模式 (SM=4)

 

周期休眠允许模块在指定时间内休眠并短期唤醒。轮换休眠模式可以通过将 SM 命令设置为4 而开启。如果 XBEE 模块在唤醒期间接收到串行数据或 RF 数据,其将延长唤醒时间,延长量由 ST 命令决定。否则,其将立即进入休眠模式。当模块唤醒时ON_SLEEP将为高,而睡眠时为低。如果硬件流程控制开启(D7 命令),模块唤醒时 CTS 管脚将为低并可以接收串行数据,而模块休眠是为高.

兼带管脚唤醒的异步周期休眠模式 (SM=5)

 

SM=5 与 SM=1 和 SM=4 模式类似,当 SLEEP_REQUEST 管脚为高时,模块将进入与 SM=4 类似的周期休眠模式。当 SLEEP_REQUEST 为低时,模块将立即唤醒。当 SLEEP_REQUEST 为低时,模块将不进入休眠.注意:因为睡眠支持节点不睡觉,它们应该是主要由电源供电的。.

XBee-PRO 900HP间接消息和轮询(仅限P2MP数据包)

消息传递模式命令(CE)可用于启用间接消息传递和轮询。 这使得可以与异步睡眠设备进行可靠的通信。

间接消息

 

间接消息传递是被设计用为异步休眠设备之间通信的一种通信模式。模块可以通过使用CE命令使自己成为一个间接消息传递协调器来启用间接消息传递。 间接消息传递协调器在通过串行端口接收时不会立即发送P2MP单播。 相反,该模块保持数据,直到通过轮询请求。 在接收到轮询时,间接消息协调器将向请求者发送排队的数据包(如果有的话)。

因为可以省略轮询设备,所以有一个机制来清除未请求的数据包。 如果协调器为间接消息轮询器保留间接数据包超过其SP值的2.5倍,则清除该数据包。 鼓励用户将协调器的SP设置为与网络中的轮询器中存在的最高SP时间相同的值。 如果协调器处于API模式,则为状态为0x75的已清除数据包生成TxStatus消息(INDIRECT_MESSAGE_UNREQUESTED).

间接消息传递协调器将排队尽可能多的数据包,因为它具有可用的缓冲区。 在协调器使用其所有可用缓冲区之后,它将保存串行输入队列中未处理的传输请求。 串行输入队列满后,CTS将被取消置位(如果启用了硬件流控制)。 显然,在接收到间接消息队列的轮询或清除数据之后,缓冲区再次可用。

 

间接消息对P2MP广播,定向广播,中继器分组或DigiMesh分组没有影响。 这些消息在通过串行端口接收时立即发送,不会放在间接消息队列上

轮询

 

轮询是节点可以从间接消息传递协调器请求数据的自动过程。 通过将其配置为具有CE命令的间接消息轮询器,并将其DH:DL寄存器配置为与将用作间接消息协调器的模块的SH:SL寄存器相匹配,可以在设备上启用轮询。 启用轮询时,模块将定期向DH:DL寄存器指定的地址发送P2MP轮询请求。 当P2MP单播被发送到由轮询模块的DH:DL指定的目的地时,该数据也将用作轮询。

当轮询设备也是异步睡眠设备时,该设备将在睡眠醒来后立即发送一个轮询。 在发送第一个轮询之后,模块将以正常方式发送轮询,直到返回睡眠。

至少每100ms清醒一次,200K数据速率产品将发送轮询。 10K数据速率产品在唤醒时至少每300ms发送一次轮询。

XBee-PRO® 900HP异步周期休眠模式示例

  • 注意:异步周期睡眠只适合P2MP模式,即点对多点方式,不适合Digimesh模式,所以模块需要用DP固件,或者TO设为40.
  • 软硬件准备:1.  两个底板;2. 两只900HP模块;3. XCTU软件。将两个带900HP模块的USB底板插到电脑,会虚拟出两个串口。通过XCTU软件,分别读取两个模块参数。

 

  • 模块配置
参数XBee-A(作为协调器)XBee-B(作为终端)描述
CE2(Indirect Msg Coordinator)4(Indirect Msg Poller) 
DH默认值XBee-A—》SH终端DH设为协调器的SH
DL默认值XBee-A—》SL终端DL设为协调器的SL
TO4040P2MP模式
AP11API方式
SM0 默认值

4(Async. Cyclic SLeep)

 
SP12C12C睡眠周期3秒
ST1F41F4500毫秒
    
  • 收发测试

协调器发送数据

    

终端接收数据

测试成功。

注意点:

1. 异步休眠方式,适合点对多点网络,不适合Digimesh网络,所以必须使用XBP9B-DP固件,或者如果是DIGIMESH固件,需要修改TO参数为40;

2.  终端需配置为间接消息轮询器,并将其DH:DL寄存器配置为与将用作间接消息协调器的模块的SH:SL寄存器相匹配,可以在设备上启用轮询。 启用轮询时,模块将定期向DH:DL寄存器指定的地址发送P2MP轮询请求。 当P2MP单播被发送到由轮询模块的DH:DL指定的目的地时,该数据也将用作轮询。

3. 协调器的SP,需要大于或者等于网络中所有终端设备的SP。 

 

最后

以上就是疯狂刺猬为你收集整理的XBeePro 900HP异步睡眠介绍及示例XBee-PRO® 900HP异步休眠模式的全部内容,希望文章能够帮你解决XBeePro 900HP异步睡眠介绍及示例XBee-PRO® 900HP异步休眠模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部