0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CKS32F4xx系列产品PVD模块操作流程

中科芯MCU 来源:中科芯MCU 2023-02-13 15:12 次阅读

CKS32F4xx系列产品提供了可编程电压检测器PVD,用于对MCU供电电压VDD进行监控,当检测到电压低于或者高于PVD设置的阈值时,会向内核产生一个PVD中断(EXTI线中断)以使内核在复位前进行紧急处理。该电压阈值可通过PWR_CSR进行设置。只要电压超过芯片最低运行电压,芯片就能正常工作,而不是低于阀值就不能工作。在实际运用中,如果是用电池给芯片供电,当电池电量不足时,电池的供电电压就会下降,下降到低于阀值时就会触发PVD中断,此功能可以通知用户,使系统进入特别保护状态,执行紧急关闭任务程序进行相关处理,比如进行数据备份处理或者进行低电量提醒等操作。

PVD可配置8个等级,通过电源控制寄存器中的PLS[2:0]位可以用来设定检测电压的阀值,详见下表。

bc43f9d2-aa85-11ed-bfe3-dac502259ad0.jpg

PVD模块操作流程

一、系统启动后启动PVD,并开启相应的中断:

首先通过固件库函数RCC_APB1PeriphClockCmd配置PWR模块时钟,然后配置检测电压的阀值,根据表1设置参数。PVD中断连接EXTI_Line16中断线,配置中断顺序依次为:中断线、中断模式、触发方式及中断线使能。

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //开启PWR时钟


/* 设定检测阀值 */
PWR_PVDLevelConfig(PWR_PVDLevel_5);   


EXTI_StructInit(&EXTI_InitStructure);
/*  PVD连接到中断线16上 */
EXTI_InitStructure.EXTI_Line = EXTI_Line16;     
/* 使用中断模式 */
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
/* 电压低于阀值时产生中断 */     
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Raising;  
/* 使能中断线 */
EXTI_InitStructure.EXTI_LineCmd = ENABLE;   
/* 初始化中断 */

EXTI_InitStructure.EXTI_Trigger配置定义:

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

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

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

二、配置PVD中断优先级:

void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  /* 嵌套向量中断控制器组选择 */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);
  /* 配置USART为中断源 */
  NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;
  /* 抢断优先级为1 */
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  /* 子优先级为1 */
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  /* 使能中断 */
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  /* 初始化配置NVIC */
  NVIC_Init(&NVIC_InitStructure);
}

三、使能PVD模块:

PWR_PVDCmd(ENABLE);             // 使能PVD

四、产生PVD中断,在中断程序中进行相应的处理:

void PVD_IRQHandler(void)
{
EXTI_ClearITPendingBit(EXTI_Line16);
…… // 用户添加紧急处理代码处
}

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16977

    浏览量

    350212
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119975
  • 电压
    +关注

    关注

    45

    文章

    5553

    浏览量

    115564
  • 中断
    +关注

    关注

    5

    文章

    895

    浏览量

    41384
  • PVD
    PVD
    +关注

    关注

    4

    文章

    49

    浏览量

    16942

原文标题:MCU微课堂 | CKS32F4xx系列产品PVD应用

文章出处:【微信号:中科芯MCU,微信公众号:中科芯MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MCU微课堂|CKS32F4xx系列产品时钟配置

    作为MCU运行的基础,时钟是单片机各个模块工作时序的最小时间单位,推动单片机的各指令执行,是MCU选型的一个重要指标。CKS32F4xx系列产品具有众多的外设,但并非所有的外设均需要系统时钟的高频率
    发表于 12-12 10:17 805次阅读

    CKS32F4xx系列ETH通信详解

    CKS32F4xx系列芯片自带以太网模块,该模块包括带专用DMA控制器的MAC 802.3(介质访问控制)控制器
    的头像 发表于 11-10 11:13 953次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信详解

    CKS32F4xx系列产品NVIC中断优先级管理单元讲解

    本课将为大家讲解CKS32F4xx系列产品的中断优先级管理单元NVIC。CM4内核共支持256个中断,其中包含了16个内核中断和240个外部中断,具有256级可编程中断设置。但CKS32F4x
    的头像 发表于 02-06 14:52 1109次阅读

    CKS32F4xx系列产品串口DMA传输

    在上一讲,我们讲过CKS32F4xx系列的6个串口都支持DMA传输。因此本节我们对CKS32F4xx系列的DMA进行介绍,同时利用DMA对串口数据进行传输。
    的头像 发表于 04-10 11:18 1004次阅读

    CKS32F4xx系列产品的定时器使用-基本特征和定时操作

    这一课我们将介绍CKS32F4XX系列产品的定时器使用,CKS32F4XX的定时器功能十分强大,包含2个高级控制定时器,8个普通定时器,2个基础定时器,以及两个看门狗定时器和一个系统定时器,总共15个定时器之多。关于定时器部分内
    的头像 发表于 05-19 09:18 861次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列产品</b>的定时器使用-基本特征和定时<b class='flag-5'>操作</b>

    CKS32F4xx系列RNG功能设置

      MCU 微课堂 CKS32F4xx 系 列RNG功能 随机数发生器简介     CKS32F4xx系列自带了硬件随机数发生器(RNG),RNG处理器是一个以连续模拟噪声为基础的随机数发生器,在
    的头像 发表于 09-08 10:01 572次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能设置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的头像 发表于 11-06 16:56 815次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA电压采集

    CKS32F4xx系列ADC多通道DMA电压采集
    的头像 发表于 11-06 16:53 1065次阅读

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的头像 发表于 11-06 17:08 593次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列产品Timer的基本使用方法-定时器脉冲计数

    CKS32F4xx系列产品Timer的基本使用方法-定时器脉冲计数
    的头像 发表于 11-09 17:38 1013次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列产品</b>Timer的基本使用方法-定时器脉冲计数

    CKS32F4xx系列产品Timer的基本使用方法-比较输出

    CKS32F4xx系列产品Timer的基本使用方法-比较输出
    的头像 发表于 11-09 17:39 811次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列产品</b>Timer的基本使用方法-比较输出

    CKS32F4xx系列产品Timer的基本使用方法-定时操作

    CKS32F4xx系列产品Timer的基本使用方法-定时操作
    的头像 发表于 11-09 17:41 575次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列产品</b>Timer的基本使用方法-定时<b class='flag-5'>操作</b>

    MCU微课堂 | CKS32F4xx系列产品SPI通信

    MCU微课堂 | CKS32F4xx系列产品SPI通信
    的头像 发表于 10-24 17:12 662次阅读
    MCU微课堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列产品</b>SPI通信

    MCU微课堂 | CKS32F4xx系列产品GPIO口配置

    MCU微课堂 | CKS32F4xx系列产品GPIO口配置
    的头像 发表于 10-24 15:14 741次阅读
    MCU微课堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列产品</b>GPIO口配置

    CKS32F4xx系列FSMC功能简介

    本课讲为大家讲解CKS32F4xx系列产品的FSMC应用实例,FSMC全称是Flexible Static Memory Controller,读作灵活的静态存储控制器,顾名思义,MCU可以通过FSMC扩展静态内存
    的头像 发表于 04-14 15:06 856次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能简介