电子说
一般地,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
d.应用命令更改
在应用更改之前,使用AT命令对配置命令寄存器进行的任何更改都不会生效。例如,若您发送BD命令以更改波特率,则在应用更改之前,实际波特率不会更改。①发送AC(应用更改),退出命令模式。②发送WR(写),退出命令模式。
e.使命令更改永久生效
发送WR(写入)命令以保存更改。WR将参数值写入非易失性存储器,以便参数修改可通过后续的复位保持不变。
发送RE(恢复默认值),将使用WR保存的设置抹回到其出厂默认值,或者将自定义默认值(若已设置)恢复为出厂默认值。
注意:您仍然必须使用WR 保存使用RE进行的更改。
(4)退出命令模式
两种方法:
①发送CN(退出命令模式),然后回车。
②若设备在CT(命令模式超时)指定的时间内未收到任何有效的AT命令 ,它将返回到透明或API模式。命令模式的默认超时为10s。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !