mirror of
https://github.com/espressif/esp-idf.git
synced 2026-05-19 23:45:28 +02:00
feat(mcpwm): support sleep retention
This commit is contained in:
@@ -976,6 +976,11 @@ However, the driver can prevent the system from going into Light-sleep by acquir
|
||||
|
||||
Likewise, whenever the driver creates an MCPWM capture timer instance, the driver guarantees that the power management lock is acquired when enabling the timer by :cpp:func:`mcpwm_capture_timer_enable`. And releases the lock in :cpp:func:`mcpwm_capture_timer_disable`.
|
||||
|
||||
.. only:: SOC_MCPWM_SUPPORT_SLEEP_RETENTION
|
||||
|
||||
{IDF_TARGET_NAME} supports to retain the MCPWM register context before entering **Light-sleep** and restore them after woke up. Which means you don't have to re-init the MCPWM driver after the **Light-sleep**.
|
||||
|
||||
This feature can be enabled by setting the flag :cpp:member:`mcpwm_timer_config_t::allow_pd` or :cpp:member:`mcpwm_capture_timer_config_t::allow_pd`. It will allow the system to power down the MCPWM in Light-sleep, meanwhile save the MCPWM register context. It can help to save more power consumption with some extra cost of the memory.
|
||||
|
||||
.. _mcpwm-iram-safe:
|
||||
|
||||
|
||||
@@ -156,6 +156,7 @@ The following peripheral drivers are not aware of DFS yet. Applications need to
|
||||
:SOC_LEDC_SUPPORT_SLEEP_RETENTION: - LEDC
|
||||
:SOC_I2C_SUPPORT_SLEEP_RETENTION: - I2C
|
||||
:SOC_I2S_SUPPORT_SLEEP_RETENTION: - I2S
|
||||
:SOC_MCPWM_SUPPORT_SLEEP_RETENTION: - MCPWM
|
||||
:SOC_UART_SUPPORT_SLEEP_RETENTION: - All UARTs
|
||||
:SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION: - Temperature Sensor
|
||||
:SOC_TWAI_SUPPORT_SLEEP_RETENTION: - All TWAIs
|
||||
@@ -177,7 +178,6 @@ The following peripheral drivers are not aware of DFS yet. Applications need to
|
||||
- Crypto: AES/ECC/HMAC/RSA/SHA/DS/XTA_AES/ECDSA
|
||||
- PCNT
|
||||
- USB-Serial-JTAG
|
||||
- MCPWM
|
||||
- SARADC
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -976,6 +976,11 @@ MCPWM 捕获通道支持在信号上检测到有效边沿时发送通知。须
|
||||
|
||||
同理,每当驱动创建 MCPWM 捕获定时器实例时,都会在通过 :cpp:func:`mcpwm_capture_timer_enable` 启用定时器时获取电源管理锁,并在调用 :cpp:func:`mcpwm_capture_timer_disable` 时释放锁。
|
||||
|
||||
.. only:: SOC_MCPWM_SUPPORT_SLEEP_RETENTION
|
||||
|
||||
{IDF_TARGET_NAME} 支持在进入 **Light-sleep** 之前保留 MCPWM 寄存器中的内容,并在唤醒后恢复。也就是说程序不需要在 **Light-sleep** 唤醒后重新配置 MCPWM。
|
||||
|
||||
该特性可以通过置位配置中的 :cpp:member:`mcpwm_timer_config_t::allow_pd` 或 :cpp:member:`mcpwm_capture_timer_config_t::allow_pd` 标志位启用。启用后驱动允许系统在 Light-sleep 时对 MCPWM 掉电,同时保存 MCPWM 的寄存器内容。它可以帮助降低 Light-sleep 时的功耗,但需要花费一些额外的存储来保存寄存器的配置。
|
||||
|
||||
.. _mcpwm-iram-safe:
|
||||
|
||||
|
||||
@@ -156,6 +156,7 @@ ESP-IDF 中集成的电源管理算法可以根据应用程序组件的需求,
|
||||
:SOC_I2C_SUPPORT_SLEEP_RETENTION: - I2C
|
||||
:SOC_I2S_SUPPORT_SLEEP_RETENTION: - I2S
|
||||
:SOC_ETM_SUPPORT_SLEEP_RETENTION: - ETM
|
||||
:SOC_MCPWM_SUPPORT_SLEEP_RETENTION: - MCPWM
|
||||
:SOC_UART_SUPPORT_SLEEP_RETENTION: - All UARTs
|
||||
:SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION: - Temperature Sensor
|
||||
:SOC_TWAI_SUPPORT_SLEEP_RETENTION: - All TWAIs
|
||||
@@ -177,7 +178,6 @@ ESP-IDF 中集成的电源管理算法可以根据应用程序组件的需求,
|
||||
- Crypto: AES/ECC/HMAC/RSA/SHA/DS/XTA_AES/ECDSA
|
||||
- PCNT
|
||||
- USB-Serial-JTAG
|
||||
- MCPWM
|
||||
- SARADC
|
||||
|
||||
.. note::
|
||||
|
||||
Reference in New Issue
Block a user