电子说
Digi XBee-Pro 900HP模块(硬件版本:S3B)可以支持三种不同的固件:XBP9B-DM、XBP9B-DP和XBP9B-XC,而XBP9B-XC算是比较旧的固件了,比较常用的就是XBP9B-DM和XBP9B-DP这两个固件。
顾名思义,XBP9B-DM固件支持的是DigiMesh协议,可以实现星状网络,也可以实现网状网络,也就是自组网。XBP9B-DP固件支持的是点对点/点对多点(P2MP)协议;在P2MP中,发送设备始终将所有消息直接发送到目标节点。其他节点不转发该数据包。发送设备仅将P2MP单播直接传送到目标设备,该目的设备必须在发送设备的范围内。
那么,XBP9B-DM和XBP9B-DP这两个固件的主要区别在哪里呢?下面通过比较AT指令,认识这两者的区别:
1、XBP9B-DM固件支持MR指令,而XBP9B-DP固件不支持
分析:MR参数的含义是“mesh单播重试”,实现功能是设置或读取网络数据包传递试图的最大次数;就是针对DigiMesh协议的。若MR不为零,则设备发送的数据包将请求网络确认,若设备未收到确认,则最多可重新发送MR+1次。更改此值会极大地改变路由请求所花费的时间。建议将此值设置为1。若将此参数设置为0,它将禁用网络ACK;最初,设备可以找到路由,但是若路由失败,它将永远无法修复。
此外,注意CE参数是:CE=0(默认值),设置为“标准路由器”。
2、XBP9B-DM固件,TO=0xC0;XBP9B-DP固件,TO=0x40
3、XBP9B-DM固件,SO=2;XBP9B-DP固件,SO=0
分析:SO表示“睡眠选型”,其含义如下:
同步睡眠功能是DigiMesh协议里支持的,所以,XBP9B-DM固件:SO=2,这是默认值;XBP9B-DP固件:SO=0,即不起作用;这样一来,也就没有SS、OS、OW、MS和SQ这些动态只读指令了。
4、固件版本号和CK值不同
分析:XBP9B-DM固件的版本号是80xx,XBP9B-DP固件的版本号是10xx。
5、还有一个AG命令,仅在XBP9B-DM固件里支持
AG(聚合器支持)命令通过具有对接收广播节点以下的效果网络发送的广播:①若路由表中有空间,则接收节点会建立一条DigiMesh路由回到原始节点。②若AG参数与接收节点的当前DH/DL相匹配,则接收节点的DH和DL更新为始发节点的地址。③具有DH和DL更新的,启用API的设备从串行端口发送聚合寻址更新帧(0x8E)。
综上所述,要想用XBP9B-DM固件实现点对多点传输,可以做如下参数配置和优化:
1、TO=0x40,设置为点对多点传输方式。
2、CE=2,设置为“非路由模块”,可以减小模块上MCU和带宽浪费。
3、NH=1,由于不做路由,可以把网络跳点设置为1(默认NH=7),以增大带宽。一些固件内部像timeout的算法会用到这个参数。
4、MR默认为1,SO默认为2,可以不用修改,实际上是不起什么作用的。
审核编辑:陈陈
全部0条评论
快来发表一下你的评论吧 !