0
收藏
微博
微信
复制链接

详谈STM32单片机的三种低功耗模式,如何选?

2024-05-16 14:48
318

STM32单片机按功耗由高到低排列,其工作模式可分为运行、睡眠、停止和待机。上电复位后,STM32处于运行状态,但其内核若不再继续运行,可选择进入三种低功耗模式降低功耗,那么如何选?

1.png

1、睡眠模式

该模式此时关闭了内核时钟,而片上外设和其他CM4外设扔正常工作。在这种模式下,内核停止执行新的代码,但会保留睡眠前的内核寄存器和内存数据。

唤醒方式可分为中断唤醒和事件唤醒。当中断唤醒时,单片机将进入中断服务程序,执行完毕后继续执行WFI指令后的程序;事件唤醒则直接执行WFE后的程序。由于睡眠模式仍未关闭所有时钟,所以唤醒延迟几乎可忽略不计。


2、停止模式

停止模式相比睡眠模式更进一步,关闭了除1.2V区域电源外的所有时钟,导致所有外设停止工作。然而,由于保留了内核寄存器和内存的信息,从停止模式唤醒后,单片机可以继续执行上次停止的代码。

唤醒方式与睡眠模式类似,但唤醒延迟有所增加。这是因为停止模式唤醒后,STM32会使用HSI(f1的HSI为8M,f4为12M)作为系统时钟,因此需要在程序上重新配置系统时钟。此外,如果调压器或FLASH工作在低功耗模式,唤醒延迟还会包括它们从低功耗模式切换至正常模式的时间。


3、待机模式

待机模式是STM32单片机的最低功耗状态,不仅关闭了所有时钟,还关闭了1.2V区域的电源。因此,从待机模式唤醒后,单片机无法保留之前的代码运行记录,只能进行复位操作并从头开始执行程序。

唤醒待机模式的方式主要有三种:WKUP引脚上升沿唤醒、NRST引脚复位唤醒和单片机系统重新上电唤醒。其中,WKUP引脚上升沿唤醒是通过检测PA0引脚的上升沿信号来实现的;NRST引脚复位唤醒则是通过按下复位按键来实现的;而单片机系统重新上电则等同于硬件复位。


4、唤醒方式对比

·睡眠模式:可通过中断或事件唤醒,唤醒延迟低;

·停止模式:同样可通过中断或事件唤醒,但唤醒延迟较高,因为需要重新配置系统时钟和等待其他模块恢复正常工作状态;

·待机模式:仅可通过WKU引脚上升沿、NRST引脚复位或单片机系统重新上电唤醒,唤醒后需从头开始执行程序。


本文凡亿企业培训原创文章,转载请注明来源!

登录后查看更多
0
评论 0
收藏
侵权举报
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。

热门评论0

相关文章

攻城狮之家

专注电子设计,好文分享

开班信息