[APM32F1] 【小白篇】如何使用芯片的PVD功能

[复制链接]
 楼主| 多云转晴 发表于 2023-5-22 15:19 | 显示全部楼层 |阅读模式
            PVD----Programmable Voltage Detecter,即可编程电压检测器。在我们日常的应用中,有时候需要去检测我们的系统是不是掉电了?或者说,我们提前做好一些意外掉电前的保护措施,这个时候就需要用到芯片的PVD功能。
        通过PVD,我们可以去设置一个基准/参考电压,当芯片的供电电压高于或低于这个数值时,均可以产生PVD中断,此时,我们可以在中断里做一些必要的条件处理。
本文以APM32F103XB为例,来说明PVD的使用:
        1)用户通过电源控制寄存器PMU_CTRL的PLSEL位可以设置PVD的触发阈值,设置PVDEN位可以开启或关闭PVD功能;
        2)通过读取电源控制/状态寄存器PMU_CSTS的PVDO**位状态可以得出此时VDD/VDDA电压是否高于设定的PVD阈值;
        3)PVD中断事件在内部连接到了外部中断线16。如果在操作过程中,使能该外部中断线,就可以让该事件产生对应的中断。也就是将中断触发配置为上升沿和下降沿触发时,VDD/VDDA上升至PVD阈值之上或下降至PVD阈值之下时,均可以产生PVD中断。
下面是APM32F103手册对于PVD的描述(图):由于编辑器无法添加图片,如需查看可到附件PDF中查找。
下面是对应的PVD配置代码:
主函数:
int main(void)
{
    APM_MINI_LEDInit(LED2);
    APM_MINI_LEDInit(LED3);
    PVD_Init_l();
    while (1)
    {
        Delay();
    }
}
PVD配置:
void PVD_Init_l(void)
{
    RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_PMU);//开启PMU时钟
    PMU_ConfigPVDLevel(PMU_PVD_LEVEL_2V9);//选择PVD的触发电压
    //PVD中断配置
    NVIC_ConfigPriorityGroup(NVIC_PRIORITY_GROUP_0);//设置中断分组
    NVIC_EnableIRQRequest(PVD_IRQn,0,0);//设置PVD_IRQn中断等级,使能
    //EINT中断线配置
    EINT_Config_T EINT_PVD;
    EINT_PVD.line = EINT_LINE_16;
    EINT_PVD.mode = EINT_MODE_INTERRUPT;//配置为中断
    EINT_PVD.trigger = EINT_TRIGGER_RISING_FALLING;//上升沿/下降沿触发
    EINT_PVD.lineCmd = ENABLE;
    EINT_Config(&EINT_PVD);
    //使能PVD
    PMU_EnablePVD();
}
中断服务函数:
void PVD_IRQHandler(void)
{
    for(uint32_t i = 0;i < 6;i++)
    {
    if(i%2)
    {
        APM_MINI_LEDToggle(LED3);
    }
    else
    {
  APM_MINI_LEDToggle(LED2);
}
  Delay();
        NVIC_ClearPendingIRQ(PVD_IRQn);
        EINT_ClearIntFlag(EINT_LINE_16);
    }
}


【小白篇】如何使用芯片的PVD功能.pdf

299.65 KB, 下载次数: 6

tpgf 发表于 2023-6-7 09:14 | 显示全部楼层
PVD的中断等级是不是相对来说比较高的呢
nawu 发表于 2023-6-7 09:23 | 显示全部楼层
pvd是只能配置为边沿触发吗?可以使用电平触发模式吗
aoyi 发表于 2023-6-7 10:48 | 显示全部楼层
可以同时配置pvd的有两个动作阈值吗
zljiu 发表于 2023-6-7 11:00 | 显示全部楼层
一般来说PVd的电压需要外部的引脚进行采集吗
gwsan 发表于 2023-6-7 11:49 | 显示全部楼层
我们如何通过PVD来监控别的芯片的电压呢
tfqi 发表于 2023-6-7 12:11 | 显示全部楼层
大部分情况下,我们使用PVD的主要用途是什么呢 ?

评论

掉电数据保存  发表于 2023-6-12 15:28
Q3233273203 发表于 2023-6-30 12:04 | 显示全部楼层
赞, 欧S 15813376719 微信同号  极海代理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

17

帖子

0

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