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.

[参考译文] CC2538:适用于100多个低延迟节点的 Z-stack 3.0.2协调器

Guru**** 2540720 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/828003/cc2538-z-stack-3-0-2-coordinator-for-100-nodes-with-low-latency

器件型号:CC2538

您好!

首先、我看到有400多个节点文档等正在运行

但我的目标不是最大限度地提高稳定性和延迟。 并且能够在必要时以某些速率传递到网络命令(在我的测试中、一次打开10个灯、而不是作为一组、而是单独打开)

到目前为止、我无法同时实现这两个目标。 即使我在40个节点网络上进行测试。

是否有任何推荐的中型网络和延迟设置?

由于我有足够的内存(满32k)、我可以放心地增加所有缓冲器等

但是、我仍然会定期得到错误203或205、或者只是器件没有任何错误就不会做出反应。

有些设置工作得更好,有些几乎很好),但仍然不够好,无法将其称为“稳定网络”

我的当前定义集  

mt_SYS_KEY_management=1
BDB_Finding_Binding_Capacity_enable=1
TC_LINKKEY_Join
MT_UART_DEFAULT_overflow=false
ZCL_READ
ZCL_DISCOVERY
ZCL_WRITE
ZCL_BASIC
ZCL_Identify
include_REVISION_INTRY_REGAL_INTRES=1 CL_ENABLE_TRUST_INTRIGGER=100_TRUS_ING_MAX_INTRINTRINTRINS=ZCL_INES=100_INTRING_MAX_INTRINTRINS=100_TRINES=100_TRINTRING_TRING_TRING_TRINES=100_TRING_TRING_MAX_TRINES=100_TRINES=100_TRINES=ZING_TRING_TRINES=100_TRING_TRINTRING_TRINES=ZING_TRINES=ZING_TRING_TRING_TRING_
















我更改了缓冲器

#define NWK_MAX_DATABIFS_WAITING_80 //等待发送到 MAC
#define NWK_MAX_DATABIFS_Scheduled 50 //要发送
的定时消息#define NWK_MAX_DATABIFS_Confirmed 50 //在 MAC 确认
#define NWK_MAX_DATABIFS_TOTAL 后保持 255 //缓冲器总数

我猜有根本的错误,但我看不到什么)

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

    如果不使用集体铸造,我认为您不能同时打开10个灯。 顺便说一下,您的意思是“但我仍然会经常遇到错误203或205,或者只是设备没有任何错误就没有反应。”? 我也无法清楚地理解您的问题。 您能详细说明吗?

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

    您好 Anton、

    根据您的一些修改、您必须已经了解已知问题和建议的固定 Wiki: http://processors.wiki.ti.com/index.php/Zigbee_Known_Issues_and_Proposed_Fixes 

    但我也建议您查看此 E2E 页面并相应地增加您的 NV 存储器: https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/746836

    拥有稳健的网络拓扑(多台路由器、通过合理距离实现良好的网络链路以及很少的物理或频带干扰、每个路由设备没有太多的子节点、错开 Zed 连接、最大限度地减少广播、降低休眠轮询频率等)也至关重要。  我与 YK 分享的不理解错误203/205。  提供尽可能多的调试/监听器日志(包括注释/说明)。

    此致、
    Ryan  

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

    [引述用户="YiKai Chen ]]如果不使用集体播客,我认为你不能同时打开10盏灯。 [/报价]

    当然可以。 Hue 是一个示例。 我也能够使用 CC2538ZNP 实现它。 一旦缓冲区足够大、可以处理所有数据、并且有路由、它就能完美工作、长期稳定性是一个问题。

    使用上面的设置、我最终 会出现错误、其中没有路由或没有 ACK。  或者、有时器件侧没有反应、ZNP 侧也没有错误。

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

    [引述 USER="Ryan Brown1]*但我也建议您查看此 E2E 页面并相应地增加您的 NV 内存: https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/746836

    谢谢、我明天会检查。

    网络拓扑有多台路由器(实际上、在这40台测试设备中、有20台是 Zed/ZR (和2台专用路由器)。

    我看到的错误是 ZNwkNoRoute 和 ZMacNoACK (我错了大约203、 最后一个错误为233/0xE9)

    实际上,我可以保留默认 的集中器_discovery_time=0 (保持集中器_enable=true) ,然后它几乎完全稳定。 但我不明白这是什么意思。 在这种情况下、协调器永远不会发送任何路由请求。 (这似乎是可以理解的,因为它实际上禁用了 mTOR 请求,但协调器从未发出正常的路由请求,可能是因为 mTOR 是启用的)。 因此、如果 Zed 先验地尝试 与协调器通信、那么协调器有路由、如果 ZED 没有、那么什么也不会发生。 但这绝对 是我目前为止发现的最稳定的配置。 唯一的问题是,如果 缓存中的路由不再适用(例如,路由已关闭) 或不存在,则不会有路由请求,传输将失败。

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

    在我看来、对于我的当前设置、会发生一些溢出。 它不能是网络、网络太小(40个节点)、但可能在与源路由相关的 ZNP 上进行处理。  

    我感到困惑的是、有些时间参数看起来以秒为单位、有些以微秒为单位。 而文档中并没有真正说明什么是什么。 昨天我重新检查了,也许我是盲人),特别是对于 MTO_RREQ_LIMIT_TIME,我没有发现清楚说明,是微秒还是秒。

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

    我对“一次”的理解意味着所有灯都同时接收命令并同时打开,这必须通过组播(某种修改后的广播)来实现。

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

    很抱歉,我不清楚。

    我的意思是在第一阶段和最后阶段之间没有明显的延迟。

    实际上、这意味着延迟小于20ms。 几乎是理所当然的。  在1-2%的情况下具有高达1s 的容差。

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

    尽管集中器的结果很有趣、但它应该完全启用或不启用。  我建议使用更大的集中器_发现_时间进行测试、可能是90或120 (秒)。  MTO_RREQ_LIMIT_TIME 以毫秒为单位、应增加到3000到5000的范围。  请记住、应对所有未根据您提供的定义实现的路由设备应用多项更改。

    此致、
    Ryan

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

    您好 Anton、

    此主题是否可以标记为已解决、或者您是否有更多问题?

    此致、
    Ryan