[麦麦茶水间] 【每周分享】GD32F470的LVD低电压检测中断的触发原理

[复制链接]
80|0
dffzh 发表于 2025-10-29 16:37 | 显示全部楼层 |阅读模式
所谓低电压检测LVD(LowVoltage Detect)的过程,大概可以概括为:
当芯片的供电电压VDD发生波动,并低于寄存器配置的电压阈值时,会产生一个检测信号;这个信号在中断使能的情况下,会触发LVD中断,通知CPU电压已处于异常状态。
GD32F470内部集成了一个硬件LVD模块,其核心是一个电压比较器:
一端输入:芯片的供电电压VDD(经过内部电路分压后)。

另一端输入:一个内部精密参考电压,这个参考电压对应着通过寄存器配置的LVD阈值,如下图所示是支持的可配置电压阈值:
常见的中断触发模式一般是下降沿触发:
初始状态:VDD电压正常,高于设置的LVD阈值(例如,你设置为2.8V,当前VDD=3.3V)。此时LVD输出为“高”或“无标志”状态。
电压跌落:由于某种原因(如电池电量耗尽、负载突然加重),VDD开始下降。
等于或低于阈值:当VDD从高处下降到等于或低于2.8V这个阈值时,电压比较器的输出状态会发生翻转。
标志位设置:这个翻转会使状态寄存器中的LVD标志位 被自动置1,这个标志位表示“已经发生了低电压事件”:
中断产生:如果此时你已经使能了LVD中断(通常通过扩展中断EXTI的相关寄存器配置),那么这个标志位的置1就会向NVIC(嵌套向量中断控制器)发出一个中断请求:
CPU响应:CPU接收到中断请求,如果全局中断是开启的,就会跳转到对应的LVD中断服务函数中执行你预设的紧急任务(如保存关键数据、切换备用电源、进入安全模式等):

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

1599

帖子

23

粉丝
快速回复 在线客服 返回列表 返回顶部