【应用笔记】使用 CW32 实现电池备份(VBAT)功能

这篇具有很好参考价值的文章主要介绍了【应用笔记】使用 CW32 实现电池备份(VBAT)功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言 

电池备份(VBAT)功能的实现方法,一般是使用 MCU 自带的 VBAT 引脚,通过在该引脚连接钮扣电池,当系统电源因故掉电时,保持 MCU 内部备份寄存器内容和 RTC 时间信息不会丢失。 

本文档介绍了如何基于 CW32 系列 MCU,通过增加简单的外部电路配合软件实现 VBAT 功能,在系统电源掉 电后仍能保持 RTC 时钟正常计时,以及如何降低系统功耗,从而延长后备电池的使用寿命。

1

电路设计 

对于自带 VBAT 引脚的 MCU,MCU 内部有对 VBAT 电源和系统电源的管理单元,保证在系统电源掉电后,及 时切换 VBAT 引脚电源给备份域供电,保证 RTC 正常工作。 

对于没有 VBAT引脚的 CW32,要实现类似的功能,可以在外部进行后备带电池和系统电源的切换,如下图所示:

【应用笔记】使用 CW32 实现电池备份(VBAT)功能,笔记,单片机,嵌入式硬件

后备电池(B1)提供的备用电源 VBAT 和系统电源 VDDIN 通过 2 个肖特基二极管(D1)合路,合路后的 电源 VDD 给 MCU 的数字域 DVCC 和模拟域 AVCC 进行供电。系统电源 VDDIN 通过 R3、R4 电阻分压得到 WAKEIO 信号,连接到 MCU 的 IO 引脚。注意遵循如下规则:

 1. Vwakeio 要大于 MCU IO 口的 Vih;

 2. VDDIN 必须高于 Vb1 在 0.4V 以上,否则如果 VDDIN 和 Vb1 相等,在系统电源正常时,后备电池也会有一定 的泄放电流,不利于节省后备电池电量。

2

程序设计 

程序启动后正常初始化时钟、IO、RTC 以及 OELD,循环中检测系统电源是否存在,如存在则读取 RTC 时间 并显示。 

当系统电源 VDDIN 因故掉电,则关闭 OLED 电源,并进入 DeepSleep 低功耗睡眠模式。 

当系统电源 VDDIN 恢复供电时,产生高电平中断,唤醒 MCU,退出 DeepSleep 低功耗睡眠模式。

3

参考代码

int32_t main(void)

{

RCC_Configuration();     // 时钟配置

GPIO_Configuration();     //GPIO配置

OLED_Init();          //OLED显示屏初始化配置

dis_err("RTC_TestBoard");   // 显示

FirmwareDelay(5000000);   // 增加延时防止过早休眠影响程序烧写

RTC_init();          //RTC时钟初始化

//DeepSleep 唤醒时,保持原系统时钟来源

RCC_WAKEUPCLK_Config(RCC_SYSCTRL_WAKEUPCLKDIS);

ShowTime();       // 获取时间数据

displaydatetime();    // 显示当前时间

while(1)

{

if( 0==PB05_GETVALUE() )  // 循环检测是否掉电

{

PA05_SETHIGH();   // 关 OLED 电源

SCB->SCR = 0X04;  //DeepSleep

__WFI();       //MCU 进入DeepSleep模式以节省功耗

OLED_Init();     // 外部电源接入后唤醒,重新初始化 OLED

}

else

{

ShowTime();      // 获取时间数据

displaydatetime();   // 显示当前时间

}

}

}

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStruct= {0};

__RCC_GPIOB_CLK_ENABLE();         // 开 GPIOB 时钟

GPIO_InitStruct.IT  = GPIO_IT_RISING;    // 使能上升沿中断

GPIO_InitStruct.Mode  = GPIO_MODE_INPUT;  // 输入模式

GPIO_InitStruct.Pins = GPIO_PIN_5 ;    //PB05,连接 WAKEIO 网络

GPIO_Init(CW_GPIOB, &GPIO_InitStruct);  // 初始化 IO

GPIOB_INTFLAG_CLR(bv5);        // 清除 PB05 中断标志

NVIC_EnableIRQ(GPIOB_IRQn);      // 使能 PB05 中断

}

4

实际测试

使用 CW32L031C8T6 设计了用于测试后备电池功能的评估板,实物如下图所示:

【应用笔记】使用 CW32 实现电池备份(VBAT)功能,笔记,单片机,嵌入式硬件

使用 3V 的 CR2032 钮扣电池,实测电池电压为 3.14V;VDDIN 使用可调节数字电源,设置为 3.54V,保证 VDDIN >= Vb1 + 0.4V;D1 实测合路后的电源电压为 3.21V。

【应用笔记】使用 CW32 实现电池备份(VBAT)功能,笔记,单片机,嵌入式硬件

4.1 测试数据 

实际测试时,断开 J4 跳线接入万用表,设置万用表为电流测试档位。 

1. 关闭 VDDIN 电源输入,MCU 检测到无外电输入,关闭 OLED 显示,进入 DeepSleep 模式,实测此时 B1 电流为 +0.95μA。 

2. 打开 VDDIN电源输入,MCU被高电平中断从 DeepSleep状态唤醒到正常状态,OLED正常显示当前时间, 实测此时 B1 电流为 -75nA(负电流是因为 D1 处于反向偏置状态,有小的反向漏电流)。 

