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:ZigBee 通信中的数据包丢失。

Guru**** 2589265 points
Other Parts Discussed in Thread: CC2538-CC2592EMK, Z-STACK, CC2592, CC2538, CC2590, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/673061/cc2538-packet-loss-in-zigbee-communication

器件型号:CC2538
Thread 中讨论的其他部件: Z-stackCC2592CC2590CC2650

您好,

 我有3台路由器和1个基于 cc2538-cc2592emk 和 z-stack 3.0的网关

设置程序在通道15上运行

路由器距离网关7米、10米、15米、该设置部署在正常的办公空间环境中。路由器每5分钟向网关发送一次报告命令。

我观察到、在周中(周一至周五)、路由器到网关的数据包丢失率很高、为10% 到40%。

可能的原因是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否使用监听器检查发生了什么情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不幸的是、我没有监听器日志、这是一个客户端位置、因此无法运行监听器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果没有监听器日志、则很难判断任何内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dhanraj、

    根据网络设置、链路质量可能仍然是一个问题。 他们是否在 hal_board_cfg.h 的内部定义了 HAL_PA_LNA_CC2592? 客户是否能够为每台路由器提供任何 LQI/RSSI 报告? 它们是否可以出于调试目的更改路由器位置和固件?

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

    1) HAL_PA_LNA_CC2592是在编译标志中定义的,而不是在 hal_board_cfg.h 中定义的
    2) 2)如何生成 LQI/RSSI 报告?
    3) 3)是的、可以更改位置、以及您在固件中建议的更改是什么?

    此致
    直流
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以将 ZDP_MgmtLqiReq 从 ZC 发送到所有 ZR 以收集 LQI 数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何命令可从网关应用程序发送??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的 GW 是否使用 ZAP-ZNP 架构?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是,RPi 作为 ZAP,cc2538-cc2592emk 作为 ZNP
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用 ZNP/MT 命令 ZDO_Mgmt_LQI_REQ 来执行 LQI 请求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已签入 Z-stack Linux 网关 API 文档 v1.1,但没有 API 可用于从网关触发 ZDO_Mgmt_LQI_REQ
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、您实际上使用的是 Z-stack Linux Gateway。 如果 Z-stack Linux Gateway 中没有可用的 API、您可能需要自行实施。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我发送 ZDO_Mgmt_LQI_REQ、则路由器和终端设备都将响应或仅响应路由器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果路由器/设备支持 LQI 命令、两者都将响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我不想从 ZNP/Coordinator 发送 LQI 请求命令,那么在 z-stack(3.0)路由器中有任何可以返回 LQI 值的 API。 无论如何,我的路由器会定期向网关报告其他数据,因此我可以将 LQI 值也放入同一个报告数据包中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当前 Z-Stack 中没有此类功能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dhanraj、

    您对此问题是否有任何更新?  请继续调查或陈述您的解决方案并将该主题标记为已解决。

    此致、
    Ryan

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

    您好、Ryan、

    我继续进行调查。

    我无法观察到任何一致的模式。

    请查看随附的数据包丢失报告。 当数据包丢失率为0%时、每台路由器每天最多报告288次。

    您可以在288个路由器中看到为每台路由器接收的 PAR Day 数据包。

    e2e.ti.com/.../packet-loss-report.xlsx

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

    Dhanraj:

       我认为15米长的 LOS (视距)对于 CC2538+CC2592射频前端而言不是问题、22dBm 射频功率这一足够的扩展范围到100米 LOS、即使比高性能无线路由器(30dBm)更小。

       如果您使用 CC2592在 Z-Stack 3.0.x 堆栈 ZNP 上部署、则应仔细检查 CC2538ZNP\hal_board_cfg.h、就我而言、hal_board_cfg.h 上存在错误、请勿使用宏  

    HAL_PA_LNA_CC2592 

    /*------ 射频前端连接初始化--- //
    #if defined HAL_PA_LNA || define HAL_PA_LNA_CC2590
    extern void MAC_RfendFrontendSetup (void);
    #define HAL_Board_RF_FLS_SETUP () MAC_RfendSetup()
    #else
    #define HAL_Board_RF_Frontend_Setup()
    #endif 

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

    Z-Stack 3.0.1中包含了宏、我可以告诉您:

    /*------ 射频前端连接初始化--- //
    #if defined HAL_PA_LNA || define HAL_PA_LNA_CC2590 || define HAL_PA_LNA_CC2592
    extern void MAC_RfFrontSetup (void);
    #define HAL_Board_RF_FLAY_SETUP () MAC_RfendendendSetup()
    #else
    #HAL_Board_RF_endFrontSetup (#define
    ) 

    但这确实表明了一个好的点、即应该仔细检查所有硬件电源表设置、因为错误的值会影响数据包接收。

    此致、Ryan

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

    我没有让你明白-你的意思是-不要用宏命令?


    我已经修改了 hal_board_cfg.h、如下所示-

    /*------ 射频前端连接初始化--- *
    //#if defined HAL_PA_LNA || defined HAL_PA_LNA_CC2590更改了 Dhanraj 启用 cc2592
    #if defined HAL_PA_LNA || defined HAL_PA_LNA_CC2590 || defined HAL_PA_LNA_CC2592
    extern void MAC_RfFrontendSetup (void);
    #define HAL_Board_RF_F前端_Setup() MAC_RfFrontendSetup()
    其他
    #define HAL_Board_RF_前端 设置()
    #endif

    // Dhanraj 为启用 cc2592而进行的#ifdef HAL_PA_LNA 更改
    #if defined HAL_PA_LNA || defined HAL_PA_LNA_CC2592
    #define HAL_Board_PA_LNA_init() st (GPIOPinTypeGPIOOutput (HGM_base、HGM_PIN);)
    其他
    #define HAL_Board_PA_LNA_init ()
    #endif

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

    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我在编译器>预处理器标志中定义 HAL_PA_LNA_CC2592。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您提到该设计基于 cc2538-cc2592emk、但系统实际上使用这些板还是定制 EVM? 您能否将应用恢复到稳定点(与提供的示例类似)、或者这是否仍然与硬件相关?

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

    我正在使用 readymade cc2538-cc2592 EVM。

    我不认为它的硬件相关的错误。

    我将向您介绍测试方案-  

    1) 1)所以我已经在一楼 、一楼、二楼的3楼大楼开始了这种设置。

    网关位于一楼、

    在一楼、我有2台路由器和28台 zed

    一楼有3台路由器和31台 zed

    2楼有3台路由器和29台 zed  

    这是我的初始设置-

    在此设置中,一楼和一楼设备路由器和 ZED 的数据包丢失 率非常低(<10%)。

    但是在二楼,数据包丢失率很高(>30%),即使 zed 运行时间不超过2天,他们也停止发送数据。

    因此,我决定隔离网络,首先确定路由器中的数据包丢失问题

    因此,在第二层,我部署了单独的网络,仅使用三台路由器。 然后、我发现仍然存在大量数据包丢失、正如我在前一次答复中的 Excel 工作表中所示。

      

    我已收集了9小时的 qua 监听器日志,但无法从中找到任何内容。

    请查找随附的监听器日志。

    e2e.ti.com/.../Packet-loss-log-21032018.rar

    第二层路由器的短地址和扩展地址,数据包丢失

    1) 0X870B、0X00124B00060d90ED

    2) 0X9000、 0X00124B00060BEE57

    3) 0XAB02、0X00124B00060D91D1

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

    您好、 Ryan、

      是否确认在 Z-Stack 3.0.1上进行测试? 在安装 Z-Stack 3.0.1.exe 默认设置时、我认为此 hal_board_cfg.h 源代码不正确。

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

    我们也进行了类似的更改、以在 ZNP 目标中启用 CC2592。 TI 似乎省略了它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mathew、

    您可以看到、CC2538ZNP hal_board_cfg.h 缺少 CC2592定义、我有太多正切线程在运行、因此不小心查看了 CC2538常规资源。

    Dhanraj、

    这些节点的链路状态看起来相当一致、所有0x01成本(最佳)都是例外的、0xAB02传出到0x9000、0x870B 传出到0x0000 (偶尔为0x00 (断开连接))。 对于68个不同的链槽、通道15上似乎有很多噪声。 这是预期的吗? 我想回到您表示工作日问题更糟的时候。 您是否尝试过在其他通道上进行测试?  为什么每隔一到两分钟就有一致的广播许可加入请求?  很明显、您的某些属性报告正在进行多次重试、您是否增加了 f8wConfig.cfg 中的尝试次数?

    我们可以备份未来监听器日志的长度、9小时有点长。

    此致、
    Ryan

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

    您好、Ryan、

       我认为这是一个很好的评论候选人。  

    我很高兴您确认了问题

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

    您好、Ryan、

    1)对于68个不同的托盘、通道15上似乎有很多噪声。

     >实际上只有两个 PAN,我不知道为什么这个 ubiqua 显示了如此多的 PAN,而且它还将终端设备显示为路由器。 我之前报告过类似的问题。

    目前有一个网络有5台路由器、大约65台 zed、我们观察到的第二个网络的数据包丢失仅包含3台路由器。

    https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/t/663751?tisearch=e2e-quicksearch&keymatch=end%20devices%20showing%20as%20router

    2) 2)这是预期的吗?

    >不会有这么多的噪音,这是理想的办公环境。此外,WiFi 路由器也在那里,但在大多数办公环境中,WiFi 将会在那里。   

    3) 3)我想回到您表示工作日问题更糟的时候。 您是否尝试过在其他通道上进行测试?

    >当前网络正在使用信道15,我应该转向信道1还是信道25?

     4)以及为何每隔一到两分钟就有一致的广播许可加入请求?  

     >每台路由器每5分钟启用一次允许加入,我实施此操作是因为终端设备经常离开网络,所以它们可以再次加入网络,这 就是我启用此功能的原因。  如果这是不好的做法/不推荐、那么我将禁用它。   

    5) 5) 很明显、您的某些属性报告正在进行多次重试、您是否增加了 f8wConfig.cfg 中的尝试次数?

    >否,我没有增加尝试次数 。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通道1至10为868/915MHz PHY、因此保持在2.4GHz PHY 范围内、通道11至26。 频道15、20、25、26始终没有 WiFi 干扰、11、14、15、19、20、 对于 HA,首选24或25。 尝试具有更多重试次数的另一个通道、并考虑使用硬件交互(GPIO ISR)启用允许加入、并且仅在一个协调器/路由器上启用、因为其他协调器/路由器也会这样做(因此、几乎每分钟都启用一次许可加入、我怀疑它在所有节点上都会关闭)。 如果 NWK 信息存储在 NV 存储器中、则网络重新连接不需要启用许可加入。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已在配置期间启用通道15、20、25。 每当网络启动时、都会选择通道15。
    无论如何、我将一次启用单通道并测试通道20、25、26。
    供参考-我们的应用程序不适用于家庭自动化,我们的应用程序适用于大型办公室基础设施/环境中的大型网络。

    1) 1)使用通道26时、范围(通信距离、终端设备 cc2650到路由器 cc2538-cc2592emk)将受到影响的程度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    26的范围与所有其他2.4GHz Zigbee 通道相同。

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

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

    为了检查 WiFi 的干扰、我进行了 WiFi 信号测试、我发现在我的测试环境中、两个 WiFi 网络在信道2和信道4上运行、信号强度良好。WiFi 信道2和4与 ZigBee 信道15重叠。

    请在测试环境中找到随附的 WiFi 流量屏幕截图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、您是否曾尝试在另一个通道上测试 ZigBee 网络?

    此致、
    Ryan