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

zigbee3.0添加设备不能超过40个

如题, 我有30个router和20个enddevice添加到同一个协调器;不管是 先添加几个router后添加全部enddevice再添加其他router, 还是先添加30个router后添加其他enddevice时, 都会出现第40个设备无法添加

调试时发现添加第40个设备的时候, bdb_RegisterCommissioningStatusCB注册的callback会得到BDB_COMMISSIONING_NWK_STEERING的状态值为BDB_COMMISSIONING_TCLK_EX_FAILURE

设备是通过调用bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING);加入网络

user3701862:

NWK_MAX_DEVICE_LIST 为20没有修改过, 没有修改协议栈内容, 协调器的BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE设置为FALSE

user3701862:

添加设备时协调器调用

zAddrType_t dstAddr; dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVZCZR; dstAddr.addrMode = AddrBroadcast; permit_join_timeout = message.timeout; ZDP_MgmtPermitJoinReq( &dstAddr, message.timeout, TRUE, FALSE); bdb_reportCommissioningState(BDB_COMMISSIONING_STATE_STEERING_ON_NWK, TRUE);

Alvin Chen:

回复 user3701862:

ZDSECMGR_TC_DEVICE_MAX 40
受限于这个值,你可以试着改大一些,或者在defined symbols设置
xTC_LINKKEY_JOIN试一下.
你可以看我的帖子:
e2echina.ti.com/…/156583

user4958201:

回复 Alvin Chen:

3.0协议栈,2538硬件,这个值ZDSECMGR_TC_DEVICE_MAX改为100就不行了(一个节点都加不进去,ZC回复关联失败),改为50我这可以,请问设置为100时候是由于网络中还有其它参数限制还是内存不足造成的,急求,谢谢

Alvin Chen:

回复 user4958201:

通常情况下1个ZC直连40个以上的ZED是很难的,建议是这样的:ZC-ZR-ZED

举个例子:

一个ZC连接10个ZR,每个ZR连接10个ZED。

在使能CONCENTRATOR_ROUTE_CACHE的情况下尝试更改MAX_RTG_SRC_ENTRIES变得大一些。

如果你有UART建议换成其他接口使用。

user4958201:

回复 Alvin Chen:

这个我明白,就是单独ZC带ZE的话是有限制的,要有路由,但是我的问题是ZDSECMGR_TC_DEVICE_MAX改为100后ZC一个节点都带不起来,入网时候关联回复直接association denied。你说的这些宏我也都设置了。
DSECMGR_TC_DEVICE_MAX=100
NWK_MAX_DEVICE_LIST=10
CONCENTRATOR_ENABLE=1
CONCENTRATOR_DISCOVERY_TIME=120
MAX_RTG_SRC_ENTRIES=100
SRC_RTG_EXPIRY_TIME=200
CONCENTRATOR_ROUTE_CACHE=1
ZC的串口确实使用了,因为要用串口进行交互。
怎么确定问题出在哪里呢?

Alvin Chen:

回复 user4958201:

你可以尝试先禁用串口,然后把NWK_MAX_DEVICE_LIST=40试试。

YiKai Chen:

回复 Alvin Chen:

沒有用ZR的話,MAX_RTG_SRC_ENTRIES應該可以設定小一些,比如說設置為1就好

Alvin Chen:

回复 YiKai Chen:

MAX_RTG_SRC_ENTRIES:

Defines the maximum number of devices in the source routing table, which is used for Many-To-One (MTO) routing

没有路由小一些就可以。

user4958201:

回复 Alvin Chen:

是这样的,按照我之前的设置,NWK_MAX_DEVICE_LIST=40,串口也开着,MAX_RTG_SRC_ENTRIES设置为100,不超过40个节点入网没问题,但是其它任何设置不变动,只设置NWK_MAX_DEVICE_LIST = 100,就一个节点也入不进去了,刚才按照你说的尝试关掉串口,MAX_RTG_SRC_ENTRIES设置为1,NWK_MAX_DEVICE_LIST=80,编译后map文件:1 419 bytes of readonlydata memory13 571 bytes of readwrite data memory (+ 12 288 absolute)
上述两个占用内存值1419和13 571加起来比之前设置NWK_MAX_DEVICE_LIST=40,入网正常时还小,但是入网还是失败,和只改动NWK_MAX_DEVICE_LIST = 100出的问题一样。这是不是能排除内存空间的问题了?

赞(0)
未经允许不得转载:TI中文支持网 » zigbee3.0添加设备不能超过40个
分享到: 更多 (0)