STM32学习笔记---电源管理

一、STM32电源管理简介

1、电源管理简介

         ~~~~~~~~          电源对电子设备的重要性不言而喻,它是保证系统稳定运行的基础,而保证系统能稳定运行后,又有低功耗的要求。
         ~~~~~~~~         在很多应用场合中都对电子设备的功耗要求非常苛刻,如某些传感器信息采集设备,仅靠小型的电池提供电源,要求工作长达数年之久,且期间不需要任何维护;由于智慧穿戴设备的小型化要求,电池体积不能太大导致容量也比较小,所以也很有必要从控制功耗入手,提高设备的续行时间。
         ~~~~~~~~         STM32有专门的电源管理外设监控电源并管理设备的运行模式,确保系统正常运行,并尽量降低器件的功耗。

2、STM32电源管理系统

在这里插入图片描述
STM32的电源管理系统主要分为:
1、备份域
2、调压器供电电路
3、ADC电源电路

2.1、备份域电路

         ~~~~~~~~         STM32的备份域包括LSE振荡器、RTC、备份寄存器及备份SRAM这些器件,这部分的电路可以通过STM32的VBAT引脚获取供电电源,在实际应用中一般会使用3V的钮扣电池对该引脚供电。
在这里插入图片描述
         ~~~~~~~~         在图中备份域电路的左侧有一个电源开关结构,它的功能类似图中的双二极管,在它的上方连接了VBAT电源,下方连接了VDD主电源(一般为3.3V),右侧引出到备份域电路中。当VDD主电源存在时,由于VDD电压较高,备份域电路通过VDD供电,当VDD掉电时,备份域电路由钮扣电池通过VBAT供电,保证电路能持续运行,从而可利用它保留关键数据
在这里插入图片描述

2.2、调压器供电电路

         ~~~~~~~~         在STM32的电源系统中调压器供电的电路是最主要的部分,调压器为备份域及待机电路以外的所有数字电路供电,其中包括内核、数字外设以及RAM,调压器的输出电压约为1.2V,因而使用调压器供电的这些电路区域被称为1.2V域。
在这里插入图片描述
         ~~~~~~~~         调压器可控制调节供电电路使系统运行在“运行模式”、“停止模式”以及“待机模式”下:

  • 运行模式:
    调压器为 1.2 V 域(内核、存储器和数字外设)提供全功率。
  • 停止模式:
    1.2V域运行在低功耗状态,1.2V区域的所有时钟都被关闭,相应的外设都停止了工作,但它会保留内核寄存器以及SRAM的内容;
  • 在待机模式:
    整个1.2V域都断电,该区域的内核寄存器及SRAM内容都会丢失(备份区域的寄存器及SRAM不受影响)。
2.3、ADC电源控制电路

         ~~~~~~~~         为了提高转换精度,STM32的ADC配有独立的电源接口,方便进行单独的滤波。ADC的工作电源使用VDDA引脚输入,使用VSSA作为独立的地连接,VREF引脚则为ADC提供测量使用的参考电压。
在这里插入图片描述

3、STM32低功耗模式

         ~~~~~~~~         很多单片机都有低功耗模式,STM32F4 也不例外 ,运行状态下的 HCLK 为 CPU 提供时钟,内核执行程序代码。当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。
         ~~~~~~~~         STM32F4 按功耗由高到低排列具有运行、睡眠、停止和待机四种工作模式。
         ~~~~~~~~         上电复位后STM32处于运行状态时,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。

3.1、睡眠模式

         ~~~~~~~~         在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设,CM4核心的外设全都还照常运行。
         ~~~~~~~~         有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是WFI(wait for interrupt)和WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。睡眠模式的各种特性见下表
在这里插入图片描述

3.2、停止模式

         ~~~~~~~~         在停止模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其1.2V区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息。
         ~~~~~~~~         所以从停止模式唤醒,并重新开启时钟后,还可以从上次停止处继续执行代码。停止模式可以由任意一个外部中断(EXTI)唤醒。在停止模式中可以选择电压调节器为开模式或低功耗模式,可选择内部FLASH工作在正常模式或掉电模式。
