以RISC-V MCU CH32V307为例
1. 睡眠模式简介
睡眠模式下,所有的IO引脚都保持它们在运行模式时的状态。
所有的外设时钟都正常工作。进入睡眠前,尽量关闭无用的外设时钟,以降低功耗。
该模式唤醒所需的时间最短,几乎不耗时间,约 2~3 us。
此模式下,以144MHz运行时,使能所有外设时的睡眠电流约15.1mA,关闭所有外设的睡眠电流约4.1mA(除了唤醒中断引脚时钟和电源模块时钟)。
2. 进入睡眠模式
2.1 Sleep_Now模式
-
配置内核寄存器
PFIC_SCTLR控制位SLEEPDEEP=0 -
执行
WFI或WFE指令
2.2 Sleep_On_Exit模式
-
配置内核寄存器
PFIC_SCTLR控制位SLEEPDEEP=0 -
执行
WFI睡眠指令时,配置PFIC_SCTLR控制位SLEEPONEXIT=1,系统唤醒后控制器离开中断服务函数时,继续进入低功耗模式 -
执行
WFI指令
3. 退出睡眠模式
3.1 Sleep_Now模式
-
任意中断,具体可参考中断向量表
-
唤醒事件:
-
配置一个外部或内部EXTI线为事件模式,当CPU从WFE唤醒后,因为对应事件线的挂起位没有被置位,不必清除相应外设的中断挂起位或PFIC中断通道挂起位。
-

本文介绍了RISC-V MCU CH32V307的睡眠模式,包括模式简介、进入与退出方法,强调了降低功耗的策略,并提供了参考代码。
最低0.47元/天 解锁文章
4575

被折叠的 条评论
为什么被折叠?



