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

CC2652P: 协调器最多可允许几个子设备加入网络?

Part Number:CC2652POther Parts Discussed in Thread:Z-STACK

SDK类型 simplelink_cc13xx_cc26xx_sdk_6_40_00_13

项目需求,满足200个子设备(无路由设备)直连协调器。

修改宏定义

ZDSECMGR_TC_DEVICE_MAX 由默认值 40 改为 200

NWK_MAX_DEVICE_LIST 由默认值 20 改为 200

编绎未提示任何错误,测试抓取LOG发现,加入网络时,beacon request, association request, association response, transport key, device announce都很顺利,问题在于后续TCLK update过程,子设备连续发送了多次request key都未收到协调器的回应,超时后,子设备会自动离网。

如果我将以上宏定义恢复为默认值,则一切顺利。

请问,协调器最多可允许几个子设备加入网络?是不是因为超过最大值导致了问题?还是我修改宏定义不全面,漏改了某些参数呢?

join nwk log.zip

Galaxy Yue:

你好,

理论上,最多支持200个设备

sinjin guo 说:还是我修改宏定义不全面

可能是宏定义或者参数未更新

,

sinjin guo:

能指导一下要修改哪些宏定义,以支持200个设备吗?我核对一下我是哪个步骤出错了,所以遇到前面提到的问题。

,

sinjin guo:

我不认为是参数未更新,正如前面所提到,当我把参数恢复为默认值时,加网正常,说明是更新了,才恢复了正常。

,

sinjin guo:

补充一下,200个,是指直连到协调器(无路由设备)的模式吗,还是一部分连接到协调器,一部分连接到路由设备,加起来200个呢?

,

Galaxy Yue:

sinjin guo 说:我不认为是参数未更新

明白的

关于宏定义使用为什么不正确的问题以及200个模式,我已经升级到英文论坛,有消息立马通知您,谢谢

,

Galaxy Yue:

最直接的问题是,默认情况下可能没有足够的 NV 内存来存储 200 个设备 TCLK 条目,因此 NV 初始化和后续 TCLK 条目请求在 TCLK 更新过程中失败。您可以参阅《Z-Stack 用户指南》 中的修改非易失性内存分配以了解更多详细信息。如果这不能解决问题,那么您可以从 ZC 项目代码中进一步调试 NVOCMP_initNv 和 ZDSecMgrTclkReq 以隔离问题。

我建议审查SWRA650,尽管本指南是针对网状网络性能的。实际上,如果多个设备报告和/或数据请求同时传入,或者如果 ZC 必须为最近未签入的休眠 ZED 排队太多消息,大型星形网络可能会给 ZC 带来太大压力。 TI 尚未使用 Z-Stack 对如此大型的星形网络进行严格的测试。

,

sinjin guo:

1、我测试过扩大nv内存,NVOCMP_NVPAGES增加大5(目前为3),没有效果。

2、调试ZDSecMgrTclkReq,发现在调用APSME_SearchTCLinkKeyEntry(initExtAddr,&found, &TCLKDevEntry)时,变量found反馈为false,因为这个函数的源码未开放,所以我这边也无法继续分析了,原因不明。

这个问题估计一时半会解决不了,后续有新进展麻烦回复一下,我先关闭问题。

,

Galaxy Yue:

没事的,不用关闭

可以追踪下面这个link

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1342239/cc2652p-how-many-child-devices-can-the-coordinator-allow-to-join-the-network

有进展了我会通知您的

,

Galaxy Yue:

Projects Properties’ Build → Arm Compiler → Predefined Symbols as well as Build → Arm Linker → Advanced Options → Command File Preprocessing…Users will also need to modify the aforementioned NVOCMP_NVPAGES=2 locations along with Region Base and Region Size settings in the project’s .syscfg file TI Drivers → NVS → Internal Flash."  

你也这样做了吗?详细列出所有修改的位置。确保在重新编程之前擦除所有设备内存。

,

sinjin guo:

非常感谢,如你所说,更改FLASH大小,有3个步骤,我漏掉了最后一个步骤,未调整Region Size,更改后测试一切正常了。

,

Aries Lord:

支持200个节点,NV需要3个page才够用

赞(0)
未经允许不得转载:TI中文支持网 » CC2652P: 协调器最多可允许几个子设备加入网络?
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1