docs(Power Management): support esp32c5 system and wifi low power programming guide docs

This commit is contained in:
Li Shuai
2026-01-09 12:03:22 +08:00
parent 7c471e0401
commit cf8ab3c7a4
11 changed files with 719 additions and 37 deletions
@@ -218,10 +218,10 @@ DFS 有如下可配置选项:
- 1000
* - ``max_freq_mhz``
- 160
- {IDF_TARGET_NAME} 支持的最大 CPU 频率
* - ``min_freq_mhz``
- 40
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- false
@@ -288,6 +288,14 @@ Light-sleep 模式配置
由于 flash 和 PSRAM 共用供电管脚,PSRAM 关闭供电将会导致数据丢失,因此,为保证 light sleep 不破坏程序运行状态,启用该选项的前提是系统没有使用 PSRAM。
.. only:: SOC_PM_SUPPORT_TOP_PD
- 关闭数字外设模块及 TOP 电源域下的所有子电源域 (:ref:`CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP`)
.. only:: SOC_PM_SUPPORT_RTC_PERIPH_PD
- 关闭 RTC 数字外设模块,系统睡眠时自动关闭 RTC 数字外设是系统电源管理默认策略,用户可以调用 `esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON)` 在睡眠状态下开启 RTC 数字外设模块
.. only:: esp32c2
- 减少 Power Managemet 模块片内 RAM 内存资源使用量 (:ref:`CONFIG_PM_SLEEP_FUNC_IN_IRAM`),当 :ref:`CONFIG_PM_SLEEP_FUNC_IN_IRAM` 禁止时,下面表格中选项分别用于控制 Power Management 模块各部分组件启用或禁止片内 RAM 优化
@@ -335,7 +343,61 @@ Light-sleep 模式配置
推荐配置
+++++++++
.. only:: esp32c3 or esp32s3
.. only:: esp32c6 or esp32c5
.. list-table::
:header-rows: 1
:widths: 30 15
* - 配置名称
- 设置情况
* - 启用电源管理组件 (:ref:`CONFIG_PM_ENABLE`)
- ON
* - 启用 Tickless IDLE 模式 (:ref:`CONFIG_FREERTOS_USE_TICKLESS_IDLE`)
- ON
* - RTOS Tick rate (Hz) (:ref:`CONFIG_FREERTOS_HZ`)
- 1000
* - 进入睡眠模式前最小 IDLE Tick 数 (:ref:`CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP`)
- 3
* - 将 light sleep 相关代码放置在片内 RAM 中 (:ref:`CONFIG_PM_SLP_IRAM_OPT`)
- ON
* - 将 RTOS IDLE 相关代码放置在片内 RAM 中 (:ref:`CONFIG_PM_RTOS_IDLE_OPT`)
- ON
* - RTC 慢速时钟源 (:ref:`CONFIG_RTC_CLK_SRC`)
- 内部 150 kHz 振荡器
* - 芯片休眠时禁用所有 GPIO (:ref:`CONFIG_PM_SLP_DISABLE_GPIO`)
- ON
* - 关闭 MAC 和基带 (:ref:`CONFIG_ESP_PHY_MAC_BB_PD`)
- ON
* - 关闭 CPU (:ref:`CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP`)
- ON
* - 在 light sleep 状态关闭 flash 供电 (:ref:`CONFIG_ESP_SLEEP_POWER_DOWN_FLASH`)
- OFF
* - ``max_freq_mhz``
- {IDF_TARGET_NAME} 支持的最大 CPU 频率
* - ``min_freq_mhz``
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- true
.. note::
上表中不涉及的配置均是默认。
.. only:: esp32s3
.. list-table::
:header-rows: 1
@@ -374,20 +436,71 @@ Light-sleep 模式配置
* - 关闭 CPU (:ref:`CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP`)
- ON
.. only:: SOC_PM_SUPPORT_TAGMEM_PD
* - 关闭指令和数据缓存中的标签存储器 (I/D-cache tag memory) (:ref:`CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP`)
- ON
* - 在 light sleep 状态关闭 flash 供电 (:ref:`CONFIG_ESP_SLEEP_POWER_DOWN_FLASH`)
- OFF
* - ``max_freq_mhz``
- 160
- {IDF_TARGET_NAME} 支持的最大 CPU 频率
* - ``min_freq_mhz``
- 40
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- true
.. note::
上表中不涉及的配置均是默认。
.. only:: esp32c3
.. list-table::
:header-rows: 1
:widths: 30 15
* - 配置名称
- 设置情况
* - 启用电源管理组件 (:ref:`CONFIG_PM_ENABLE`)
- ON
* - 启用 Tickless IDLE 模式 (:ref:`CONFIG_FREERTOS_USE_TICKLESS_IDLE`)
- ON
* - RTOS Tick rate (Hz) (:ref:`CONFIG_FREERTOS_HZ`)
- 1000
* - 进入睡眠模式前最小 IDLE Tick 数 (:ref:`CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP`)
- 3
* - 将 light sleep 相关代码放置在片内 RAM 中 (:ref:`CONFIG_PM_SLP_IRAM_OPT`)
- OFF
* - 将 RTOS IDLE 相关代码放置在片内 RAM 中 (:ref:`CONFIG_PM_RTOS_IDLE_OPT`)
- OFF
* - RTC 慢速时钟源 (:ref:`CONFIG_RTC_CLK_SRC`)
- 内部 150 kHz 振荡器
* - 芯片休眠时禁用所有 GPIO (:ref:`CONFIG_PM_SLP_DISABLE_GPIO`)
- ON
* - 关闭 MAC 和基带 (:ref:`CONFIG_ESP_PHY_MAC_BB_PD`)
- ON
* - 关闭 CPU (:ref:`CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP`)
- ON
* - 在 light sleep 状态关闭 flash 供电 (:ref:`CONFIG_ESP_SLEEP_POWER_DOWN_FLASH`)
- OFF
* - ``max_freq_mhz``
- {IDF_TARGET_NAME} 支持的最大 CPU 频率
* - ``min_freq_mhz``
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- true
@@ -432,7 +545,7 @@ Light-sleep 模式配置
- 160
* - ``min_freq_mhz``
- 40
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- true
@@ -480,7 +593,7 @@ Light-sleep 模式配置
- 120
* - ``min_freq_mhz``
- 40
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- true
@@ -5,9 +5,9 @@ Wi-Fi 场景下低功耗模式介绍
本节将结合纯系统下的功耗模式来介绍 Wi-Fi 场景下的低功耗模式。因为 Wi-Fi 场景的复杂性,本节会首先介绍 Wi-Fi 省电的基本原理,然后再介绍具体的低功耗模式。本节主要针对 station 模式。
.. todo - add sleep-current/esp32c5_summary.inc and sleep-current/esp32c61_summary.inc
.. todo - add sleep-current/esp32c61_summary.inc
.. only:: not esp32c5 and not esp32c61
.. only:: not esp32c61
Wi-Fi 场景如何选择低功耗模式
--------------------------------------
@@ -355,17 +355,17 @@ Modem-sleep 模式配置
- 1000
* - ``max_freq_mhz``
- 160
- {IDF_TARGET_NAME} 支持的最大 CPU 频率
* - ``min_freq_mhz``
- 40
- {CONFIG_XTAL_FREQ}
* - ``light_sleep_enable``
- false
.. todo - add sleep-current/esp32c5_modem_sleep.inc sleep-current/esp32c61_modem_sleep.inc
.. todo - add sleep-current/esp32c61_modem_sleep.inc
.. only:: not esp32c5 and not esp32c61
.. only:: not esp32c61
- 配置表现
@@ -377,9 +377,9 @@ Auto Light-sleep 模式 + Wi-Fi 场景配置
Auto Light-sleep 在 Wi-Fi 场景下的配置比纯系统下少了唤醒源的配置要求,其余几乎与纯系统下配置一致,因此可配置选项、配置步骤、推荐配置的详细介绍可以参考上文 :ref:`Deep-sleep 模式`。同时 Wi-Fi 相关配置保持默认。
.. todo - add sleep-current/esp32c5_light_sleep.inc and leep-current/esp32c61_light_sleep.inc
.. todo - add sleep-current/esp32c61_light_sleep.inc
.. only:: not esp32c5 and not esp32c61
.. only:: not esp32c61
- 配置表现
@@ -415,3 +415,11 @@ Deep-sleep 模式在 Wi-Fi 场景下的配置与纯系统下配置基本一致
.. only:: esp32c2
平均电流约 4.9 μA
.. only:: esp32c6
平均电流约 6.7 μA
.. only:: esp32c5
平均电流约 10.0 μA
@@ -0,0 +1,27 @@
.. list-table::
:header-rows: 1
:widths: 20 10 20 20 20
* - CPU 频率
- DTIM
- 平均电流 (mA)
- 最大电流 (mA)
- 最小电流 (mA)
* - 240 MHz
- 1
- 1.342
- 80.375
- 0.218
* - 240 MHz
- 3
- 0.651
- 81.179
- 0.219
* - 240 MHz
- 10
- 0.398
- 80.518
- 0.217
@@ -0,0 +1,107 @@
.. list-table::
:header-rows: 1
:widths: 20 10 10 20 24 20 20
* - CPU 频率
- DFS
- DTIM
- Wi-Fi Band
- 平均电流 (mA)
- 最大电流 (mA)
- 最小电流 (mA)
* - 240 MHz
- ON
- 1
- 2.4 GHz
- 24.766
- 88.836
- 23.139
* - 240 MHz
- OFF
- 1
- 2.4 GHz
- 32.394
- 97.378
- 30.776
* - 240 MHz
- ON
- 3
- 2.4 GHz
- 24.19
- 89.176
- 23.229
* - 240 MHz
- OFF
- 3
- 2.4 GHz
- 31.618
- 97.439
- 30.778
* - 240 MHz
- ON
- 10
- 2.4 GHz
- 23.998
- 88.524
- 23.252
* - 240 MHz
- OFF
- 10
- 2.4 GHz
- 31.281
- 98.254
- 30.788
* - 240 MHz
- ON
- 1
- 5 GHz
- 25.467
- 114.746
- 24.387
* - 240 MHz
- OFF
- 1
- 5 GHz
- 32.329
- 117.077
- 31.948
* - 240 MHz
- ON
- 3
- 5 GHz
- 25.208
- 112.746
- 24.421
* - 240 MHz
- OFF
- 3
- 5 GHz
- 32.088
- 117.227
- 31.948
* - 240 MHz
- ON
- 10
- 5 GHz
- 25.151
- 114.438
- 24.432
* - 160 MHz
- OFF
- 10
- 5 GHz
- 32.011
- 119.908
- 31.955
@@ -0,0 +1,87 @@
.. list-table::
:header-rows: 1
:widths: 20 20 30 20 20
* - 项目
- Modem-sleep
- Modem-sleep+DFS
- Auto Light-sleep
- Deep-sleep
* - 休眠
- 自动
- 自动
- 自动
- 手动
* - 唤醒
- 自动
- 自动
- 自动
- 配置唤醒源
* - Wi-Fi连接
- 保持
- 保持
- 保持
- 断开
* - CPU
- 开
- 开/降频
- 暂停或关
- 关
* - 系统时钟
- 开
- 开
- 关
- 关
* - 外设
- 开
- 开
- 暂停或关
- 关
* - DTIM1 (2.4 GHz)
- 32.394 mA
- 24.766 mA
- 1.342 mA
- /
* - DTIM1 (5 GHz)
- 32.329 mA
- 25.467 mA
- 1.514 mA
- /
* - DTIM3 (2.4 GHz)
- 31.618 mA
- 24.19 mA
- 0.651 mA
- /
* - DTIM3 (5 GHz)
- 32.088 mA
- 25.208 mA
- 0.764 mA
- /
* - DTIM10 (2.4 GHz)
- 31.281 mA
- 23.998 mA
- 0.398 mA
- /
* - DTIM10 (5 GHz)
- 32.011 mA
- 25.151 mA
- 0.451 mA
- /
* - 平均电流
- /
- /
- /
- 10.0 μA