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

CC2652P: 多设备同时申请入网时,协调器可能未收到小部分设备的入网通知

Part Number:CC2652POther Parts Discussed in Thread: CC1352P

芯片: CC2652P

协议栈版本号:simplelink_cc13xx_cc26xx_sdk_6_40_00_13

协调器使用例程:zc_sw_CC1352P_2_tirtos7_ticlang

子设备使用例程:zr_light_CC1352P_2_tirtos7_ticlang

测试场景:16个设备同时申请入网,协调器可能未收到1个或多个设备的入网通知 zstackmsg_CmdIDs_ZDO_DEVICE_ANNOUNCE,设备越多时,情况越严重。

从sniff log看,所有入网设备入网后都有发送device announce报文,并且设备也确实入网成功了,双向发送消息都OK。sniff logt.zip

Yolande Wang:

您好,

已明确您的问题,当设备数量增加时,协调器未收到一些设备的入网通知,这可能会因为通信冲突、网络拥堵造成。

为了解决这个问题,可以考虑以下几个方向:

1.通过选择不同的信道,以减少通信冲突,提高设备的入网成功率。

2.在网络中使用适当的分层结构,包括协调器、路由器和端设备。路由器可以充当中继点,帮助设备找到更短的路径连接到协调器。

3.如果网络容量不足,可以考虑添加更多的协调器或路由器。

4.确保协调器和入网设备的固件是最新的,固件更新可能包含了入网成功率的改进。

另外,有没有尝试过用最新的SDK,最新版的SDK可能修复了网络通信中的此类问题。

,

Yolande Wang:

您好,问题解决了吗,如果没有这边将继续为您跟进,提供其他方案。

,

sinjin guo:

没有解决,考虑到入网通知是广播消息,不属于可靠消息,丢包无法避免,所以考虑其它方式打补丁。

但也希望你们可以优化一下协议栈,越多设备同时加网时,入网通知消息越容易丢失,最差时32个设备同时加网,丢了15个设备的入网通知。

,

Yolande Wang:

有尝试过用最新版SDK吗?

,

sinjin guo:

没有,我现在使用sdk_6_40_00_13,最新的SDK是6_41,查看了release note,zigbee这块没有提到相关的改动。

,

Yolande Wang:

现在最新版本是7.10.01.24,您可以参考一下,同时我也会继续为您寻找解决方案:https://www.ti.com/tool/download/SIMPLELINK-LOWPOWER-F2-SDK

,

sinjin guo:

好的,感谢,测试了我再反馈

,

Yolande Wang:

不客气,期待您的后续回复。

,

Yolande Wang:

您的问题解决了吗,如果没有,希望您描述下当前进度。

考虑帮您升级到E2E,让更多工程师分析,谢谢。

,

sinjin guo:

你好,尝试使用以下两种方法:

1、升级最新协议栈。

2、增加MAC层缓冲区大小,例如 nwk_globals.c 中的 NWK_MAX_DATABUFS_* 和 *_cnf.opts 中的 MAC_CFG_*

都没效,目前是让设备入网以后,从APP层主动发送一条报文,把这报文当作是入网通知。

,

Yolande Wang:

明确您的问题,正在帮您跟进。

,

YiKai Chen:

device announce报文是broadcast,一般建議不要多设备同时申请入网

,

Yolande Wang:

谢谢YiKai的回答,

DEVICE_ANNOUNCE是一条广播消息,因此当 Zigbee 流量较多时可能会丢失该消息。一般来说,我们建议不要允许多个设备同时加入/调试 Zigbee 网络。

,

Yolande Wang:

Hi sinjin,

正如Yikai所说,当多个设备尝试同时加入时,您可能会遇到某种类型的瓶颈,从而导致某些设备无法加入。最近的一个讨论与您遇到的问题类似的问题的帖子是 https://e2e.ti.com/f/1/t/1289765/  (帖子底部附近的两个最近回复)。 

Ryan 的一段话,解决了 32 台设备同时连接时丢失 15 台设备的问题:

“您可以增加缓冲区大小,例如 nwk_globals.c 中的 NWK_MAX_DATABUFS_* 和 *_cnf.opts 中的 MAC_CFG_*,但这只会延迟最终的数据包接收失败。最终,数据包吞吐量能力太高,尤其是在多个设备加入,并且必须减少以给予 CPU 时间来进一步处理传入数据。  您还应该错开设备加入,可能通过将开机设备的加入时间延迟在随机的 0 到 10 秒之间,以便 ZC TC 不会不必同时处理多个请求。”

Best regards,

Yolande

,

Yolande Wang:

Hi sinjin,

上述步骤尝试过了吗,问题的疑惑点解决了吗?

Regards,

Yolande

,

sinjin guo:

Hi, Yolande,策略一:增加缓冲区,之前我的回复里已提到过,尝试了没效果。策略二:设备错开加网,这是客户的需求,暂无法改变。考虑到入网通知是广播,从设计上就不属于可靠传输,所以要求可靠传输也不合理,目前是通过子设备入网后主动上报一条报文解决了。

,

Yolande Wang:

感谢您的经验分享,欢迎随时来论坛交流!

赞(0)
未经允许不得转载:TI中文支持网 » CC2652P: 多设备同时申请入网时,协调器可能未收到小部分设备的入网通知
分享到: 更多 (0)

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