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.

[参考译文] CC2652P7:即使网络中的数据包丢失只有 2 个器件且距离很短

Guru**** 2576575 points
Other Parts Discussed in Thread: CC2652P7, Z-STACK, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1573301/cc2652p7-packet-loss-even-with-network-have-only-2-device-and-short-distance

器件型号:CC2652P7
主题中讨论的其他器件: Z-STACKSYSCONFIG

工具/软件:

您好、

我的团队正在使用 CC2652P7 模块进行距离测试、其中 Z-Stack SDK 版本为 8.31。

一个 CC2652P7 运行 zc_setimator 采样、另一个运行 zed_temperature 采样。 温度终端设备的电源模式设置为始终开启。 所有 Z-Stack 网络配置均保留为默认值。
终端设备将每 5 秒手动报告一次温度(无配置报告)。 发送设备有 2 个计数器:总发送和总成功(接收默认响应,序列号正确)
协调器有 1 个计数器、该计数器在接收报告时会增加。

该测试在室内露天运行。

长时间运行后、不知何故、数据包丢失很少、我的老板问为什么在这种情况下、数据包丢失仍然会发生。

在此设置中、我们能否实现 0%的数据包丢失? 我该如何解释是否发生这种情况? 下面是我测试的结果

从端子获得结果

结果摘要

谢谢

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

    尊敬的 Van:

    数据包丢失的原因和缓解措施有多种:

    • 由于通道噪声、CSMA/CA 退避、请参阅   mac_cfg.c 的 macPibDefaults 中的 MAC_default_MIN_BE/MAC_default_MAX_BE 和 maxCsmaBackoffs
    • 低传入 RSSI、您可以降低 LBT RSSI 阈值(再次在 mac_cfg.c 中设置 macPibDefaults)、并增加输出 TX 功率(sysconfig -> Z-Stack ->无线电->发射功率)
    • 接收对讲机忙、错过了这些消息、您可以尝试增加重试次数 (SysConfig -> Z-Stack -> Advanced -> Packet Sending)

    我们将通过监听器日志详细了解错过的数据包背后的性质。  请参阅 Z-Stack 用户指南中的端到端确认文档、进一步了解如何识别栈中的此类丢失数据包、从而通过重新发送相关数据包来解决此类实例问题。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您的答复。

    关于监听器日志、不知何故我看不到解密的消息。 我使用的是 Wireshark 和 https://github.com/NordicSemiconductor/nRF-Sniffer-for-802.15.4。 我添加 TC 默认密钥、并在终端器件加入网络但无法解密后续消息时从开始启动监听器。 过去我使用 SDK v8.30 中的协调器 ZNP 示例时、它一直起作用

    关于增加重试次数、如何计算重试发送的最大消息数。 例如、当错误发生在高层(APS 层)时、当重试发送时、重试次数的低电平将复位为 0 或从当前值继续计数。

    如所附照片所示、2 个器件设置在一个暗室中、彼此非常靠近、因此我认为不会发生通道噪声和低 RSSI。 关于接收对讲机正忙、终端设备以 5 秒间隔发送消息、MAC 重试= 3、NWK 重试= 2、AP 重试= 3。 有了这些设置、我不知道接收对讲机的忙或消息丢失是什么原因。

    关于 APS 重试、它是否与 TxOptions 相关: 0x04 = APSDE-DATA.Request 中的确认传输、syscfg“APS ACK WAIT Duration (ms)= 6000“中的值?

    。 在源代码中,该选项可以用 zcl_registerClusterOptionList() 函数设置,但看不到它在任何地方被调用。 如果未设置此选项、APS 重试是否仍然有效?

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

    NRF Sniffer 器件让我无能为力、这里提供了 用于嗅探解决方案的 TI 资源。  听起来您拥有正确的工具和设置、也许嗅探器设备或 Wireshark 软件未正确检测到 NWK 密钥传输。  您可以继续对此进行调试、以便进一步了解数据包。

    下面是 重试的之前细分 (不适用于 APS)、如果启用了 APS ACK、则如果返回 MAC ACK、但在 APS ACK 等待持续时间 (APSC_ACK_WAIT_DURATION_RORTRY) 内未提供 APS ACK、则可以期待重试 (APSC_MAX_FRAME_RETRIES)。

    当 ZStack_afdataconfirmining_t  状态不等效于 ZStack_ZStatusValues_ZSuccessess 时、可以在 zstackmsg_Cmdids_af_data_confirm_IND 内创建一个 IF 语句、从而了解有关失败状态的更多信息。  您还可以捕获序列号、这在与您的工作监听器设置进行比较时很有帮助。

    此致、
    Ryan