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

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

3天内不再提示

CW32单片机低电压检测器的使用介绍

jf_pJlTbmA9 来源:武汉芯源半导体 作者:武汉芯源半导体 2023-09-18 10:56 次阅读

CW32的LVD低电压检测器适用于监测VDDA电源电压或外部引脚输入电压,当被监测电压与LVD阈值的比较结果满足触发的条件时,LVD将会产生中断或者复位信号,通常用来处理一些紧急任务。LVD产生的中断或复位标志,只能通过软件程序清零,并且只有当中断或复位标志被清零后,在再次达到触发条件时,LVD才能再次产生中断或复位信号。在本文中以CW32L083系列为例,介绍LVD的基本功能和使用例程。

LVD的基本功能介绍:

1、4路监测电压源

VDDA电源电压,PA00引脚输入,PB00引脚输入,PB11引脚输入

2、16阶阈值电压,范围2.02V-3.76V

3、3种触发条件,可以组合使用

电平触发:电压低于阈值

下降沿触发:电压跌落到阈值以下的下降沿

上升沿触发:电压回升到阈值以上的上升沿

4、可触发产生中断或复位信号,二者不能同时产生

5、8阶滤波可配置

6、支持迟滞功能

7、支持低功耗模式下运行,中断唤醒MCU

wKgZomUDxiSAKzmwAAD4iZpez6w697.png

通过LVD的控制寄存器LVD_CR0的SOURCE位域来选择LVD模块监控的电压(VDDA电源/ PA00引脚/PB00引脚/PB11引脚),在监测外部引脚电压时,需将对应的GPIO端口配置为模拟输入模式(GPIOx_ANALOG.PINy = 1)。

LVD的比较结果可以从PA01/PA08/PC12/PE02/PF02脚输出,在此之前,需将对应的GPIO口配置为数字输出模式,同时选择端口位LVDOUT复用功能。

LVD 内置的电压比较器具有迟滞功能,只有当被监测电压高于或低于阈值电压达到 20mV 时,比较器输出信号才会发生翻转,可避免当 LVD 的监测电压在阈值电压附近时,电压比较器的输出结果发生频繁翻转,增强系统抗干扰能力。具体波形如下图所示:

wKgaomUDxiWAYk2HAADbJStzDes653.png

LVD的阈值电压根据LVD控制寄存器LVD_CR0的VTH位控制。

wKgZomUDxieAI7mmAAD_EhGFpXQ115.png

LVD支持数字滤波功能,可以增强系统的鲁棒性(系统在一定的参数抖动下,维持起某些性能的特性),可以将LVD电压比较的输出结果信号进行数字滤波,小于滤波宽度的信号被滤除,不会被触发中断或复位,如下图所示,图中两处噪音或其他信号就被滤除了。

wKgaomUDxiiAYvSMAAB1SDmJUqE230.png

通过设置控制寄存器LVD_CR1的FLTEN位域,可以使能数字滤波模块,当将该位设置为1的时候,会使能数字滤波模块。

通过设置控制寄存器 LVD_CR1 的 FLTCLK 位域可以选择数字滤波的时钟

• FLTCLK 位为 1,选择 HSIOSC 作为滤波时钟

• FLTCLK 位为 0,选择内置 RC 振荡器时钟作为滤波时钟,其频率约 150kHz

控制寄存器 LVD_CR1 的 FLTTIME 位域用于选择数字滤波的时钟个数,如下表所示:

wKgZomUDxiqAadfhAABuLM8tie0018.png

从 LVD 状态寄存器 LVD_SR 的 FLTV 位域,可以读出经 LVD 数字滤波后的信号电平;当 GPIO 的功能复用为 LVD_OUT 时,数字滤波后的信号就可以从 GPIO 输出,以方便观察测量。

LVD 支持在低功耗模式下工作,中断输出可将芯片从低功耗模式下唤醒。当被监测电压与 LVD 阈值的比较结果满足触发条件时,可产生中断或复位信号。产生中断还是复位信号由控制寄存器 LVD_CR0 的 ACTION 位域控制:

• ACTION 为 1,LVD 触发产生复位 #define LVD_Action_Reset ((uint32_t)0x00000002)

• ACTION 为 0,LVD 触发产生中断 #define LVD_Action_Irq ((uint32_t)0x00000000)

LVD可以通过设置控制寄存器 LVD_CR0 的 IE 位域为 1,使能 LVD 中断,满足触发条件时将产生 LVD 中断,中断标志位 LVD_SR.INTF 会被硬件置 1,用户可以向 INTF 位写 0,清除中断标志。设置控制寄存器 LVD_CR1 的 LEVEL、FALL、RISE 位域,可选择不同的中断或复位触发方式,三者可组合使用:

