微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zigbee终端节点接收80帧数据后,不能成功接收数据

zigbee终端节点接收80帧数据后,不能成功接收数据

时间:10-02 整理:3721RD 点击:

协调器每30ms向终端节点发送一帧数据,当终端节点接收到80帧数据后,就不能成功接收数据。需要间隔很长时间才能恢复接收。

通过SmartRF Packet Sniffer抓包测试,发现协调器是能够正常发送数据的,而且所有的数据都被SmartRF Packet Sniffer接收到。没有出现发送80帧数据,就失败的情况。

我修改过,_NIB.BroadcastDeliceryTime、_NIB.PassiveAckTimeout、_NIB.MaxBroadcastRetries和-DMAX_BCAST四个参数,现在参数值是7,1,0和40。也就是说,现在是700ms能发送40个数据包,发送失败不会重发。

经过试验,我把-DMAX_BCAST改成30后,失败频率变为60帧数据失败一次。所以我判断失败次数和-DMAX_BCAST有关系。

多谢阅读我的问题,期待问题的解答。

你给终端设备发送数据是不是用广播发送的?

在ZigBee协议里面规定(具体可以参考标准文档),每个设备的单位时间的广播数据发送量是有限制的,防止网络内有大量的广播数据转发。

这也是为什么你修改-DMAX_BCAST会有效果。

建议把终端设备类型改成路由器,然后用单播的方式去发。

是通过广播的方式发送的。

因为现在这个系统需要发送的数据量比较大,而且要把数据同时发给每一个终端,所以如果采用单播的方式发送,就要多次发送,占用很多时间。

因为抓包实验时,能把数据包都抓到,所以我想问一下能不能通过修改终端节点的某些参数,使得终端节点也能收到数据包?

您好,这个贴里面的问题我也遇到了,您解决了吗

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top