浅谈Digi XBee模块的操作模式

电子说

1.3w人已加入

描述

一般地,Digi XBee模块有空闲模式、接收模式、发送模式、睡眠模式和命令模式5种操作模式。下面以XBee3 Zigbee模块来说明。

命令

1、空闲模式

不接收或发送数据时,设备处于空闲模式。在空闲模式下,设备会在RF和串行端口上侦听有效数据。

在以下情况下,设备将切换到其他操作模式:

(1)串行接收缓冲区中的串行数据已准备好打包,切换到发送模式。

(2)通过天线接收到的有效RF数据,切换到接收模式。

(3)命令模式序列(“+++”)发布,切换到命令模式。

(4)睡眠条件满足,切换到睡眠模式。

2、接收模式

通过无线接收数据时,设备会将数据发送到串行端口。

您可以使用AP和AO参数来调整从串行端口发出的消息的格式和类型。根据需要,您可以调整收到的信息量。缺省情况下,设备工作在透明模式,在该模式下设备将仅输出接收到的数据包的有效负载。在API模式下,将发射整个数据包,并且AO调整是否应发射原始ZDO消息。

2、发送模式

在传输数据之前,模块确保已建立16位网络地址和到目的节点的路由。

若未提供16位网络地址,则会进行网络地址发现。为了发送数据,进行路由发现以建立到目的节点的路由。若未找到具有匹配网络地址的设备,它将丢弃该数据包。一旦建立路由,设备即会发送数据。若路由发现无法建立路由,则设备将丢弃该数据包。

命令

当Zigbee数据从一个节点传输到另一个节点时,目标节点将通过已建立的路由将网络级确认传输回源节点。该确认分组向源节点指示目的地节点接收到数据分组。若源节点未收到网络确认,它将重新传输数据。

在极少数情况下,目标可能会收到数据包,而源可能不会收到网络确认。在这种情况下,源将重新传输数据,这可能导致目的地多次接收相同的数据包。XBee模块不会过滤掉重复的数据包。我们建议该应用程序包含解决此问题的条款。

3、睡眠模式

睡眠模式允许设备在不使用时进入低功耗状态。该设备在睡眠期间几乎完全处于关闭状态,并且在唤醒之前无法发送或接收数据。XBee3 ZB RF模块支持引脚睡眠(引脚切换时进入睡眠模式)和周期睡眠(设备休眠固定时间)。

4、命令模式

命令模式是固件将传入字符解释为命令的状态。它允许您使用可以使用AT命令设置的参数来修改设备的配置。若要使用此模式读取或设置XBee3 ZB RF模块的任何参数,则必须发送AT命令。每个AT命令以字母AT开头,后跟标识该命令的两个字符,然后是一些可选的配置值。

(1)进入命令模式

要使设备切换到命令模式,必须发出以下顺序:一秒钟内+++。+++序列前后必须至少有一秒钟。指令字符(CC)和序列之前和之后的静音(GT)都是可配置的(即:您可以在设备的配置中自定义命令字符,保护时间和超时)。当符合进入标准时,设备在UART上以OK 响应,表明它已成功进入命令模式并准备开始处理AT命令。

若配置为在“透明”操作模式下运行,则在进入“命令”模式时,XBee3 ZB RF模块知道停止发送数据并开始本地接受命令。

注意:键入+++后请勿按回车键或Enter键,因为它会中断保护时间静音并阻止您进入命令模式。

当设备处于命令模式时,它会监听用户输入并能够在UART上接收AT命令。若在没有任何用户输入的情况下经过了CT时间(默认为10s),则设备将退出命令模式并返回到先前的操作模式。您可以通过发送CN来强制设备退出命令模式。

(2)故障排除

无法进入命令模式通常是由于波特率不匹配。确保连接的波特率与设备的波特率匹配。默认情况下,BD=3(9600b/s)。有两种方法可以进入命令模式:①连续6s的中断进入命令模式。您可以从串行控制台发出“break”命令,它通常是按钮或菜单项。②上电或复位时断言DIN(串行中断)进入命令模式。XCTU会指导您进行重置,并在需要时自动发出中断。

注意:必须为这两种方法都声明RTS,否则设备将进入引导加载程序。

这两种方法都将设备的波特率临时设置为9600,并在UART上返回OK,以指示命令模式处于活动状态。退出命令模式后,设备将以BD设置的波特率返回正常操作。

(3)发送AT命令

设备进入命令模式后,请使用下图中的语法发送AT命令。每个AT命令都以字母AT开头,AT代表“注意”。AT后跟两个字符,指示要发出哪个命令,然后是一些可选的配置值。要读取存储在设备寄存器中的参数值,请省略参数字段。 

命令

前面的示例将NI(节点标识符)更改为My XBee。

a.多个AT命令

在命令模式下,您可以一次发送多个AT命令(用逗号隔开)。例如ATNIMy XBee,AC

前面的示例将NI(节点标识符)更改为My XBee,并通过AC(应用更改)激活设置。

b.参数格式

有关单个AT命令参数的格式,请参阅AT命令列表。十六进制值的有效格式包括带或不带前导0x的值,例如FFFF或 0xFFFF。

c.对AT命令的响应

使用AT命令设置参数时,若成功,XBee3 ZB RF模块将以OK 响应,否则返回ERROR

d.应用命令更改

在应用更改之前,使用AT命令对配置命令寄存器进行的任何更改都不会生效。例如,若您发送BD命令以更改波特率,则在应用更改之前,实际波特率不会更改。①发送AC(应用更改),退出命令模式。②发送WR(写),退出命令模式。

e.使命令更改永久生效

发送WR(写入)命令以保存更改。WR将参数值写入非易失性存储器,以便参数修改可通过后续的复位保持不变。

发送RE(恢复默认值),将使用WR保存的设置抹回到其出厂默认值,或者将自定义默认值(若已设置)恢复为出厂默认值。

注意:您仍然必须使用WR 保存使用RE进行的更改。

(4)退出命令模式

两种方法:

①发送CN(退出命令模式),然后回车。

②若设备在CT(命令模式超时)指定的时间内未收到任何有效的AT命令 ,它将返回到透明或API模式。命令模式的默认超时为10s。

审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分