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.

[参考译文] CC2340R5:终端器件不会进入低功耗模式

Guru**** 2455560 points
Other Parts Discussed in Thread: CC2340R5, LP-EM-CC2340R5, SYSCONFIG, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1487281/cc2340r5-the-end-device-does-not-enter-the-low-power-mode

器件型号:CC2340R5
主题中讨论的其他部件:sysconfig

工具/软件:

我发现在最新的 SDK 中、存在器件无法进入低功耗模式的问题、请帮助确认。

SDK: simplelink_lowpower_f3_SDK_8_40_02_01

项目: ONOFF_SWITCH_LP_EM_CC2340R5_freertos_ticlang

步骤:

1、将低频时钟源从 LF XOSC 更改为 LF RCOSC。

2、将固件刻录到 CC2340R52芯片上,使其加入网络。

3、测试功耗。

 顺便说一下、 在 simplelink_lowpower_f3_SDK_8_20_00_119 SDK 中、该器件可进入低功耗模式。

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

    尊敬的 Senjin:

    感谢您提供清晰说明和详细信息的报告。  SDK 测试团队会对发布前的每个默认示例进行功耗测量、因此您的发现是意外的、因为将 XOSC 更改为 RCOSC 不会影响器件进入待机低功耗模式的能力。  在我执行自己的测试之前、您能回答以下问题吗?

    • 除了"Device  Configuration"->低频时钟源更改为 RCOSC 外、未对默认的 ON_OFF_SWITCH.syscfg 文件进行任何更改。
    • on_off_switch.c 文件以及任何其他工程文件均未以任何方式更改。
    • 此测试可以在 LP-EM-CC2340R5上执行、无需定制硬件。
    • 您要擦除器件上的所有芯片存储器、重新编程、以及重置器件或对其进行下电上电、才能使其加入网络。

    此致、
    Ryan

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

    1、是、无对 syscfg 的其他更改

    2.是、没有更改 c 文件。

    3、不需要定制硬件、在硬件中、没有 IO 连接到任何外设。

    4、我已尝试对器件进行下电上电。  我通过在线调试下载了该程序、并且不确定闪存是否被擦除。  

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

    我懂了。  在运行测试之前、请确认器件擦除和下电上电。

    此致、
    Ryan

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

    您好、Ryan、

    我今天尝试擦除器件上的所有芯片存储器、对其重新编程、并重置器件、器件仍未进入低功耗模式、请确认。

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

    我正在使用 SimpleLink SDK v8.40.02.01、SysConfig v1.22、TI Clang v4.4.0.1.LTS 和 CCS v20.0。   在使用新安装的 SDK 对默认 LP-EM-CC2340R5上的开箱即用 onoff_switch_LP_EM_CC2340R5_freertos_ticlang 示例进行评估时、  我个人偏好的通道已更改为17、而 SysConfig 将低频时钟源选择为 LF RCOSC、我可以加入 Zigbee 网络并观察与 LF XOSC 类似的功耗。  它的规模是几十 uA (包括传输),当然比屏幕截图上显示的6.3 mA 少。  如果需要对设置进行任何更改、请告知我。

    此致、
    Ryan

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

    您好、Ryan、

    我已经发现问题的原因,高功耗是由于失去与父母连接. 我的子设备距离父设备约10米。 我认为, 基于 v8.40.02.01  SDK    的项目的传输功率低于基于 v8.20.00.119 SDK 的传输功率,因为 SDK 的最新版本已经解决了设置功率问题。

    我认为、即使在这种状态下、器件也需要进入低功耗模式。

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

    好的、问题实际上不是关于 RCOSC 与 XOSC 吗?  实际问题是休眠 ZED 在其 ZC/ZR 父级孤立时不会进入待机低功耗模式?

          考虑到最新版本的 SDK 解决了设置功率问题,我认为基于 v8.40.02.01 SDK 的项目的传输功率低于基于 v8.20.00.119 SDK 的传输功率。[/报价]

    您是否使用频谱分析仪或来自 嗅探器器件的 RSSI 观察结果确认了这一点?

    此致、
    Ryan

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

    1、是的、它实际上与 RCOSC 和 XOSC 无关、而与孤立角色相关

    2、 我已确认它与发射功率无关。 对于 v8.20.00.119   SDK、不存在孤立角色无法进入低功耗的问题、但  存在 v8.40.02.01 SDK。

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

    我复制了这些结果并将所有信息提供给 Zigbee 研发团队以获得进一步指导。

    此致、
    Ryan

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

    您好、Ryan、

    我想补充一点、如果新的 Zed 尝试加入网络并失败、在这种情况下它将不会进入低功耗模式。  我希望 TI 团队可以共同解决这个问题。 顺便说一句、解决这个问题需要多长时间?

    此致、  

    Senjin

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

    尊敬的 Senjin:

    感谢您添加此条件。   我相信这两种不同 ZED 状态下的较高功耗源于同一个问题、因为它们发生在 ZED 预计与 ZC 进行通信但未能这样做之后。  

    此类错误票证在解决 影响某些关键账户的 F2 Z-Stack 温度变化问题时暂时搁置。  随着其他调查即将完成、请告知我您剩余的 Zigbee 协议栈问题的优先级、我将鼓励 Zigbee 研发团队按重要性顺序解决这些问题。

    此致、
    Ryan

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

    你好、senjin、

    已提交工单以解决根本问题、但研发团队已建议在 ti_f3_main.c 中实现以下权变措施:

    // Required for sleepy zed check in zb_osif_sleep()
    #include "zb_mac_globals.h" // ADD THIS LINE
    
    // ...
    
    zb_uint32_t zb_osif_sleep(zb_uint32_t sleep_tmo)
    {
    //...
    
      // Get starting time
      t1 = ClockP_getSystemTicks();
      
      // ADD CODE BELOW
      // When device is a sleepy ZED, ensure that RX is off when going to sleep.
      if (MAC_PIB().mac_rx_on_when_idle == 0U)
      {
        ZB_TRANSCEIVER_SET_RX_ON_OFF(ZB_FALSE);
      }
      // END OF ADDITION
      
    //...
    }

    请尝试一下、如果您发现行为有所改善、请告知我们。

    此致、
    Ryan