This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530协调器与终端设备间的快速通信问题

目前有做了一套设备,一个协调器对一个终端设备,要求协调器50ms间隔时间发送数据给终端设备,但终端设备不能同时快速的接收到协调器发送到的数据。事实上协调器发送间隔设置成500ms以上时,终端设备接收是能同时接收到数据,但是发送间隔500ms以下就不理想了,接收快慢不定。

试过协调器端广播和短地址单播方式间隔500ms以下发送都不理想。

把终端设备改成路由设备来接收数据,接收效果会好些,但也没达到要求。

尝试过修改终端设备的-DPOLL_RATE;  协调器的BCAST_DELIVERY_TIME=10,MAX_BCAST=9,也没效果。

求能够在zigbee设备间快速通信数据的修改设置方式。

  • 自己来解答下:

    找了很多帖子,出现接收不稳定的原因大都是在这两个参数的设置上:BCAST_DELIVERY_TIME, MAX_BCAST。目前改了这两个值,间隔在100ms内发送,接收就不会出现丢包和快慢不定的现象了。

    多次测试发现芯片在广播的时候发送时间短于300ms一次的话就会产生发送失败的现象,每9次失败几次,失败的原因为zBufferFull,而采用单播发送频率在30ms以下才会产生丢包问题,并且丢包问题不是因为zBufferFull,那么广播为什么会有300ms这么长的时间,再短就会发送失败?是不是有些参数可以配置修改?比如说MAX_BCAST、 INT_HEAP_LEN、 _NIB.BroadcastDeliceryTime等等之类的?

    修改-DMAX_BCAST参数即可。默认为9,_NIB.BroadcastDeliceryTime=3000ms,-DMAX_BCAST=9,即3000ms内发送9个数据包,多余9个则发送失败,设置_NIB.BroadcastDeliceryTime=2000ms,-DMAX_BCAST=20,或者更多,则2000ms内发送20个数据包,最短间隔提高到100ms一次,修改的大一点即可。

  • 您好,

       我现在协调器给终端发信息,终端有时候收的到,有时候收不到?这是什么原因?需要怎么做修改?

       您说的这个参数_NIB.BroadcastDeliceryTime  在哪修改?小白,不懂,期待您的回复谢谢