电源意外关闭时MCU能否继续完成相应操作

最新更新时间:2018-05-19来源: MCU开发加油站关键字:mcu  电源管理 手机看文章 扫描二维码
随时随地手机看文章

对于主电源掉电后需要继续工作一段时间来用于数据保存或者发出报警的产品,我们往往都能够看见产品PCB板上有大电容甚至是超级电容器的身影。大容量的电容虽然能延时系统掉电,使得系统在电源意外关闭时MCU能继续完成相应操作,而如果此时重新上电,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?


一、上电失败问题分析


1. 上电缓慢引起的启动失败


对于需要进行掉电保存或者掉电报警功能的产品,利用大容量电容缓慢放电的特性来实现这一功能往往是很多工程师的选择,以便系统在外部电源掉电的情况下,依靠电容的储能来维持系统需要的重要数据保存及安全关闭的时间。此外,在不需要掉电保存数据的系统中,为了防止电源纹波、电源干扰及负载变比引起供电电压的波动,在电源输出端也需要并接一个适当的滤波电容。


电路中增加电容,虽然使系统在某些方面能满足设计要求,但是由于电容的存在,系统的上电时间也会相应的延长,下电时由于电容放电缓慢,下电时间也会更长。而上下电时间的延长,对于MCU来说,往往会带来意外的致命缺点。


比如某系列的MCU,就经常能遇到客户反馈说系统在掉电后重新上电,系统启动失败的问题,一开始工程师以为是软件的问题,花费了很大的时间和精力来找BUG,问题仍然没有很好的得到解决。后来查翻手册发现,发现该系列的MCU对于上电时间是有一定要求的(其实几乎所有品牌的MCU都有上下电时序要求)。


图1:上电要求


从图1我们可以看出,芯片输入电源从200mV以下为起点上升到VDD的时间tr,手册要求是最长不能超过500ms。而电路中的大电容乃至超级电容,显然会大大拉长这个上电时间,对于没有详细选择参数的电源设计来说,这个时间甚至可能会远远大于500ms。这样的话就不能很好地满足芯片的上电时间要求,从而导致系统无法启动,或者器件内部上电时序混乱而引起器件闩锁的问题。


所以电源的上电缓慢对于MCU处理器来说,有时也是一个“头痛”问题,那么如何有效的解决上电缓慢这个问题呢?先别急,我们再来说说系统下电缓慢带来的问题。而且下电缓慢引起的问题,比上电时间过长的问题更普遍。


2. 下电缓慢引起的启动失败


其实上面提到的上电图中,还有一个至关重要的参数,那就是图中的twait。我们可以从图中看到twait的最小数值为12μs。这个参数的含义就是说,在上电之前,芯片的输入电源需保持在200mV以下至少12μs的时间。这个参数就要求我们的电路在掉电后,如果需要对系统重新上电的话,必须让芯片的输入电源电压至少有12μs的时间是在200mV以下。换个角度表述就是:在下电后,必须让MCU的供电电压降到200mV以下才能再次上电(12μs很短,几乎可以忽略),系统才能可靠运行。


由于电路中存在大电容,系统负载又小,导致电路下电缓慢,当我们再次上电时,芯片电源电压此时可能还没有降到200mV 以下,如下图2所示:


图2:缓慢掉电再上电示意图


由于电路中存在较大的电容,在系统掉电后,系统负载不能很快的泄放能量时,就会出现MCU等数字器件掉电缓慢的情况。此时重新上电的话,由于不符合上文提到的降到200mV以下 12μs以上的要求,芯片内部就没有及时“归零”。对MCU等数字器件来说,这是一种不确定的状态,此时再对系统进行重新上电的操作,就容易造成MCU逻辑混乱,从而出现器件闩锁,系统不能启动的情况。


掉电缓慢也会导致MCU等数字器件内部掉电时序的混乱,特别是对于需要多路电源的MCU处理器,它们对于上电时序和掉电时序有更高的要求,内部时序的混乱会引起器件闩锁,系统无法启动。这也是为什么很多产品重启时,系统往往无法启动。


因此我们可以看出,系统上电或下电缓慢都有可能会造成MCU无法启动或者启动异常的情况,那么如何对缓慢的上电放电过程进行干预,提升上电斜率,缩短掉电时间呢?