测试结果符合电路设计预期,以 CR2032 电池容量为 200mAH 计算,则电池可用时间为 210526 小时,合计 24 年(不考虑电池和产品寿命),可实现超长待机时间,完全满足各种低功耗产品对 RTC 后备电池容量需求。

5

附件 

5.1 RTC_TestBoard 单板原理图

【应用笔记】使用 CW32 实现电池备份(VBAT)功能,笔记,单片机,嵌入式硬件

【应用笔记】使用 CW32 实现电池备份(VBAT)功能,笔记,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-649451.html

到了这里,关于【应用笔记】使用 CW32 实现电池备份(VBAT)功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32采集电池电量方法实现

    一、项目简介       若设备接了锂电池,可以通过STM32的ADC采集电池的电量。锂电池为3节3.7V的单节串联,整体电压大约为12V。 二、实现过程    1、由于STM32采集的电压范围为0-3.3V,所以无法直接采集锂电池的电压,这里可以用外接分压电阻的方法实现采集,同时,锂电池的

    2024年03月17日
    浏览(28)
  • 基于CW32的K210二维舵机视觉跟踪物体

    前言 最近想要做一个项目是涉及用国产MCU--CW32配合K210控制舵机实现跟踪物体的目的,我想要实现一个功能就是识别到目标并且把目标的坐标信息通过串口传输给单片机,单片机控制舵机进行控制,那么视觉方面目前我认为最好的选择就是使用k210了,它不仅成本低,性能好,

    2024年02月14日
    浏览(35)
  • 关于CW32单片机pack包安装 KEIL IAR

      CW32 系列微控制器软件开发工具入门 1. 下载芯片包 官方下载链接: 武汉鑫源半导体 2. 安装芯片包 双击芯片包.pack文件 支持 CW32F 系列的 IDE 支持 CW32F 系列的工具链: • • EWARM v7.70 或更高版本 MDK-ARM v5.17 或更高版本 2.1 EWARM 工具链 2.1.1 EWARM V9.30 或更高版本 从 EWARM V9.30 版本

    2024年01月23日
    浏览(43)
  • 【Windows】查看笔记本电池寿命/损耗度(查看电池使用时间报告)

    ① Win+r 运行 命令提示符窗口 ② 输入 powercfg/batteryreport 你将会得到电池使用时间报告 将这个地址粘贴到浏览器地址栏访问,或者根据这个地址在资源管理器中找到这个文件夹双击用浏览器打开,便可以查看了。 下面这个红框的数值(充满电容量)比上面红框的数值(设计容量

    2024年02月11日
    浏览(71)
  • 【STM32 学习】电源解析(VCC、VDD、VREF+、VBAT)

    VCC 电源电压 GND 电源供电负电压(通常接地) VDD 模块工作正电压 VSS 模块工作负电压 VREF+ ADC参考正电压 VREF- ADC参考负电压 VBAT 电池或其他电源供电 VDDA 模拟供电正电压 VSSA 模拟供电负电压   VCC是指芯片的电源电压,负责为电路中各个元器件和子系统提供供电电压。 VDD 是指

    2024年02月12日
    浏览(35)
  • STM32电源结构(VREF、VDDA、VCC、VDD、VBAT)

    STM32的工作电压(VDD)为2.0~3.6V。通过内置的电压调节器提供所需的1.8V电源。 当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。 VCC(电路的电源正电压),GND(电路的电源负电压)。 VCC是指芯片的电源电压,通常是5V或3.3V,用于为芯片提供工作电压。电源

    2024年02月05日
    浏览(35)
  • STM32电源框图解析<VBAT、VDDA、VSSA、VDD、VSS等引脚>

    人生如逆旅,我亦是行人。 昨天在使用 立创EDA 学习画原理图的时候,挑选的芯片需要引出的引脚有 VBAT 、 VDDA 、 VSSA 、 VDD 、 VSS 这些用作供电的引脚,然后了解了一下他们各自的功能。 STM32 的工作电压( VDD )为2.0~3.6V,通过内置的电压调节器提供所需的 1.8V 电源,当主电源

    2023年04月18日
    浏览(29)
  • 用于独立系统应用的光伏MPPT铅酸电池充电控制器建模(Simulink实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Simulink实现、详细文章

    2024年02月09日
    浏览(45)
  • 笔记本电脑的电池健康:确保长时间使用和优异性能的关键

    笔记本电脑已经成为我们日常生活中不可或缺的工具,无论是办公、学习还是娱乐,我们都依赖着它的便携性和高效性能。而在所有的硬件组件中,电池健康被认为是确保长时间使用和良好性能的关键因素之一。一块健康的电池不仅能提供持久的续航时间,还能保证系统的稳

    2024年02月16日
    浏览(44)
  • 【正点原子STM32】PVD低功耗实验 – 电源监控(POR/PDR监控器、PVD监控器、 BOR监控器、AVD监控器、VBAT阈值、温度阈值、PVD相关寄存器和HAL库驱动、PVD的使用步骤)

    一、STM32 电源监控介绍 1.1、上电/掉电复位POR/PDR(F1) 1.2、可编程电压检测器(PVD)(F1) 二、PVD相关寄存器介绍(F1) 三、PVD相关HAL库驱动介绍 四、PVD的使用步骤 五、编程实战 电源监控在STM32芯片中起着关键作用,确保系统在电源电压异常或不稳定时能够进行适当的处理,以

    2024年03月25日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包