初学stm32 --- 电源监控

发布于:2025-02-10 ⋅ 阅读:(83) ⋅ 点赞:(0)

目录

STM32 电源监控介绍

上电/掉电复位POR/PDR(F1)

可编程电压检测器(PVD)(F1)

PVD相关寄存器介绍(F1)

电源控制寄存器 PWR_CR

电源控制/状态寄存器 PWR_CSR

PVD相关HAL库驱动介绍

PVD的使用步骤

STM32 电源监控介绍

电源监控即对某些电源电压(VDD / VDDA / VBAT)进行监控。

POR/PDR监控器、PVD监控器、 BOR监控器、AVD监控器、VBAT阈值、温度阈值

 POR/PDR(power on/down reset):上电/掉电复位

PVD(programmable voltage detector):监控VDD 电压

BORbrown out reset):欠压复位

AVDanalog voltage detector):监控VDDA电压

VBAT阈值(battery voltage thresholds):监控VBAT电池电压

温度阈值(temperature thresholds):监控结温

注意:不同芯片包括的电源监控功能不同,都有POR/PDR,PVD。

上电/掉电复位POR/PDRF1

外部供电电压低于电压阈值,就会直接进入复位状态,防止电压不足导致的误操作。

上电时,当VDDVPOR阈值时,系统无需外部复位电路便会保持复位状态。

VDDVPOR阈值时,系统便退出复位状态,正常工作。

掉电时,当VDDVPDR阈值时,系统就会保持复位状态。

参考相应数据手册电气特性部分5.3.3

VPOR阈值(典型值)为1.92V           、         VPDR阈值(典型值)1.88V

可编程电压检测器(PVD)F1

作用:

监视供电电压VDD

当电压下降到设定阈值以下时产生中断,通知软件做紧急处理;

当电压恢复到设定阈值以上时产生中断,通知软件供电恢复。

        供电下降的阈值和上升的阈值有固定差值,是为了防止电压在阈值上下小幅度抖动,而频繁产生中断。

        PVD阈值有8个等级,有上升沿和下降沿区别。

PVD相关寄存器介绍(F1

 

 中断相关的寄存器:EXTI_IMREXTI_RTSREXTI_FTSREXTI_PR

电源控制寄存器 PWR_CR

电源控制/状态寄存器 PWR_CSR

 

 通过位2判断此时电压与设定的电压阈值关系

PVD相关HAL库驱动介绍

PVD HAL库相关结构体

typedef struct  { 
	uint32_t			PVDLevel; 		/* PVD检测级别 */ 
	uint32_t			Mode; 			/* PVD的EXTI检测模式 */ 
} PWR_PVDTypeDef;

PVD的使用步骤

1、使能电源时钟:                        __HAL_RCC_PWR_CLK_ENABLE

2、配置PVD:                               通过HAL_PWR_ConfigPVD配置电压级别、中断线边沿触发

3、使能PVD检测:                        HAL_PWR_EnablePVD

4、设置PVD中断优先级:              HAL_NVIC_SetPriority                HAL_NVIC_EnableIRQ

5、编写中断服务函数:                  

PVD_IRQHandler        

HAL_PWR_PVD_IRQHandler

HAL _PWR_PVDCallback


网站公告

今日签到

点亮在社区的每一天
去签到