微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 如何设置数据包的重发次数、重发间隔

如何设置数据包的重发次数、重发间隔

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

怎样设置重发次数和重发间隔

您可以f8wConfig.cfg中查看

/* The maximum number of retries allowed after a transmission failure */
-DAPSC_MAX_FRAME_RETRIES=3

Susan Yang,你好,谢谢回复。

关于重发次数,我这边测试发现3个参数可以设置:

第一个,macPibDefaults.maxFrameRetries,这个似乎是MAC层的重发,重发间隔很短,4ms左右,具体设置重发间隔的参数还没有找到。

第二个,NWK_MAX_DATA_RETRIES,这个似乎是NWK层的重发,对应用层发的普通数据包(不需分包)是有效的,重发间隔400ms左右,具体设置重发间隔的参数还没有找到。对应用层发出的需要分包的数据包,这个参数是无效的。

第三个,APSC_MAX_FRAME_RETRIES,这个参数对应用层发出的需要分包的数据包有效,重发间隔(100 mSec) * (_NIB.MaxDepth * zgApsAckWaitMultiplier)。

应用层发出的普通数据包,若一直无响应,总共发送次数:NWK_MAX_DATA_RETRIES   * ( macPibDefaults.maxFrameRetries + 1 )

应用层发出的需分包的数据包,若一直无响应,总共发送次数:APSC_MAX_FRAME_RETRIES * ( macPibDefaults.maxFrameRetries + 1 )

以上是我的测试结果,还有两点疑惑:

1、macPibDefaults.maxFrameRetries和NWK_MAX_DATA_RETRIES这两种重发的间隔设置参数没有找到。

2、同样是应用层通过AF_DataRequest发出的数据包,未拆分的数据包和拆分过的数据包 重发次数、重发间隔竟然是分开设置的,有点不明白呀

zhou chen1 你好,我现在也想修改data request包的发送间隔,请问你找到了么

/* Minimum number of milliseconds to delay between each beacon request
* in a joining cycle.
*/
-DBEACON_REQUEST_DELAY=3000//自己修改的 原来100 2017.6.16

/* Mask for the random beacon request delay. This value is masked with the
* return from osal_rand() to get a random delay time for each joining cycle.
* This random value is added to DBEACON_REQUEST_DELAY. For example, a value
* of 0x00FF will be a beacon request delay of 0 to 255 milliseconds.
*/
-DBEACON_REQ_DELAY_MASK=0x0FFF//自己修改的 原来0x00FF 2017.6.16

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

网站地图

Top