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

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

3天内不再提示

基于CW32系列MCU实现电池备份(VBAT)功能

武汉芯源半导体 来源:武汉芯源半导体 2023-08-15 11:31 次阅读

前言

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

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

1 电路设计

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

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

f6805ce6-3b1a-11ee-9e74-dac502259ad0.png

后备电池(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 设计了用于测试后备电池功能的评估板,实物如下图所示:

f69b17fc-3b1a-11ee-9e74-dac502259ad0.png

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

f6c67e88-3b1a-11ee-9e74-dac502259ad0.png

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 单板原理图

f7224ede-3b1a-11ee-9e74-dac502259ad0.png

f75af1c6-3b1a-11ee-9e74-dac502259ad0.png

关于武汉芯源半导体

武汉芯源半导体有限公司,于2018年8月28日成立,是上市公司武汉力源信息技术股份有限公司全资子公司,专注芯片的设计、研发、销售及技术服务。武汉芯源半导体CW品牌源于Creative Wisdom首字母CW,传递“创芯源于智慧”的品牌理念。

武汉芯源半导体为电子行业用户提供微处理器MCU、小容量存储芯片EEPROM、功率器件SJ-MOSFET等系列产品,具有产品质量保证、技术性能可靠、供货能力稳定三大竞争优势。

在MCU领域目前已推出通用高性能CW32F003/030系列、安全低功耗CW32L083/031/052系列、无线射频CW32W031系列产品,广泛应用于消费电子智能家居物联网工业控制医疗电子以及汽车电子行业,未来将能够满足更多的市场需求。

武汉芯源半导体持续进行技术革新,确保稳定可靠的供应链能力,致力于成为***产业的领航者!

审核编辑:汤梓红

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

    关注

    146

    文章

    16984

    浏览量

    350261
  • 引脚
    +关注

    关注

    16

    文章

    1181

    浏览量

    50265
  • RTC
    RTC
    +关注

    关注

    2

    文章

    527

    浏览量

    66300
  • 电池备份
    +关注

    关注

    0

    文章

    4

    浏览量

    5648
  • CW32
    +关注

    关注

    1

    文章

    183

    浏览量

    578
收藏 人收藏

    评论

    相关推荐

    CW32移植Free-RTOS】CW32开发者扶持计划

    CW32配置Free-RTOS全过程,CW32开发者扶持计划
    的头像 发表于 04-18 09:38 6088次阅读
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b>开发者扶持计划

    【应用笔记】CW32 电容式触摸按键设计指南

    系列小规模MCU的IO、比较器、定时器、高速高精度内置RC时钟源以及高算力等功能,通过检测电路端子电容的微小变化和波动,实现电容式触摸按键功能
    的头像 发表于 07-04 11:44 983次阅读
    【应用笔记】<b class='flag-5'>CW32</b> 电容式触摸按键设计指南

    基于CW32的MP3播放器设计

    使用武汉芯源半导体CW32系列MCU作为主控一款小巧的MP3。采用CW32L系列低功耗芯片。
    的头像 发表于 09-06 16:45 1913次阅读
    基于<b class='flag-5'>CW32</b>的MP3播放器设计

    CW32 MCU开发资料汇总(手册、工具、固件库)

    32L083_StdPeriph_Lib.zip4、CW32 MCU开发工具:*附件:CW-DAPLINK调试器驱动.zip*附件:CW-DAPLINK使用手册.pdf*附件:
    发表于 07-27 14:47

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

    。 本文档介绍了如何基于 CW32 系列 MCU,通过增加简单的外部电路配合软件实现 VBAT 功能
    发表于 08-15 13:08

    CW Programmer CW32系列芯片烧录工具配套软件

    CW Programmer CW32系列芯片的烧录工具配套软件
    发表于 09-15 07:44

    如何基于CW32系列MCU实现VBAT功能

    档介绍了如何基于 CW32 系列 MCU,通过增加简单的外部电路配合软件实现 VBAT 功能,在
    发表于 09-15 07:24

    基于低功耗32位MCU CW32系列的智能温控器的应用

    CW32系列MCU既可以缩短运算处理时间,又能在超低能耗模式下实现自主运行,还具有段码屏显示,非常适合低功耗要求的智能温控器。
    的头像 发表于 08-16 10:49 855次阅读
    基于低功耗32位<b class='flag-5'>MCU</b> <b class='flag-5'>CW32</b><b class='flag-5'>系列</b>的智能温控器的应用

    怎样使用CW32实现电池备份VBAT功能呢?

    电池备份VBAT功能实现方法,一般是使用 MCU 自带的
    发表于 08-15 11:32 502次阅读
    怎样使用<b class='flag-5'>CW32</b><b class='flag-5'>实现</b><b class='flag-5'>电池</b><b class='flag-5'>备份</b>(<b class='flag-5'>VBAT</b>)<b class='flag-5'>功能</b>呢?

    使用 CW32 实现电池备份VBAT功能

    何基于CW32系列MCU,通过增加简单的外部电路配合软件实现VBAT功能,在系统电源掉电后仍能保
    的头像 发表于 08-15 13:11 1745次阅读
    使用 <b class='flag-5'>CW32</b> <b class='flag-5'>实现</b><b class='flag-5'>电池</b><b class='flag-5'>备份</b>(<b class='flag-5'>VBAT</b>)<b class='flag-5'>功能</b>

    cw32和gd32的区别

    cw32和gd32的区别 CW32和GD32是两种不同的芯片系列,分别由WCH和GigaDevice公司推出,两者有很多不同之处,下面我们来详细介绍。 首先从CW32
    的头像 发表于 08-16 11:15 1878次阅读

    浅谈CW32系列模数转换器(ADC)

    CW32系列模数转换器(ADC)
    的头像 发表于 10-25 15:43 1057次阅读
    浅谈<b class='flag-5'>CW32</b><b class='flag-5'>系列</b>模数转换器(ADC)

    快乐解说MCUCW32的工作电压特性

    快乐解说MCUCW32的工作电压特性
    的头像 发表于 09-18 10:56 566次阅读

    CW32 PWM输出功能介绍

    CW32 PWM输出功能介绍
    的头像 发表于 09-27 16:12 772次阅读
    <b class='flag-5'>CW32</b> PWM输出<b class='flag-5'>功能</b>介绍

    基于CW32的物联网应用

    CW32】基于CW32的物联网应用
    的头像 发表于 11-02 15:55 736次阅读
    基于<b class='flag-5'>CW32</b>的物联网应用