USER GUIDE / CLOCK AND POWER / AON POWER MANAGEMENT / LIGHT_SLEEP-PD

LIGHT_SLEEP-PD 流程

LIGHT_SLEEP-PD 在 LIGHT_SLEEP-Nor 的基础上,关闭 CPU_V1 & TNPU 的电,使得功耗更低。

切断 HP 域的所有时钟,LP 域的设备保持正常工作。因此,在进入 LIGHT_SLEEP-PD 模式前,需要将 LP 域的时钟全部切到 ROSC2 的时钟上。LIGHT_SLEEP-PD 模式,时钟切换支持硬件自动切换 LP 域时钟和软件控制切换两种方式。

LIGHT_SLEEP-PD 支持 V1 控制和 V0 控制两种方式。

步骤一:预初始化

(1)配置 LPCR.LPC_R,选择 SLEEP 模式

(2)配置 OPCR.PD,选择 sleep mode 模式下 CPU 进入 power down

(3)配置 MEMCTRL_MA0 和 MEMCTRL_MA1,使模块 sram 进入 power down(确保控制器内的数据不需要保存才可以 power down 控制器)

(4)配置 PSWCST0 和 PSWCST1,LIGHT_SLEEP-PD 退出时的 delay cnt 值,可使用默认值。

(5)配置 AON_ROSCC.LPCLK_SEL_auto_en,选择是否由硬件自动切换 LP 域时钟

(6)配置 AON_ROSCC.LPCLK_change_cnt,配置 LPCLKSEL 生效的 delay CNT 值

步骤二:配置 LPCR.TNPU_PD,使 TNPU 进入 power down,读取 LPCR.TNPU_PD_STATE 确认 TNPU 已经进入 power down。

使用 V1 控制使用以下步骤:

步骤三:配置 AON_ROSCC.LPCLKSEL/RTCLKSEL 将 LP 域时钟切到 ROSC2,等待一段时间(使用硬件自动切换 LP 域时钟无需此步骤)。时钟切换后 V1 和 V0 不可再进行通信。

步骤四:V1 配置休眠指令,系统进入 LIGHT_SLEEP-PD 模式。

步骤五:V1 接收到中断后,V1 重新冷启动,读 AON_FLAG 位切换启动方式,自行唤醒并打开时钟。

步骤六:配置 AON_ROSCC.LPCLKSEL/RTCLKSEL 将 LP 域时钟切到 CPM 分频后的时钟,等待一段时间(使用硬件自动切换 LP 域时钟无需此步骤)。

步骤七:配置 LPCR.TNPU_PD,使 TNPU 退出 power down,读取 LPCR.TNPU_PD_STATE 确认 TNPU 已经退出 power down。

使用 V0 配置 AON 寄存器休眠使用以下步骤:

步骤三:配置 AON_ROSCC.LPCLKSEL/RTCLKSEL 将 LP 域时钟切到 ROSC2,等待一段时间(使用硬件自动切换 LP 域时钟无需此步骤)。时钟切换后 V1 和 V0 不可再进行通信。

步骤四:配置 AON_SLPCL.LIGHT_SLEEP 与 AON_SLPCL.LIGHT_SLEEP_MASK,系统进入 LIGHT_SLEEP-PD 模式

步骤五:配置清除 AON_SLPCL.LIGHT_SLEEP 与 AON_SLPCL.LIGHT_SLEEP_MASK。

步骤六:V0 接收到中断后,配置 AON_SLPCL.LIGHT_SLEEP_WKUP 开始唤醒,等待一段时间。V1 重新冷启动,读 AON_FLAG 位切换启动方式。

步骤七:配置 AON_ROSCC.LPCLKSEL/RTCLKSEL 将 LP 域时钟切到 CPM 分频后的时钟,等待一