• LEVEL 为 1,被监测电压低于阈值时触发中断或产生复位

• FALL 为 1,被监测电压跌落到阈值以下的下降沿触发中断或产生复位

• RISE 为 1,被监测电压回升到阈值以上的上升沿触发中断或产生复位

LVD使用例程介绍:

根据上述内容,可以配置一个关于CW32L083的电压监测例程,LVD的输入通道设置为PA00,输出端口为PA08,门限电压为2.02V,利用LVD的中断实现当LVD输入通道电压低于或者高于门限电压时刻(利用上升沿和下降沿),PC03输出电平翻转一次。

voidLVD_PortInit(void)
{
GPIO_InitTypeDefGPIO_InitStructure={0};

//打开GPIOA时钟
__RCC_GPIOA_CLK_ENABLE();

//将PA08设置为LVD比较结果输出
GPIO_InitStructure.Pins=GPIO_PIN_8;
GPIO_InitStructure.Mode=GPIO_MODE_OUTPUT_PP;
GPIO_Init(CW_GPIOA, GPIO_InitStructure);

//将PA08复用为LVD比较结果输出
PA08_AFx_LVDOUT();
//将PA00设置为LVD的输入口
PA00_ANALOG_ENABLE();
}

intmain(void)
{
LVD_InitTypeDefLVD_InitStruct={0};

//LED初始化
LED_Init();

//配置测试IO口
LVD_PortInit();

LVD_InitStruct.LVD_Action=LVD_Action_Irq;//配置中断功能
LVD_InitStruct.LVD_Source=LVD_Source_PA00;//配置LVD输入口为PA00
LVD_InitStruct.LVD_Threshold=LVD_Threshold_2p02V;//配置LVD基准电压为2.02v
LVD_InitStruct.LVD_FilterEn=LVD_Filter_Enable;//LVD滤波模块开启
LVD_InitStruct.LVD_FilterClk=LVD_FilterClk_RC150K;//LVD滤波时钟为150KHz
LVD_InitStruct.LVD_FilterTime=LVD_FilterTime_4095Clk;
LVD_Init( LVD_InitStruct);

LVD_TrigConfig(LVD_TRIG_FALL|LVD_TRIG_RISE,ENABLE);//LVD中断为上升沿和下降沿触发
LVD_EnableIrq(LVD_INT_PRIORITY);
LVD_ClearIrq();
FirmwareDelay(4800);
LVD_Enable();//LVD使能

while(1)
{
if(gFlagIrq)
{
PC03_TOG();
gFlagIrq=FALSE;
}
}
}

/**
*@briefLEDI/O初始化
*
*/
voidLED_Init(void)
{
GPIO_InitTypeDefGPIO_InitStructure={0};

//打开GPIOC时钟
REGBITS_SET(CW_SYSCTRL->AHBEN,SYSCTRL_AHBEN_GPIOC_Msk);

/*ConfiguretheGPIO_LEDpin*/
GPIO_InitStructure.Pins=GPIO_PIN_2|GPIO_PIN_3;
GPIO_InitStructure.Mode=GPIO_MODE_OUTPUT_PP;
GPIO_Init(CW_GPIOC, GPIO_InitStructure);

//LEDsareoff.
PC02_SETLOW();
PC03_SETLOW();
}

//LVD中断服务函数
voidLVD_IRQHandler(void)
{
LVD_ClearIrq();//清除中断标志
gFlagIrq=TRUE;//将gFlagIrq赋值为TURE
}

根据上述例程可以得到在PA00的输入电压值低于2.02v或高于2.02v的瞬间时刻,LVD会产生中断,PC03的输出电平会产生翻转,可利用CW32L083的开发板和一根杜邦线,将PA00和DVCC连接,在连接上的时刻以及拔掉杜邦线的时刻,LED1的状态会发生翻转。

来源:武汉芯源半导体

审核编辑:汤梓红

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

    关注

    6037

    文章

    44557

    浏览量

    635163
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17144

    浏览量

    351156
  • 检测器
    +关注

    关注

    1

    文章

    864

    浏览量

    47686
  • 武汉芯源
    +关注

    关注

    1

    文章

    66

    浏览量

    255
