PVD可编程电压监测器

2023-11-03 20:20
文章标签 电压 可编程 监测器 pvd

本文主要是介绍PVD可编程电压监测器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

应用场景:检测系统电压下降或断电。
有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理,这时会用到PVD。

一、理论知识

手册中说到:
用户可以利用PVD对VDD电压与电源控制寄存器(PWR_CR)中的PLS[2:0]位进行比较来监控电源,这几位选择监控电压的阀值。通过设置PVDE位来使能PVD。电源控制/状态寄存器(PWR_CSR)中的PVDO标志用来表明VDD是高于还是低于PVD的电压阀值。该事件在内部连接到外部中断的第16线,如果该中断在外部中断寄存器中是使能的,该事件就会产生中断。当VDD下降到PVD阀值以下和(或)当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断。例如,这一特性可用于用于执行紧急关闭任务。也就是当电压低到设置值时,会触发中断,在中断中可以将重要数据进行保存,保证重要数据不受到伤害。
在这里插入图片描述

二、代码

void PVD_Config(void)
{RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//开启PWR时钟	PWR_PVDLevelConfig(PWR_PVDLevel_2V9);//设定监控阈值PWR_PVDCmd(ENABLE);//使能PVD
}void EXTI_Configuration(void)
{EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure;EXTI_InitStructure.EXTI_Line = EXTI_Line16; //该事件在内部连接到外部中断的第16线EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //EXTI_Trigger_Rising表示电压从高下降到低于设定阀值时产生中断。EXTI_Trigger_Falling表示电压从低上升到高于设定阀值时产生中断EXTI_InitStructure.EXTI_LineCmd = ENABLE;	 EXTI_Init(&EXTI_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;	 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;	 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;	 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;	 NVIC_Init(&NVIC_InitStructure);
}void PVD_IRQHandler (void)//中断函数
{EXTI_ClearITPendingBit(EXTI_Line16);if(PWR_GetFlagStatus(PWR_FLAG_PVDO))//返回1说明检测到PVD输出1说明电压低于阈值{GPIO_ResetBits(GPIOE,GPIO_Pin_5); 		 //灯亮 }
}

EXTI_InitStructure.EXTI_Trigger的赋值可选项:

EXTI_Trigger_Rising—表示电压从高下降到低于设定阀值时产生中断;

EXTI_Trigger_Falling—表示电压从低上升到高于设定阀值时产生中断;

EXTI_Trigger_Rising_Falling—表示电压上升或下降越过设定阀值时都产生中断。

现象:断电前灯亮了一下

这篇关于PVD可编程电压监测器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/340654

相关文章

FPGA开发:可编程逻辑器件概述

PLD 1、什么是PLD? PLD指Programmable Logic Device,翻译为"可编程逻辑器件"。是20世纪70年代发展起来的一种新的集成电路,是一种半定制的集成电路。 PLD具有逻辑功能实现灵活。集成度高、处理速度快的特点。 PLD就像是一个可定制的积木盒,里面装满了各种各样的"电子积木"(逻辑门、触发器、寄存器等)。这些积木在盒子里原本没有固定的连接方式,但你可以根据

可编程定时计数器8253/8254

在微机应用系统中,定时控制具有重要的作用。经常会有这样的应用要求:一种是要求有一些外部实时时钟,以实现延时控制或定时;另一种是要求能对外部事件计数的计数器。在微机系统中,常采用以下三种方法实现:软件定时,不可编程硬件定时和可编程硬件定时。 可编程定时/计数器的工作原理 定时和计数的本质是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,则记录一定个数的脉冲,其所需的时间是一定的,

电路基础 ---- 电压源、电流源、受控电源

1 电压源 定义:两端电压总是保持定值,与流过它的电流无关 1.1 分析 对于如下电路: 当 R → 0 R\to 0 R→0(短路)时, i = ∞ i=\infty i=∞(会烧坏电压源)当 R → ∞ R\to\infty R→∞(开路)时, i = 0 i=0 i=0 1.2 结论 ①电压源两端电压由电源本身决定,与外电路无关,与流过的电流无关 ②通过电压源的电流由电压源和

我在高职教STM32——ADC电压采集与光敏电阻(5)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN头条平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分享出来,如果您正是一名单片机爱好者或是一名同行,欢迎点赞+关注,各位的支持是本人持续输出的动力,多谢多谢!

集成电路学习:什么是FPGA现场可编程门阵列

一、FPGA:现场可编程门阵列         FPGA,全称Field Programmable Gate Array,即现场可编程门阵列,是一种超大规模可编程逻辑器件。它由可编程逻辑资源、可编程互连资源和可编程输入输出资源组成,主要用于实现以状态机为主要特征的时序逻辑电路。FPGA是在可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)等可编程器件的基础上进一步发展的产物,作为专用集成电路(

集成电路学习:什么是EEPROM电可擦除可编程只读存储器

EEPROM:电可擦除可编程只读存储器         EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器)是一种非易失性存储器,具有电可擦写、可编程和只读的特性。以下是关于EEPROM的详细解释: 一、EEPROM的定义与特点 EEPROM的定义:EEPROM是一种允许通过电信号进行擦除和重新编程的

聊聊负电压芯片

负电压芯片是一种能够输出负电压的电子元件,在各种电子设备和电路中都有重要应用。以下为你详细介绍: 工作原理:负电压芯片通常基于特定的电路拓扑和工作机制来实现负电压输出。常见的如电荷泵原理,通过电容的充放电过程来转换和提升电压,使其输出为负值;还有基于开关电源技术的,利用开关元件的快速切换和电感、电容等储能元件的配合,实现电压的变换和输出负电压。例如 ICL7660 芯片,就是利用电荷泵原理将

工程师 - RS232电压实测

上图中,MOXA UPort是USB串口转换设备,一端是USB插头连接电脑,一端是DB9公头(和电脑上的公头类似)。 DCE设备,用来传输数据给电脑DTE,是用DB9母头接入UPort串口设备。 使用RS232的五根线进行通讯,TX/RX/GND/CTS/RTS,这五个信号在设备端的DB9母头上的编号是:2/3/5/7/8。 DB9母头上的

文章解读与仿真程序复现思路——高电压技术EI\CSCD\北大核心《基于储能型柔性直流励磁系统的抽水蓄能机组调频控制策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

STM32G474采用“多个单通道ADC转换”读取3个ADC引脚的电压

STM32G474采用“多个单通道ADC转换”读取3个ADC引脚的电压:PC0、PA1和PA2。本测试将ADC1_IN6映射到PC0引脚,ADC12_IN2映射到PA1引脚,ADC1_IN3映射到PA2引脚。  1、ADC输入 ADC输入电压范围:Vref– ≤ VIN ≤ Vref+ ADC支持“单端输入”: 在“单端输入模式”下,“通道i”的模拟电压等于VINP[i]和VREF-之