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

通信网络

650人已加入

描述

XBee Pro 900HP模块具有多种低功耗模式以使模块使用电池的情况下能长时间工作。通过SM命令可以开启休眠模式。

休眠模式分为异同步(SM=1,4,5)或同步(SM=7,8)。在同步休眠网络中不能使用异步睡眠模式,反之亦然。

本章主要介绍异步周期休眠方式。

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

异步休眠模式可以用于控制模块的睡眠模式。工作在异步休眠模式的模块将不能进行数据路由。强烈建议用户利用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_RQ管脚为高时,模块将进入与SM=4类似的周期休眠模式。当SLEEP_RQ为低时,模块将立即唤醒。当SLEEP_RQ为低时,模块将不进入休眠。注意:因为睡眠支持节点不睡觉,它们应该是主要由电源供电的。

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(作为终端) 描述
CE 2(Indirect Msg Coordinator) 4(Indirect Msg Poller)   
DH 0默认值 XBee-A—>SH  终端DH设为协调器的SH
DL FFFF默认值 XBee-A—>SL 终端DL设为协调器的SL
TO 40 40 P2MP模式
AP 1 1 API方式
SM  0默认值 4(Async. Cyclic SLeep)  
SP 12C‍ 12C 睡眠周期3秒
ST 1F4 1F4 500毫秒

 

收发测试

协调器发送数据

寄存器

终端接收数据

寄存器

测试成功。

注意点: 1. 异步休眠方式,适合点对多点网络,不适合Digimesh网络,所以必须使用XBP9B-DP固件,或者如果是Digimesh固件,需要修改TO参数为40。 2.  终端需配置为间接消息轮询器,并将其DH:DL寄存器配置为与将用作间接消息协调器的模块的SH:SL寄存器相匹配,可以在设备上启用轮询。启用轮询时,模块将定期向DH:DL寄存器指定的地址发送P2MP轮询请求。当P2MP单播被发送到由轮询模块的DH:DL指定的目的地时,该数据也将用作轮询。 3. 协调器的SP,需要大于或者等于网络中所有终端设备的SP。  

编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分