TI中文支持网
TI专业的中文技术问题搜集分享网站

70个节点组网后,通讯易发生路由请求风暴,如何解决,寻求TI zigbee协议栈中关于路由的设置或其它解决方法

测试环境:

设备:一个协调器C,69个开关(可以接收命令和发送状态,类型是路由器)。
问题:1,协调器C只发送一条单播命令,发现有较多的route reques数据包,有时需要十多秒才能终止,有时没有一条route reques。
2,如果协调器C逐一给69个开关发送一条单播命令,1秒间隔,route reques包会更多,且时间长,很长时间才能停止。曾出现过,在协调器发送几个小时的间隔1秒逐一对开关的单播命令后,将协调器关闭电源(其它节点只是静默的接收,因为没有收到是不会单播回复的),route reques 的数据包在第二天上午来上班仍然不能停止。
3,出现以上问题,应该是协议栈关于zigbee路由方面的设置有待优化或是忽略的,希望能得到指点。

附测试产品相关的配置,协议栈:zigbee1.2.2a。
我们产品还含有电池产品(end_device),所以代码中将zgChildAgingEnable设为TRUE。
一、协调器C部分设置代码:
协调使用的是TI官方的ZNP修改后加上一些按键及LED灯。
1,f8wConfig.cfg 中:
/* Enable ZigBee-Pro */
-DZIGBEEPRO
/* in seconds; set to 0 to turn off route expiry */
-DROUTE_EXPIRY_TIME=30//0
/* The number of simultaneous route discoveries in network */
-DMAX_RREQ_ENTRIES=20//8
/* Number of entries in the regular routing table plus additional
* entries for route repair
*/
-DMAX_RTG_ENTRIES=40//40

2,nwk_globals.h
// If ZIGBEEPRO is defined – define all the features for Zigbee Pro
#define NWK_LINK_STATUS_PERIOD 60 // 15 seconds3,ZGlobals.c
uint8 zgRouterOffAssocCleanup = TRUE;
uint8 zgNwkLeaveRequestAllowed = TRUE;
#if ( ZG_BUILD_ENDDEVICE_TYPE )
uint8 zgNwkParentInformation = NWK_PARENT_INFO_UNDEFINED;
#else
uint8 zgNwkParentInformation = NWK_PARENT_INFO_MAC_DATA_POLL;//NWK_PARENT_INFO_ORPHAN_NOTIFICATION;
#endif
uint8 zgChildAgingEnable = TRUE;

二、开关部分的设置代码。
因为RAM的原因,和C的设置有如下差别,其它的设置是一样的
/* The number of simultaneous route discoveries in network */
-DMAX_RREQ_ENTRIES=12//8
/* Number of entries in the regular routing table plus additional
* entries for route repair
*/
-DMAX_RTG_ENTRIES=80//40

Alvin Chen:

参考下面的文档,你的设备是固定的还是移动的
www.ti.com/…/swra427c.pdf

user3514461:

回复 Alvin Chen:

我的设备是固定位置的。您发的是关于多对一的路由设置的文章,之前看过一个人写的文章,说是如果中心节点如协调器只是接收周围的节点的数据(如温度采集、门磁类)时,可以采用多对一的路由,如果像开关一类的产品既要接收控制也要报告状态时,不易用多对一的路由。

Alvin Chen:

回复 user3514461:

ROUTE_DISCOVERY_TIME 可以试着加大一些,route request是路由维护使用的,建议你开启MTO

user4381970:

回复 Alvin Chen:

持续关注一下这个帖子,想要3.0znp搞个。

MTO是一个只需要协调器开启,不需要路由也开启的功能呢?还是必须路由开启呢?

另外我理解mto是一个可选择功能即使开启了下发数据时候也可以使用af发送把,是srcaf就是带上路径就可以了?网关维护路由表,对吗

Alvin Chen:

回复 user4381970:

都需要。你的理解基本是正确的。

user4381970:

回复 Alvin Chen:

回答好快吓死我了。
如果都需要就好难实现了,协调器可以通过网关sbl升级带mto功能,但是路由设备基本都卖给用户了很难再加上了呀,怎么怎么办

赞(0)
未经允许不得转载:TI中文支持网 » 70个节点组网后,通讯易发生路由请求风暴,如何解决,寻求TI zigbee协议栈中关于路由的设置或其它解决方法
分享到: 更多 (0)