全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

STM32的三种低功耗模式介绍

时间:2023-07-30 11:14

人气:

作者:admin

标签: 低功耗  STM32 

导读:接下来我们就详细的看一下这三者有何区别。 1、睡眠(Sleep)模式 ● 进入睡眠模式 进入睡眠模式有两种指令:WFI(等待中断)和WFE(等待事件)。根据Cortex-M内核的SCR(系统控制)寄...

接下来我们就详细的看一下这三者有何区别。

1、睡眠(Sleep)模式

● 进入睡眠模式

进入睡眠模式有两种指令:WFI(等待中断)和WFE(等待事件)。根据Cortex-M内核的SCR(系统控制)寄存器可以选择使用立即休眠还是退出时休眠,当 SCR 寄存器的 SLEEPONEXIT(bit1)位为 0 的时候使用立即休眠,当为 1的时候使用退出时休眠。

CMSIS(Cortex 微控制器软件接口标准)提供了两个函数来操作指令 WFI 和 WFE,我们可以 直接使用这两个函数:__WFI和__WFE。FreeRTOS 系统会使用 WFI 指令进入休眠模式。

● 退出休眠模式

如果使用 WFI 指令进入休眠模式的话那么任意一个中断都会将 MCU 从休眠模式中唤醒,如果使用 WFE指令进入休眠模式的话那么当有事件发生的话就会退出休眠模式,比如配置一个 EXIT 线作为事件。

STM32F103 处于休眠模式的时候 Cortex-M3 内核停止运行,但是其他外设运行正常,比如 NVIC、SRAM等。休眠模式的功耗比其他两个高,但是休眠模式没有唤醒延时,应用程序可以立即运行。

2、停止(Stop)模式

停止模式基于 Cortex-M3 的深度休眠模式与外设时钟门控,在此模式下 1.2V 域的所有时钟都会停止,PLL、HSI 和 HSE RC振荡器会被禁止,但是内部 SRAM 的数据会被保留。调压器可以工作在正常模式,也可配置为低功耗模式。如果有必要的话可以通过将 PWR_CR 寄存器的FPDS位置 1 来使 Flash 在停止模式的时候进入掉电状态,当 Flash 处于掉电状态的时候MCU从停止模式唤醒以后需要更多的启动延时。停止模式的进入和退出如表所示:

图片

3、待机(Standby)模式

相比于前面两种低功耗模式,待机模式的功耗最低。待机模式是基于 Cortex-M3 的深度睡眠模式的,其中调压器被禁止。1.2V 域断电,PLL、HSI振荡器和 HSE 振荡器也被关闭。除了备份区域和待机电路相关的寄存器外,SRAM 和其他寄存器的内容都将丢失。待机模式的进入和退出如表所示:

图片

退出待机模式的话会导致 STM32F1 重启,所以待机模式的唤醒延时也是最大的。实际应用中要根据使用环境和要求选择合适的待机模式。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信