Sleep 模式详解

SoC 支持两种睡眠模式:

  • 时钟门控(Clock-gating,CG)模式:关闭 SOC 域的时钟

  • 电源门控(Power-gating,PG)模式:同时关闭 SOC 域的电源和时钟,因此功耗更低

由于 CPU 位于 SOC 域,PG 睡眠模式下需要备份和恢复 CPU 状态,因此在睡眠和唤醒流程中,PG 模式比 CG 模式消耗略多的时间。

备注

对于 SOC 域中的外设,从 PG 睡眠模式唤醒后必须重新初始化,因为它们所在的电源域在睡眠期间已被断电。

KM0 和 KM4 位于同一电源域,因此它们都支持 CG 或 PG 睡眠模式。

KM4 通常用作应用处理器(AP);而 KM0 通常用作网络处理器(NP),负责 Wi-Fi 驱动和固件。因此,只有当 KM4 首先请求进入睡眠模式后,KM0 才能进入睡眠模式。

  • 对于 PG 模式:当唤醒事件发生时,PMC 将开启 SOC 域的电源和时钟。KM0 首先从复位处理程序开始,并检查标志以确认是否从 PG 模式唤醒。

    如果是,KM0 将恢复 CPU 状态,从睡眠点继续执行,然后检查唤醒原因以确定是否需要唤醒 KM4。如需唤醒 KM4,则释放 KM4 的时钟以恢复其运行。

    PG 模式下的睡眠和唤醒流程如下图所示:

    ../../rst_ps/rtos/figures/sleep_and_wake_flow_of_pg_dplus_nda.svg
  • 对于 CG 模式:当唤醒事件发生时,PMC 将开启 SOC 域的时钟。由于 KM0 在 CG 模式下未断电,它将唤醒并从睡眠点继续执行,然后检查唤醒原因以确定是否需要恢复 KM4。

    CG 模式下的睡眠和唤醒流程如下图所示:

    ../../rst_ps/rtos/figures/sleep_and_wake_flow_of_cg_dplus_nda.svg

Deep-sleep 模式详解

深度睡眠模式具有更低的功耗,因为只有 AON 域保持开启,而 SYSON 和 SOC 域关闭。因此,只有 AON 域中的外设能唤醒芯片。

当芯片从深度睡眠模式唤醒时,它将执行启动过程。

由于系统 SRAM 和 CPU 在深度睡眠模式下关闭,设置为唤醒源的外设对应的中断应在唤醒后重新注册,以处理中断处理程序。

深度睡眠模式的流程如下图所示:

../../rst_ps/rtos/figures/deep_sleep_mode_flow_dplus_nda.svg