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.

[参考译文] CC2530:有时协调器无法发送数据包

Guru**** 2859870 points

Other Parts Discussed in Thread: CC2530, Z-STACK, CC2591, CC2592

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/805093/cc2530-sometimes-the-coordinator-is-failed-to-send-out-the-packets

器件型号:CC2530
Thread 中讨论的其他器件: Z-stackCC2591CC2592

您好!

根据客户的现场测试、他们发现 CC2530有时无法发送数据包。

根据数据包监听器、我发现在此问题发生期间没有来自协调器的数据包。

我建议他们尝试以下3个选项、但没有改进。 您能告诉我有关此问题的任何其他调试方法吗?

1.#define CCA_THR                      0xF7

  #define CCA_THR_HGM                  0xFC

2.#define CCA_THR                      0xF2

  #define CCA_THR_HGM            0xF7

3.#define CCA_THR                      0xF7

  #define CCA_THR_HGM                  0xFC

 在函数 macMcuInit():中

 将 MDMCTRL0 = 0x85;更改为 MDMCTRL0 = 0xA5

 将 MDMCTRL1 = corr_THR 更改为 MDMCTRL1 = 0x38

此致、

永华

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您说"他们发现 CC2530有时无法发送数据包"时、他们会在应用代码中使用什么 API 和代码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SDK 版本:Z-Stack Home 1.2.2a.44539,
    示例:SampleSwitch,
    API:zcl_SendCommand

    BTW、此问题不能在清洁环境中重现。
    期待得到一些建设性的意见。
    谢谢!

    此致、
    永华
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SampleSwitch 是否用作终端器件? 顺便说一下、您的意思是"这一问题不能在清洁的环境中重现。"? 环境噪声是大还是存在大量2.4G 干扰?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不、它是协调器。 是的、由于它是终端客户的展厅、并且周围有一些2.4GHz 器件、因此环境很嘈杂。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果 SampleSwitch 是协调器、zcl_SendCommand 目标如何? 是终端设备还是路由器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yikai、Destination 是路由器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当 SampleSwitch 无法发送 zcl_SendCommand 时、zcl_SendCommand 的返回状态是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它会在出现此问题时返回成功。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的意思是 zcl_SendCommand 返回成功、但实际上您在监听器中看不到任何发送的内容吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、是的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议 SampleSwitch 是否发送路由器请求而不是真正的 zcl_SendCommand、因为路由路径会丢失。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    另一个建议是向 DEFAULT_CHANLIST 添加更多通道、以便当 ZC 形成网络时、选择最佳通道。


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

    尊敬的永华:

    如果可能、请让客户提供监听器日志、更详细的 ZC 行为(它是否仍然定期发送链路状态消息、在问题发生后需要重新启动、发送任何其他数据/命令等)和网络拓扑(直接连接的邻居、总设备等)。 尝试将 maxCsmaBackbuts 增加到5、并让它们增加其最大网络缓冲区大小: processors.wiki.ti.com/.../Zigbee_Known_Issues_and_Proposed_Fixes

    http://www.ti.com/lit/wp/swra635/swra635.pdf 

    此致、
    Ryan

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

    您好、Ryan、

    请参阅随附的监听器日志、其中没有数据包发送到器件 CA8F 和1065。

    谢谢!

    此致、

    Yonghuae2e.ti.com/.../No_5F00_packet_5F00_to_5F00_Device_5F00_CA8F_5F00_and_5F00_1065.7z

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

    尊敬的永华:

    从0xCA8F 发出的所有数据都是广播和重新传输的、因此协调器不需要用 MAC ACK 进行应答。 0x1065会将路由应答(260)单播直接发送给其接收 MAC ACK 的协调器。 协调器本身会通过0x1065路由并使用相应的 MAC ACK、向0xC847发送开/关:读取属性(273)、APS ACK (286)和开/关:默认响应(288)。

    此外、链路状态列表显示这些器件非常接近或超过默认的 MAX_neighbor_entries 值、但显示与协调器的良好连接(0x1的传入/传出成本是最佳的)。 协调器本身没有链路状态消息、但日志长度仅为10秒、短于15秒的默认 NWK_LINK_STATUS_PERIOD。 除了 IAS 区域之外,我还看到很少的重试次数:0xAB64的默认响应,但这与相关路由器几乎没有关系。 存在一些常见的路由请求风暴、可以使用 default_route_request_RADIUS 和 route_discovery_time 来解决。

    我无法从该监听器日志推断任何内容、我应该查看任何特定的数据包或注意到其他行为吗?

    此外、在您的原始帖子中、您声明 CCA_TRH_HGM 值为0xF7/0xFC、但默认值为0x06。 这是拼写错误、还是要将其降低10dBm (有符号字符值)? 请记住、大于阈值的值表示接收器将 CCA 保持为繁忙状态、因此您希望提高阈值(增加 CCA_THR)以获得宽大处理。 但是、您不应因 IEEE 802.15.4规范而对这些值进行过多更改。

    此致、
    Ryan

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

    您好、Ryan、

    我将以下代码作为参考、并希望将 threassold 更改为-80dBm

    #define CCA_THR 0xFC /*-4-76=-80dBm (当 CC2530单独运行或在 LGM 中与 CC2591一起运行时)*/
    #define CCA_THR_HGM 0x06 // 6-76=-70dBm,当 CC2530在 HGM 中与 CC2591一起运行时*/

    感谢您的评论、我将处理这些参数。

    我们正努力说服客户根据以上维基网站上您的建议进行现场测试。 将在测试完成后提供更多监听器日志。

    此致、

    永华

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

    客户是否使用 CC2591/CC2592等外部 PA/LNA? 否则、无需更改 CCA_THR_HGM。

    如前所述、在允许 CCA 运行的背景下、-80dBm 的阈值比-70dBm 更严格、在有符号字节的背景下、0xF7 =-9dBm、0xF2 =-14。

    客户可以在不删除闪存 NV 页的情况下对 ZC 进行重新编程、或使用修改后的 Z-Stack 更改克隆 ZC、以避免重新调试网络。

    此致、
    Ryan