收藏 人收藏

    评论

    相关推荐

    基于CW32的门禁综合系统

    基于CW32单片机的门禁综合系统是一款功能强大的智能门禁解决方案,它提供了三种开锁方式:密码开锁、指纹开锁和刷卡开锁,为用户提供方便、安全的门禁控制。该系统的核心控制采用了CW32
    的头像 发表于 12-28 11:43 1704次阅读
    基于<b class='flag-5'>CW32</b>的门禁综合系统

    使用CW32单片机通过ESP8266连接OneNET物联网平台

    这期视频向大家介绍如何使用CW32单片机通过ESP8266连接OneNET物联网平台,发送温湿度数据到平台,并接受平台的云控制。
    的头像 发表于 11-09 14:32 1523次阅读

    单片机定时的用法

    本章以CW32通用定时为例介绍单片机定时的用法。
    的头像 发表于 01-04 10:37 1408次阅读
    <b class='flag-5'>单片机</b>定时<b class='flag-5'>器</b>的用法

    CW32 低电压检测器介绍

    复位标志,只能通过软件程序清零,只有当中断或复位标志被清零后,在再次达到触发条件时,LVD才能再次产生中断或复位信号。本文以CW32L083为例,介绍LVD的使用方法。低电压检测器(L
    发表于 12-08 14:03

    CW32单片机在智能马桶的应用介绍

    和调节。本文将介绍CW32单片机在智能马桶的详细应用。 图:CW32的智能马桶控制板 CW32单片机
    发表于 12-20 10:06

    电池低电压检测器威廉希尔官方网站 图

    电池低电压检测器威廉希尔官方网站 图
    发表于 05-06 23:27 2509次阅读
    电池<b class='flag-5'>低电压</b><b class='flag-5'>检测器</b>威廉希尔官方网站
图

    瑞萨单片机电压检测器(低压复位)(六)

    瑞萨单片机电压检测器的使用
    发表于 12-20 18:59 6次下载
    瑞萨<b class='flag-5'>单片机</b>之<b class='flag-5'>电压</b><b class='flag-5'>检测器</b>(低压复位)(六)

    CW32 低电压检测器介绍

    复位标志,只能通过软件程序清零,只有当中断或复位标志被清零后,在再次达到触发条件时,LVD才能再次产生中断或复位信号。本文以CW32L083为例,介绍LVD的使用方法。低电压检测器(L
    的头像 发表于 12-08 14:05 830次阅读
    <b class='flag-5'>CW32</b> <b class='flag-5'>低电压</b><b class='flag-5'>检测器</b><b class='flag-5'>介绍</b>

    cw32和stm32的区别

    cw32和stm32的区别 CW32和STM32是两种常见的单片机,被广泛应用于各种电子设备中。在本文中,我们将深入探讨CW32和STM32之间的区别和优劣势。 1. 硬件性能 硬件性
    的头像 发表于 08-16 11:15 4219次阅读

    CW32单片机UART波特率设置介绍

    CW32单片机UART波特率设置介绍
    的头像 发表于 10-24 17:35 924次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>单片机</b>UART波特率设置<b class='flag-5'>介绍</b>

    CW32单片机UART基本数据收发功能介绍

    CW32单片机UART基本数据收发功能介绍
    的头像 发表于 10-24 16:50 771次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>单片机</b>UART基本数据收发功能<b class='flag-5'>介绍</b>

    CW32单片机I2C接口读写EEPROM芯片介绍

    CW32单片机I2C接口读写EEPROM芯片介绍
    的头像 发表于 11-09 17:42 1061次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>单片机</b>I2C接口读写EEPROM芯片<b class='flag-5'>介绍</b>

    基于CW32单片机做的软硬件开源项目

    今天就再给大家分享一个基于CW32单片机做的软硬件开源项目,其中包括RTOS、GUI、蓝牙、电源管理等众多常用功能。
    的头像 发表于 10-19 10:17 1108次阅读
    基于<b class='flag-5'>CW32</b><b class='flag-5'>单片机</b>做的软硬件开源项目

    CW32单片机在智能马桶的应用介绍

    智能科技的迅速发展使得我们的日常生活变得更加便捷和舒适。智能马桶作为其中一种智能家居产品,通过单片机接受和处理来自传感的数据,然后通过控制模块对智能马桶的各项功能进行控制,实现对智能马桶的全面控制和调节。本文将介绍
    的头像 发表于 12-20 10:02 781次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>单片机</b>在智能马桶的应用<b class='flag-5'>介绍</b>

    CW32单片机在智能马桶的应用介绍

    和调节。本文将介绍CW32单片机在智能马桶的详细应用。图:CW32的智能马桶控制板CW32单片机
    的头像 发表于 12-20 10:09 621次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>单片机</b>在智能马桶的应用<b class='flag-5'>介绍</b>