当前位置: 首页 > article >正文

初学stm32 --- 电源监控

目录

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


http://www.kler.cn/a/471147.html

相关文章:

  • asp.net core中的 Cookie 和 Session
  • linux-27 发行版以及跟内核的关系
  • QT-TCP-server
  • 数据库1-4讲
  • 旷视科技C++面试题及参考答案
  • 苹果系统MacOS下ObjectC建立的App程序访问opencv加载图片程序
  • 数据库6讲
  • 基于GUI网络渗透侦察工具设计与实践
  • PCL 点云多边形面积计算
  • 寒假刷题Day1
  • 大语言模型训练所需的最低显存,联邦大语言模型训练的传输优化技术
  • .NET Core FluentAPI
  • 大模型(LLM) 的长上下文与 RAG:评估与回顾
  • 平安社招 | 平安集团2025年社招笔试平安IQ新胜任力测评个性扫描16PF题库
  • 牛客网刷题 ——C语言初阶(6指针)——字符逆序
  • Spring Boot 项目启动报 NoClassDefFoundError 异常的原因分析与解决方案 - jackson 版本不一致
  • 澳洲电动工具SAA认证安全认证
  • 加强应用安全:超越证书固定机制的保护措施
  • Debian、Ubuntu 22.04和ubuntu 24.04国内镜像源(包括 docker 源)
  • 基于视觉惯性 SLAM(VSLAM)、相机和 IMU 数据的融合执行 6 自由度位姿跟踪
  • 解决yum指定安装包版本的安装
  • Java中线程中断的几种方式,你了解吗?
  • 关于物联网的基础知识(二)——物联网体系结构分层
  • 以C++为基础快速了解C#
  • Excel中公式和函数的区别
  • spring事务理解