在这里插入图片描述

3.3、待机模式

         ~~~~~~~~          待机模式,它除了关闭所有的时钟,还把1.2V区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测boot条件,从头开始执行程序。它有四种唤醒方式,分别是WKUP(PA0)引脚的上升沿,RTC闹钟事件,NRST引脚的复位和IWDG(独立看门狗)复位。
在这里插入图片描述

二、STM32实现睡眠模式

进入睡眠模式,LED灯熄灭,按键唤醒,蜂鸣器提示,打印信息
在这里插入图片描述
在这里插入图片描述

1、CubeMx配置

1.1、串口设置

在这里插入图片描述

1.2、LED、按键管脚设置

在这里插入图片描述

1.3、时钟设置

在这里插入图片描述
在这里插入图片描述

1.4、GPIO中断

在这里插入图片描述

2、代码详解

2.1、LED、蜂鸣器初始化

在这里插入图片描述

2.2、进入睡眠模式

在这里插入图片描述
在这里插入图片描述

2.3、按键中断唤醒

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
被唤醒继续执行,输出系统已被执行,需要关闭systick中断,不然中断会触发
在这里插入图片描述

三、STM32实现停止模式

1、操作说明

在这里插入图片描述
唤醒后需要恢复时钟
在这里插入图片描述

2、代码讲解

2.1、进入停止模式

在这里插入图片描述
在这里插入图片描述

2.2、中断唤醒

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3、恢复时钟

唤醒后系统默认选择HSI,需要重新打开使能HSE和PLL
在这里插入图片描述
在这里插入图片描述

2.4、串口优化

串口换行符没打印出来,因为串口没有发送完成已经进入停止模式。数据有没有发送完成,看移位寄存器是否为空。
在这里插入图片描述

四、STM32实现待机模式

1、操作说明

在这里插入图片描述

2、代码详解

2.1、进入待机模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前言: 美国Vicor公司是现时世界最大的高密度电源模块生产商, 同时也是全球唯一能以零电压、零电流技术大批量生产电源模块的厂家。Vicor电源模块包括DC-DC、AC-DC电源模块,隔离、非隔离电源模块转换器。其中VICOR公司电源模块的核心技术是 “零电流”开关,它使变换器的工作频率达到 了1MHz,效率大于80%。 本文介绍多功能数控电源设计 从最基本的说起吧,DC-DC的变换电路有很多种,线性电源、开关电源、电荷泵,线性电源大家比较熟悉的应该就是78XX系列的芯片了,电荷泵主要用在小电流的应用中,我们也不加讨论。主要讲讲开关电源,我呢也是一个先学先卖的人,就对照资料啥的随便介绍下拉,权当是开源本设计前的一点准备工作。 开关稳压器的工作原理,就是通过控制电路来控制开关器件的通断,配合负反馈完成稳压,跟线性稳压比起来,具有效率高体积小的特点,但是输出没有线性电源稳定。开关电源的基本结构有很多种,包括BUCK、BOOST、BUCK-BOOST、CUK等非隔离式的DCDC变换器,也有Flyback、LLC等隔离式的DCDC变换器。 开源的这个设计,是以buck拓扑为核心,配合STM32F334的高级定时器的PWM、PI算法,实现的一个很简单的闭环控制,设计输入电压60V时,输出电压可调,输出电流最大5A,输出最大功率在200W左右。 数控电源系统设计框图: 首先说明我这款电压是从HP电源的基础上增加人机界面和改善栅极驱动做的,具体设计心得及电路分析详见附件内容。 数控电源程序的设计思路: 因为这款设计为了尽可能减少体积,因此使用了较大频率的PWM波,取值为250k,所采用的主控stm32f334是意法半导体专为数控电源所设计的一款MCU。STM32F334xx微控制器具有高分辨率定时器(HRTIM)外设,可产生多达10个信号,能够处理用于控制、同步或保护的各种不同输入信号。其模块化架构允许对大部分转换拓扑和多并联转换器进行处理,并可在运行中重新配置它们。(具体详见附件内容) 配置的代码和PI算法的代码部分截图展示:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值