二、解决方案推荐


当遇到系统启动失败的问题时,请先使用示波器检查器件的供电引脚是不是存在上电缓慢,掉电缓慢,不彻底的情况。当遇到该情况时,可以选择在电路中搭配使用广州周立功单片机科技有限公司研发的小体积、低内阻的电源调理模块:QOD-ADJ。


该模块可以保证在系统上电时,当电压达到额定电压的约70%-75%左右才开启输出,此后输出跟随输入,相当于给系统一个极快上电的电源。下电时,该模块可以对电容残存电压自动放电,可以在极短的时间内到达100mV以下,从而解决短时间内再次上电时系统处于锁死状态的问题。正所谓是上电下电两不误!使系统上下电都能稳定可靠。


图3:QOD-ADJ模块


QOD-ADJ具有以下功能:

  • 在系统电源开启时的快速上电,提升上电斜率;

  • 电源关断时使容性负载快速放电到近0V的状态;

  • 可外部控制的单通道负载开关;

  • 使用简单方便,串入需要控制的电路中即可。

三、产品使用示例


使用下图4所示电路进行对我们的产品进行测试:

图4:测试电路图


当VIN=5V,Cin=2.5F(超级电容),CL=100μF,RL=10Ω时的上电曲线和掉电曲线如图5图6输入端2.5F超级电容及负载10Ω下电曲线所示。


图5:输入端2.5F超级电容及负载10Ω上电曲线

图6:输入端2.5F超级电容及负载10Ω下电曲线


1. 显著缩短上电时间


由上面两图可以清楚的看出因为有超级电容的存在,VIN的上电曲线(蓝色曲线)爬升缓慢,而经过模块之后(Vout红色曲线)显著缩短了上电时间,使后级电路能在短时间内达到一种确定的状态。


2. 显著加快掉电速度


由图可以看出在系统掉电时,由于有超级电容的存在,模块前端(蓝色曲线)掉电速度,异常缓慢,经过模块之后(红色曲线)能显著加快放电速度,使得后级电路在极短的时间内到达一种确定的状态。


系统中的器件对于电源的上下电有严格的要求,在产品的设计当中,要关注核心器件的上下电要求,包括上下电的时序,斜率等,不合理的设计往往会引起系统上电无法启动等异常情况。

关键字:mcu  电源管理 编辑:王磊 引用地址:电源意外关闭时MCU能否继续完成相应操作

上一篇:Bourns 全系列电池保护方案将于 CIBF中国国际电池展隆重登场
下一篇:三种常用的LED驱动电源详解

推荐阅读最新更新时间:2023-10-12 23:02

