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.

[参考译文] CC1125:当振荡器关闭时、CC1125会产生过多功耗?

Guru**** 2563590 points
Other Parts Discussed in Thread: CC1125, ENERGYTRACE, MSP430FR2355

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/975287/cc1125-cc1125-excess-power-consumption-when-oscillator-is-off

器件型号:CC1125
主题中讨论的其他器件: ENERGYTRACEMSP430FR2355

好的、我在基于 swr107a 的定制 PCB 上有一个 CC1125。  它使用40MHz 晶体;EXT_OSC 接地。  它通过 SPI 连接到 MSP430FR 开发板。  我的代码基于"Easy Link TX"代码、并使用 SmartRF 适当配置寄存器。  传输按预期工作、我可以在另一个器件上可靠地接收数据。 通过能量跟踪测量的 TX、RX、空闲状态下的功耗符合预期。

当我发出 SPWD 频闪灯时、问题就会出现。  一旦发送选通脉冲、功耗就会增加到40甚至80mW、这甚至比发送期间的功耗还要高!  如果之后我再次将 CS 拉为低电平、则芯片返回空闲状态、功耗降至正常水平。  一时、我尝试了 SXOFF 选通、并注意到它具有增加功耗的相同效果。  因此、我将 XOSC_CORE_PD_OVERRIDE 设置为1 (以强制开启晶体)、然后再次尝试 SPWD。  在该配置中、我不会观察到功耗过大、但它显然不像 XOSC 关闭时那样低。  关闭晶体似乎会导致过多的功耗。  我不是说几 uA ... 我看到大于20mA。

这里发生什么事了?  我在这里看到至少有一篇其他文章、有同样的问题、但那个问题尚未解决。  让我知道您想要看到的内容、我将发布它。

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

    这就是我所看到的。

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

    尊敬的 Eric:

    这是 CC1125 + MSP430收集的功耗吗?

    您能告诉我 CC1125上运行的软件版本是什么吗?

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

    在 SPWD 选通脉冲之后、由于 MCU 侧的输入引脚未定义而导致电流消耗过大的情况或多或少都是如此。 确保 SO 在睡眠中具有已定义的状态、以确保您没有任何悬空引脚。  

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

    正确、EnergyTrace 适用于整个系统。  在移除 CC1125且 MSP 在 LPM3中休眠的情况下、我看到<1uW。

    我不确定软件版本是什么意思。  CC1125将自身标识为硬件版本0x23。

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

    我在 SO 线上启用了 uC 上的内部上拉电阻。  我的 CC1125 GPIO 配置如下:

       {CC112X_IOCFG3、           0x33}、
       {CC112X_IOCFG2、           0x33}、
       {CC112X_IOCFG1、           0x30}、
       {CC112X_IOCFG0、           0x33}、

    我也尝试过0xB0、没有改变。  我已将代码修改为非常简单、不需要任何 GPIO 中断。  我在 TX 之后每隔几毫秒轮询一次芯片的状态、以验证在发出 SPWD 之前芯片是否处于空闲状态。  我还尝试了每秒在空闲和睡眠之间循环一次、而不去 TX/RX、在睡眠中电流消耗较高的情况下、仍然会看到相同的结果。

    CC1125 从电路中移除并且 MSP 在 LPM3中休眠时、我测量的功率小于1uW、因此我认为 uC 引脚配置正常。  在任何情况下、10-15mA 似乎过多地由悬空引脚引起。

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

    -您能否用 SPI 接口的图来确认 SPI 接口上最后发生的事情是睡眠前的 SPWD 选通脉冲? 由于切换 CSn 引脚将唤醒芯片、因此总线上没有其他事情发生。  

    我不熟悉 MSP。 您是否已验证 LPM3中是否使用了上拉电阻器? 测试将 GPIO1设置为 high-z 以外的值、hw0应该是正常的。   

    -您是否正在使用基于轮询的系统?  

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

    我非常小心地控制 CS 线路、这正是您建议的原因。  我已经尝试过几种使用阻塞延迟或在选通后立即进入 LMP0/1/3的代码变体、但效果始终相同。  我还测试了在频闪灯之后的某个时间故意将 CS 拉低、在这种情况下、CC1125按预期返回空闲状态(上面的能量跟踪图显示了这种情况的一个示例)。  我将在今天晚些时候发布 SPI 的屏幕截图。

    我使用的是 MSP430FR2355。  我已经在 SO 线路上尝试了上拉和下拉、两者都在 More 有效和 LPM3中工作。  CC1125在所有情况下的行为都相同。  我将尝试按照您的建议将 GPIO1设置为 hw0。

    是的、我使用一个 SNOP 选通来轮询芯片状态。  我执行此操作的唯一时间是在发出 SPWD 选通之前、以验证 CC1125是否处于空闲状态。 我对轮询是否正常工作有很高的信心、因为我可以观察到125 1的状态、它通过 TX 转换到空闲等状态、正如预期的那样。

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

    好的、我解决了这个问题。  这是一个硬件设计错误。  症状应该是显而易见的,在事后看来。

    CC1125有一个引脚"DCPL_XOSC"(引脚29)用于" XOSC 电源稳压器的外部去耦"。   swr107b 中的原理图显示了两种不同振荡器配置的所有器件:晶体和外部振荡器。  我的布局针对晶体 X1进行了配置。  我错误地假设引脚29是输入、并将其连接到 Vdd。  实际上、引脚29是输出、R321和 R322是 DNP、引脚29不应连接到 C291以外的任何部件。  数据表的第28页也以简化视图正确显示了该图。  在 XOFF 期间、引脚29似乎已断电、在我的情况下会基本导致短路。  这就是为什么强制振荡器打开可消除额外电流消耗的原因。

    更正后、系统功耗现已达到应有的水平、根据 Energy Trace、功耗降低约1uW。