STM32学习——低功耗模式
扫描二维码
随时随地手机看文章
芯片型号 : STM32F10X
参考资料:STM32F10XXX使用手册
朱友鹏单片机完全学习课程
在STM32的电源管理系统中,软件工程师需要关注的是低功耗模式的选择和实现。在设计产品时会出现如使用电池供电需要较低功耗的情景,此时就需要使用低功耗模式。
CPU不需继续运行的时候就是执行无意义代码时(如空循环)。CPU从低功耗模式中被唤醒后,还需一定时间才能进入正常工作状态,这段时间就是低功耗模式的启动时间,低功耗模式都要事先选好唤醒源和唤醒事件,否则不能正常工作。低功耗模式的选择标准就是以上三者,结合这三者以选择合适的低功耗模式。
睡眠(SLEEP)模式:CPU停止工作但外设仍然运行。唤醒源为所有中断。
停机(STOP)模式:CPU停止工作、时钟停止工作、外设停止工作,只有SRAM和寄存器还能保持原来的值(这点是跟关机再开机的区别)。唤醒源是外部中断(按键等中断信号发生在CPU外部的中断是外部中断,而串口等是内部中断)。
待机(SUSPEND)模式:CPU停止工作、时钟停止工作、外设停止工作、SRAM和寄存器也停止工作(相当于整个系统断电关机),只有备份寄存器和待机电路还能工作(有两套电路,不同情况下工作),唤醒源:WKUP引脚上升沿、RTC警报、NRTS引脚中的外部复位、IWDG复位(两个外部两个内部)。
三种模式的功耗由上到下依次降低,启动时间由上到下依次增大。
除了低功耗模式,正常运行中也有相应的方法来降低功耗。此处所说的降低系统时钟速率是指运行时使用比官方推荐时钟频率(72MHz)低的频率。对于外设来说,只要供电和时钟正常就能正常运行,因此在不需使用某些外设时,可以通过关闭时钟来关闭对应的外设以降低功耗。
附图:低功耗模式概要