单片机通过软件实现按键消抖
通过上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖动时间的长短和按键的机械特性有关,一般为5~10ms。通常我们手动按键然后释放,这个动作中稳定闭合的时间超过了20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专门的去抖动芯片,但通常我们采用软件延时的方法就可以解决抖动问题。 软件实现如下: //软件去抖if (0 == Keyport) // 如果有键按下{ delay_ms(8); // 延时一段时间消抖 if (0 == Keyport) // 如果真的有键按下检测到的是稳定闭合状态 { ......;
[单片机]
<font color='red'>单片机</font>通过软件实现按键消抖
AVR单片机PCF8591AD-DA实验
未加入 滤波 函数所以数值有点晃动 //PCF8591 AVR单片机程序 默认为输入模式下通道0开始通道0 光敏电阻 ,通道1, 热敏电阻 ,通道2 电位器 ,通道3外接电位器,如有标点符号丢失格式错乱的情况可从这里下载 源码 : http://www.51hei.com/f/avr8591.rar #include iom16.h #include intrinsics.h #define uchar unsigned char #define uint unsigned int #define k1 PIND_Bit4 //模拟量输出值按键 #d
[单片机]
AVR<font color='red'>单片机</font>PCF8591AD-DA实验
51单片机—DAC0832(详细介绍)—06—①
DAC0832~相信大家都不陌生,想整理整理这个,三种方法吗~~所以这个也得两三篇吧~~慢慢来~~ 这一篇还是比较简单的介绍,不过也有注意的~~ 1、DAC0832的简介 1)DAC0832的引脚 当然第一就得是引脚,由于网上的这个东西比较多,那我就粘贴了~~ 2)DAC0832的内部结构(这个对于理解1还是很重要的~~ ,呵呵,这个应该放在1处) 这里一定注意了: 8位输入寄存器用于存放CPU送来的数字量,使得输入的数字量得到缓冲和锁存,由/LE1来控制。 8位DAC寄存器用于存放待转换的数字量,由/LE2控制 都是低电
[单片机]
51<font color='red'>单片机</font>—DAC0832(详细介绍)—06—①
PIC单片机该怎么加密
见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。 1.什么是ID区域? ID区域是独立于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。 2.ID码怎么烧录到ID区域里面去? 可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作如下: ...............
[单片机]
STM8S单片机入门3(AD转换及锂电池管理)
锂电池以其容量大、充电性能好的优点,已经得到了广泛引用,特别在小型的需电池供电的电子设备上。但是锂电池的充电和使用条件比较严格,比如充电必须以恒流恒压方式,使用时电压不能低于3V等,所以用锂电池供电的系统一般都需要专门的锂电池管理功能,确保锂电池在正确的工作状态下。 这部分内容以讲述在STM8S单片机系统中,如何使用典型的锂电池充电管理芯片TP4056来实现锂电池的充电,以及如何使用单片机内置的AD转换功能测量电池电压,实现电池电量监控。 1、电路设计 电路图如下,使用TP4056做充电管理,TP4056是一款采用恒定电流/恒定电压线性锂电池充电管理IC,电路简单,只需要外接一个编程电容即可实现恒流恒压充电,
[单片机]
STM8S<font color='red'>单片机</font>入门3(AD转换及锂电池管理)
单片机控制步进电机,LCD1602显示
单片机源程序如下: #include AT89X51.h int delay(); void inti_lcd(); void show_lcd(int); void cmd_wr(); void ShowState(); void clock(unsigned int Delay) ; void DoSpeed(); //计算速度 //正转值 #define RIGHT_RUN 1 //反转值 #define LEFT_RUN 0 sbit RS=0xA0; sbit RW=0xA1; sbit E=0xA2; char SpeedChar = SPEED(n/min): ; char StateChar = R
[单片机]
<font color='red'>单片机</font>控制步进电机,LCD1602显示
内卷的无线MCU,往多协议集成与低功继续突破
网报道(文/李宁远)近年来全球出货数量和市场规模保持稳定增长,MCU纷纷布局各种应用的MCU产品线。受益于快速发展带来的联网节点数量增长,布局无线MCU成了众多MCU厂商的战略方向。绝大多数MCU厂商都有在无线MCU产品线布局,而且每家的无线MCU也都特色各异,毕竟谁也不愿意在物联网这个大市场落入下风。无线MCU市场可以说除了内卷,还是内卷,大厂小厂一起卷。 在这个场景中,很多设备都对功耗和成本十分敏感。所以功耗、成本一直都是无线MCU内卷最严重的性能,除此之外,通信能力,集成度上各MCU厂商也在激烈厮杀。最近不少厂商有新的无线MCU推出或者在主推系列上做了不少革新,那在这些新系列里是否有新的突破? CC1311R3 CC131
[机器人]
MCS-51单片机控制跑马灯的三种方法
  在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的。在并行端口的编程学习中,“跑马灯”是单片机并行端口输出控制的典型实例。所谓跑马灯,是指将八个发光二极管分别连接到单片机的某一并行端口的八根线上,通过编程控制这八个发光二极管从低到高或从高到低依次点亮。      图1 跑马灯电路图   如图1所示,将8个发光二极管阴极接到MCS一51单片机P1端口的8根端口线上,阳极通过限流电阻接+5V电源。要让发光二极管点亮,则对应的端口线应该为低电平(‘’0’);而要让其熄灭,对应的端I=I线应该为高电平(“1”)。由此,我们假定“跑马灯”由端I=1的低位向高位轮流点亮.可以得到如下状态:   表
[单片机]
MCS-51<font color='red'>单片机</font>控制跑马灯的三种方法
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved