赞
踩
总结写在前面
STM32的电源控制(PWR)模块是微控制器能效管理的关键组件,它通过多种机制来优化能源使用,特别是在对电池寿命敏感的应用中。以下是PWR模块核心功能和低功耗模式的总结:
可编程电压监测器(PVD):允许用户设置电压阈值,监测VDD电源电压。一旦电压超出设定范围,PVD可通过中断通知处理器,便于采取预防措施,如数据保存或安全关机,以保护系统免受电压波动损害。
电源管理:支持不同级别的低功耗模式,包括睡眠、停机和待机模式,每种模式通过不同程度地关闭系统组件来减少能耗。
综上所述,STM32的PWR模块及其低功耗模式设计旨在满足电池驱动设备的严格能耗要求,通过灵活的电源管理和多种唤醒机制,平衡了能效与响应速度的需求,适用于各类物联网、可穿戴设备、远程监控等应用场景。
目录
- PWR(Power Control)电源控制
- PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能
- 可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务
- 低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间
尤其是像用电池供电的设备,对空闲时候的供电量是有极大要求的,比如数据采集设备、车钥匙、遥控器、报警器等
在这些设备的生命周期里,大多时间都是空闲的状态~都需要低功耗
最上面是VDDA - 模拟供电
中间是 数字供电 - VDD供电区域,1.8V供电区域
下面是后备电源供电VBAT
查看手册
PVD输出在阈值高的时候,输出是低电平。我们可以通过检测这个PVD输出的下降沿和上升沿中断,进行处理~
这个PVD中断申请是外部中断
配置PLS寄存器的三个位,可以选择下列这么多阈值
电源电压在3.3V附近是正常工作的电压,在2.9V~2.2V之间,属于PVD检测的范围,可以通过PVD设置一个警告线,再降低到1.9V就是复位电路的检测范围,低于1.9V直接复位了
低功耗模式有三中国,睡眠模式 - 停机模式 - 待机模式
从表里看,这三种低功耗模式,从上到下,关闭的电路越来越多,越来越省电,也越来越难唤醒的
睡得越深~关的越多~越省电~越难叫醒
睡眠模式,设置WFI或者WFE进入睡眠模式,WFI是用中断唤醒,WFE是用事件唤醒
停机模式,设置PDDS=0进入停机模式,只有外部中断才能唤醒停机模式
待机模式,设置PDDS=1进入待机模式,具体唤醒看上图~,文字表述不如图片直接
执行WFI(Wait For Interrupt)或者WFE(Wait For Event)指令后,STM32进入低功耗模式
- 执行完WFI/WFE指令后,STM32进入睡眠模式,程序暂停运行,唤醒后程序从暂停的地方继续运行
- SLEEPONEXIT位决定STM32执行完WFI或WFE后,是立刻进入睡眠,还是等STM32从最低优先级的中断处理程序中退出时进入睡眠
- 在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态
- WFI指令进入睡眠模式,可被任意一个NVIC响应的中断唤醒
- WFE指令进入睡眠模式,可被唤醒事件唤醒
- 执行完WFI/WFE指令后,STM32进入停止模式,程序暂停运行,唤醒后程序从暂停的地方继续运行
- 1.8V供电区域的所有时钟都被停止,PLL、HSI和HSE被禁止,SRAM和寄存器内容被保留下来
- 在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态
- 当一个中断或唤醒事件导致退出停止模式时,HSI被选为系统时钟
- 当电压调节器处于低功耗模式下,系统从停止模式退出时,会有一段额外的启动延时
- WFI指令进入停止模式,可被任意一个EXTI中断唤醒
- WFE指令进入停止模式,可被任意一个EXTI事件唤醒
- 执行完WFI/WFE指令后,STM32进入待机模式,唤醒后程序从头开始运行
- 整个1.8V供电区域被断电,PLL、HSI和HSE也被断电,SRAM和寄存器内容丢失,只有备份的寄存器和待机电路维持供电
- 在待机模式下,所有的I/O引脚变为高阻态(浮空输入)
- WKUP引脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、IWDG复位退出待机模式
降低主频也能降低功耗,降低耗电电流
使用电池或其他电源连接到VBAT脚上,当VDD断电时,可以保存备份寄存器的内容和维持RTC的 功能。 VBAT脚为RTC、LSE振荡器和PC13至PC15端口供电,可以保证当主电源被切断时RTC能继续 工作。切换到VBAT供电的开关,由复位模块中的掉电复位功能控制。
警告:在VDD上升阶段(tRSTTEMPO)或者探测到PDR(掉电复位)之后,VBAT和VDD之间的电源开关仍会保持 连接在VBAT。 在VDD上升阶段,如果VDD在小于tRSTTEMPO的时间内达到稳定状态(关于tRSTTEMPO数值可参考数据 手册中的相关部分),且VDD > VBAT + 0.6V时,电流可能通过VDD和VBAT之间的内部二极管注入到 VBAT。 如果与VBAT连接的电源或者电池不能承受这样的注入电流,强烈建议在外部VBAT和电源之间连 接一个低压降二极管
如果在应用中没有外部电池,建议VBAT在外部连接到VDD并连接一个100nF的陶瓷滤波电容,更 多细节请参阅AN2586。
当备份区域由VDD(内部模拟开关连到VDD)供电时,下述功能可用:
- PC14和PC15可以用于GPIO或LSE引脚
- PC13可以作为通用I/O口、TAMPER引脚、RTC校准时钟、RTC闹钟或秒输出(参见第5 38/754 章:备份寄存器(BKP))
注: 因为模拟开关只能通过少量的电流(3mA),在输出模式下使用PC13至PC15的I/O口功能是有限 制的:速度必须限制在2MHz以下,最大负载为30pF,而且这些I/O口绝对不能当作电流源(如驱 动LED)。
当后备区域由VBAT供电时(VDD消失后模拟开关连到VBAT),可以使用下述功能:
- PC14和PC15只能用于LSE引脚
- PC13可以作为TAMPER引脚、RTC闹钟或秒输出(参见第5.4.2节:RTC时钟校准寄存器 (BKP_RTCCR))
手册这里特意强调了PC13~PC15端口绝对不能驱动LED,但是最小系统板有两个LED,一个就是PC13,另一个是电源指示灯,就……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。