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.

[参考译文] CC3220MODA:如何优化 CC3220MODASF12MONR 中的功耗

Guru**** 664280 points
Other Parts Discussed in Thread: CC3220S, CC3220R, CC3220SF, CC3120
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/999154/cc3220moda-how-to-optimize-the-power-consumption-in-cc3220modasf12monr

器件型号:CC3220MODA
主题中讨论的其他器件:CC3220SCC3220RCC3220SFCC3120

您好!

我们将 CC3220MODASF12MONR 模块用作主控制器。 我们正在寻找在我们的应用中最佳使用功率模式的方法。 到目前为止、我们使用的是 NWP 处于长睡眠间隔(LSI)模式的始终连接方案。 最大睡眠参数设置为100ms。 此模式下的平均电流消耗为27mA。

我们的应用要求电流消耗大约为 uA。 因此、根据 SWAS05B CC3220R、CC3220S、CC3220SF 文档、MCU 和 NWP 都将处于 LPDS 状态。 我们有以下问题:

  1.  MCU 是否能够在 LPDS 模式下通过 ADC/SPI 执行其他活动、例如数据采集? 根据 SWRA502C CC3120、CC3220 SimpleLink Wi-FiRegisteredInternet-on-a chip 网络子系统电源管理文档,当 MCU 处于 LPDS 模式时,除休眠之外的所有其他逻辑都是如此

逻辑和顶层逻辑由电源门控。 那么、这是否意味着其他逻辑将不起作用?

 

  1. SDK 中的功率测量示例将整个器件置于 LPDS。 是否可以仅将 MCU 或 NWP 发送到 LPDS。 如果是,如何实现这一目标?

 

  1. 我们需要 NWP 每100ms 发送一次数据、然后在其余时间休眠。 如果它仍然连接到 AP、它是否会节省功耗?我们是否应该每次都使用 sl_Start 和 sl_Stop、以便它重新连接到 AP 并通过 TCP 套接字发送数据?

 

  1. 电源管理文档指出 sl_WlanPolicySet 配置器件管理策略。 这意味着它在 MCU 和 NWP 上都能正常工作。 对吗?

 

  1. 我们尝试配置 MCU LPDS、NWP 空闲连接。 在哪种配置模式下可以是一种功率降低解决方案?  

 

 

请为我们提供指导。

期待您的回应!

谢谢、

Murali C

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

    您好 Murali、

    要回答您的问题:

    不可以、在 LPDS 中、无法使用 ADC、SPI 和其他外设。 您的应用需要首先退出 LPDS、才能启用这些外设。

    2.是的、MCU 和 NWP 可以独立进入不同的电源状态。 例如,您可以使用 sl_Stop()函数停止 NWP 的活动并有效地使用 Wi-Fi 功能,从而将 NWP 置于休眠状态。 同样、当 MCU 处于活动状态时、NWP 可以处于 LPDS 状态。 实际上、默认情况下、NWP 将尝试尽可能自动进入 LPDS。 您必须使用 sl_WlanPolicySet API 手动将 NWP 设置为常开模式、以禁用 NWP LPDS 的使用。

    鉴于 NWP 将始终智能地使用其认为最优的 LPDS、因此要更改的主要策略是是否使用 LSI 和 IoT 低功耗模式。 power_measurement 示例演示了用于设置这些选项的方法、根据您的功率要求、使用400ms 范围内的较高 LSI 设置可能会产生更好的结果。

    如果您需要每100ms 发送一次数据,那么执行 sl_Stop ()/sl_Start ()循环是不值得的。 您指出、您需要重新连接到 AP、使用 DHCP 重新获取 IP、然后重新打开套接字并在需要时执行 TLS 握手。 在休眠模式下设置器件和断开 Wi-Fi 连接时、仅在 LPDS 中保持连接即可节省功耗的典型平衡点为30秒至几分钟、具体取决于用例和网络环境中的 DHCP/TLS 开销。

    不可以,sl_WlanPolicySet() API 仅适用于 NWP。 对于 MCU、您的应用需要实际处理 LPDS 转换本身。 此 LPDS 处理在 SDK 中提供、实际上是驱动程序和 RTOS 层的一部分。 您将在 power_measurement 示例中注意到有用于启用和禁用 LPDS 的 Power_enablePolicy() API。 RTOS 中有许多代码允许无缝切换 LPDS,但就应用程序代码而言,只需使用 Power_enablePolicy()启用 LPDS 即可。

    使用 power_measurement 示例的始终保持连接用例应允许您为 MCU LPDS、NWP 空闲连接使用正确的电源设置。 您是否使用该电源模式并看到20mA 平均电流?

    此致、

    Michael

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

    您好、Michael、

    感谢详细的解释。

    2.是的、MCU 和 NWP 可以独立进入不同的电源状态。 例如,您可以使用 sl_Stop()函数停止 NWP 的活动并有效地使用 Wi-Fi 功能,从而将 NWP 置于休眠状态。 同样、当 MCU 处于活动状态时、NWP 可以处于 LPDS 状态。 实际上、默认情况下、NWP 将尝试尽可能自动进入 LPDS。 您必须使用 sl_WlanPolicySet API 手动将 NWP 设置为常开模式、以禁用 NWP LPDS 的使用。

    当 MCU 处于活动状态、NWP 处于 LPDS 模式时、电流消耗是多少? 如何做到这一点?

    使用 power_measurement 示例的始终保持连接用例应允许您为 MCU LPDS、NWP 空闲连接使用正确的电源设置。 您是否使用该电源模式并看到20mA 平均电流?

    我们将在 MCU LPDS、NWP 空闲连接模式下测量6mA 的平均电流。 我们使用 始终保持连接的用例传输数据5秒。

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

    您好!

    MCU 处于活动状态、NWP LPDS 情况下的电流消耗最好由数据表功耗规格中的 MCU 处于活动状态、NWP 空闲连接情况反映出来。 这是因为使用默认 NWP 电源设置时、NWP 将尝试尽可能处于 LPDS 状态、这在 CC3220仍连接到 Wi-Fi AP 时适用、在空闲连接模式下有效。

    为了检查这种情况,最简单的方法是运行电源测量示例的始终连接的测试用例,但只需进行一个小的修改-在 mainThread()中的 UseCase_AlwaysConnected 用例中注释掉 Power_enablePolicy ()调用。 这将禁用 LPDS。

    如果您不注释该行、CC3220 MCU 应能够进入 LPDS。 因此、预期电流应小于1mA。 您手头上是否有 CC3220 Launchpad 可供测试? 我想知道您是否能够在 LaunchPad EVM 上重现测试、并查看您是否获得了预期的功率数。 这将缩小问题的范围、并使我们能够查看它是测试问题还是潜在的电路板问题。

    此致、

    Michael