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.

[参考译文] CC2652P:协调器可以允许多少子器件加入网络?

Guru**** 1133960 points
Other Parts Discussed in Thread: Z-STACK
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

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

器件型号:CC2652P
主题中讨论的其他器件:Z-STACK

大家好、

SDK:simplelink_cc13xx_cc26xx_sdk_6_40_00_13

项目要求满足直接连接到协调器的200个子设备(无路由设备)的要求。

修改宏定义

将 ZDSECMGR_TC_DEVICE_MAX 从默认值40更改为200

NWK_MAX_DEVICE_LIST 从默认值20更改为200

编译未提示出现任何错误。 测试捕获了日志、发现当加入网络时、信标请求、关联请求、关联响应、传输密钥、 和器件通知功能都运行得很顺利。 问题在于在随后的 TCLK 更新过程中、子器件连续发送多个请求。 钥匙尚未收到协调器的响应。 超时后、子器件将自动离开网络。

如果我将上述宏定义恢复为默认值、一切就会顺利进行。

请告诉我、这个协调器最多可以允许多少个子器件加入网络? 超过最大值是否导致出现问题? 或者我是否不完全地修改了宏定义并漏掉了一些参数?

e2e.ti.com/.../join-nwk-log-_2800_1_2900_.zip

我已经 告诉了200。

然后、客户询问:关于需要修改哪些宏定义以支持200个器件、您能否给我一些指导? 我检查了在哪个步骤中出错、所以遇到了前面提到的问题。

200、它是指直接连接到协调器(无路由设备)的模式、还是部分连接到协调器并部分连接到路由设备、总共200?

此致、

银河

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Galaxy、

    最直接的问题是缺省情况下、有可能没有足够的 NV 内存来存储200个器件 TCLK 条目、因此、NV 初始化和随后的 TCLK 条目请求在 TCLK 更新过程中失败。  您可以参阅  Z-Stack 用户指南修改非易失性存储器分配 以了解更多详细信息。  如果这无法解决问题、那么您可以 从 ZC 工程代码中进一步调试 NVOCMP_initNv 和 ZDSecMgrTclkREQ、以找到问题所在。

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

    此致、
    瑞安

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Ryan M ü,

    1.我已经测试过扩展 NV 内存和增加 NVOCMP_NVPAGES 5倍(目前为3倍),但没有效果。

    2.调试 ZDSecMgrTclkREQ,我发现在调用 APSME_SearchTCLinkKeyEntry (initExtAddr,&Found,&TCLKDevEntry )时,变量 founded feedback 为 false。 由于这个函数的源代码未打开、我无法在这里继续分析、原因未知。

    此致、

    银河

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    "Projects Properties'  Build → Arm Compiler → Predefined Symbols 以及  Build → Arm Linker → Advanced Options → Command File Preprocessing...用户还需要修改上述 NVOCMP_NVPAGES=2 位置以及  区基地址  和  区大小  工程的.syscfg 文件中的设置  TI Drivers → NVS → Internal Flash。"  您也这么做了吗?  详细列出所有修改的位置。  在重新编程之前、确保擦除所有器件存储器。

    此致、
    瑞安