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.

[参考译文] CC3220:电流消耗优化

Guru**** 2553360 points
Other Parts Discussed in Thread: CC3220SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/774770/cc3220-current-consumption-optimisation

器件型号:CC3220

您好!

我正在尝试优化使用 cc3220modasf 的器件之一的电流消耗。

应用程序基本上处于休眠状态、每隔几个小时唤醒一次以将数据发送到 http 客户端。  

它使用的 是 ti-RTOS 和 wifi 快速+自动连接、看门狗和主线程等待在回调中发布的信标(例如、SimpleLinkNetAppEventHandler for DHCP)

我希望 MCU 在每个 SEM_WAIT 上都处于睡眠状态。  例如,对于较慢的 DHCP 服务器,我希望 MCU 一直运行到 SEM_WAIT()并 进入休眠状态,而 NWP 则处理通信,直到回调发生。 但是、测量的功耗似乎没有我预期的那么低。

请参阅下图中的功耗(1mV = 1mA)

我还尝试在 DHCP 连接后添加一个5秒信标等待时间,在这里我期望整个系统消耗12mA 的电流(根据 MCU 睡眠+ NWP 空闲连接的数据表),但最低的电流为~25mA,在~100mA 时每100ms 出现尖峰。

注:

我只是说睡眠、因为我了解到使用看门狗可以阻止 LPDS、但很乐意为此采取任何变通办法。

我已经尝试禁用看门狗、但我得到的结果完全相同。   当我打印 Power_getConstraintMask 的结果时、我得到0

我的问题:

  • 如何检查 MCU 是否确实处于睡眠模式? 如何检查哪些因素会阻止它?
  • 当看门狗被禁用时、我如何检查 MCU 是否确实处于 LPDS 状态? 如何检查哪些因素会阻止它(除了 Power_getConstraintMask)?
  • 在使用 LPDS 时、是否有任何权变措施来使用看门狗? (是否让看门狗使用慢时钟? 使用另一个计时器?)

提前感谢、

C é dric

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

    唯一真正了解的方法是测量功率、或者可能定期闪烁 LED 以指示 MCU 处于活动状态。 看门狗依靠40MHz 晶体来运行、该晶体在 LPDS 模式下关闭。 您可以将专用 LPDS 计时器用作唤醒源。 只有在休眠模式下、才能使用慢时钟来唤醒。

    此外,是否在编程开始时调用 Board_initGenerale()? 这将初始化电源策略、使其在 CC3220SF_LAUNCHXL.c 文件中进行配置。

    您可以尝试使用调试器运行您的代码-如果在代码运行时它断开连接、您就知道自己输入了代码。

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

    您好、Jesu、

    感谢您的回复。

    我确实调用了 Board_initGeneral、但错过 了 Power_enablePolicy。 现在我已经添加了它、我得到了看起来更好的东西。

    关于 LPDs +看门狗、是否有办法在慢时钟上运行看门狗? 或者使用慢时钟重新创建类似的东西?

    此致、

    C é dric

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

    遗憾的是、没有。 看门狗连接到系统时钟。 为什么要唤醒慢时钟?

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

    您好、Jesu、

    我们的应用程序在几个小时内处于休眠状态、并唤醒几秒钟以发出几个 http 请求(如果客户网络快速)。

    我需要的是:

    • 如果系统在唤醒阶段卡住、则可以重置系统。 我们已经遇到了一些导致看门狗复位的问题(缓冲区溢出、http 客户端 https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/750515、 文件处理错误...)
    • 等待阶段消耗尽可能少(AP 连接、DHCP、...) 因为我们无法控制客户网络。 许多都非常缓慢...

    当然,当发现所有错误时,我可以在没有看门狗的情况下执行,但我们还没有;)

    C é dric

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

    如果出现任何应用错误、看门狗复位是复位系统的方法。 在"等待阶段"中、器件建立连接需要多长时间?

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

    您好、Jesu、

    在1秒到15秒之间的任何时间内、我们都有超时时间、稍后再试。

    延迟可能会在链中的任何位置出现、对于某些客户、它是与 AP 的连接、许多客户的 DHCP 速度非常慢、有些客户的 DNS 或 http 连接需要几秒钟的时间。

    C é dric

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

    您的连接时间非常标准。 在等待 wlanConnect 时、您可以尝试将 MCU 置于睡眠状态、但考虑到 NWP 将处于完全激活状态、我认为这对您没有太大帮助。

    Jesu