0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32的三种低功耗模式介绍

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-30 11:14 次阅读

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

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 重启,所以待机模式的唤醒延时也是最大的。实际应用中要根据使用环境和要求选择合适的待机模式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302989
  • STM32
    +关注

    关注

    2265

    文章

    10870

    浏览量

    354694
  • 低功耗
    +关注

    关注

    10

    文章

    2362

    浏览量

    103581
  • FreeRTOS
    +关注

    关注

    12

    文章

    483

    浏览量

    61992
收藏 人收藏

    评论

    相关推荐

    三种低功耗模式

    STM32F103xC、 STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式
    发表于 07-23 09:04

    使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式

    、停止模式3、待机模式4、快速应用了解(二)RTC周期闹钟唤醒STOP模式不会使用HAL库驱动RTC可以先看这里(一)低功耗模式
    发表于 07-23 06:11

    STM32低功耗三种模式

    stm32L151低功耗心得前言STM32低功耗三种模式
    发表于 08-10 07:06

    STM32支持3低功耗模式

    低功耗模式的调试型号:STM32L452RET6规格:64PINSTM32支持3低功耗
    发表于 08-18 06:53

    STM32三种boot模式介绍

    浅识STM32三种boot模式文章目录浅识STM32三种boot模式任务摘要一、认识boot
    发表于 12-10 07:46

    低功耗蓝牙三种发现模式是什么

    1、低功耗蓝牙的GAP(通用属性规范)有四个角色: 广播者(广播者),观察者(扫描者),外围设备(通常说的从设备),中央设备(通常说的主设备)2、三种发现模式: 不可发现模式。有限可发
    发表于 12-23 07:55

    stm32低功耗模式有哪几种

    前言在做很多产品的时候,功耗是必须要考虑的一项因素,一定程度上决定了你的产品是否有竞争力,降低功耗可以从硬件上和软件上进行处理,而软件上进入低功耗模式是降
    发表于 02-11 07:04

    STM32具有哪几种低功耗模式

    停止模式(STOP)管脚中断唤醒的实现(HAL库)。2. 低功耗模式STM32L4的低功耗模式
    发表于 02-11 06:48

    三种STOP模式的区别是什么

    CUBEIDE环境介绍停止模式(STOP)管脚事件唤醒的实现(HAL库)。STOP模式只是停止代码执行,唤醒(其实是continue的作用)后继续执行后面的代码,而不是重启之后从初始代码开始执行。2.
    发表于 02-11 07:45

    STM32三种低功耗模式简析

    目录单片机的低功耗STM32电源框图STM32三种低功耗模式
    发表于 02-23 06:03

    stm32低功耗模式

    前言在做很多产品的时候,功耗是必须要考虑的一项因素,一定程度上决定了你的产品是否有竞争力,降低功耗可以从硬件上和软件上进行处理,而软件上进入低功耗模式是降
    发表于 12-07 15:51 12次下载
    <b class='flag-5'>三</b> <b class='flag-5'>stm32</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>

    STM32 低功耗停机模式(STOP)管脚事件(EVENT)唤醒实现及优化

    CUBEIDE环境介绍停止模式(STOP)管脚事件唤醒的实现(HAL库)。STOP模式只是停止代码执行,唤醒(其实是continue的作用)后继续执行后面的代码,而不是重启之后从初始代码开始执行。2.
    发表于 12-07 16:21 11次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>停机<b class='flag-5'>模式</b>(STOP)管脚事件(EVENT)唤醒实现及优化

    STM32与FreeRTOS实现低功耗

    ,学长将简单描述一下 STM32 与 FreeRTOS 各自的低功耗特性,以及在配合使用时如何去实现产品的低功耗。一、STM32F769 芯片的三种
    发表于 12-07 20:06 19次下载
    <b class='flag-5'>STM32</b>与FreeRTOS实现<b class='flag-5'>低功耗</b>

    32怎么通过一个按键实现不同工作模式_stm32几种低功耗模式的实现和差别

    点击上方蓝字关注我哦~01前言按功耗由高到低排列,STM32具有运行、睡眠、停止和待机四工作模式。上电复位后 STM32 处于运行状态,当
    发表于 12-31 19:10 6次下载
    32怎么通过一个按键实现不同工作<b class='flag-5'>模式</b>_<b class='flag-5'>stm32</b>几种<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>的实现和差别

    32怎么通过一个按键实现不同工作模式_stm32几种低功耗模式的实现和差别

    01前言按功耗由高到低排列,STM32具有运行、睡眠、停止和待机四工作模式。上电复位后 STM32 处于运行状态,当内核不需要继续运行,就
    发表于 12-31 19:23 5次下载
    32怎么通过一个按键实现不同工作<b class='flag-5'>模式</b>_<b class='flag-5'>stm32</b>几种<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>的实现和差别