• 周五. 4 月 26th, 2024

电源意外关闭,MCU会做出怎样的反应?-电路图讲解-电子技术方案

4 月 18, 2019

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

 

一、上电失败问题分析

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

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

 

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

 

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

 

电源意外关闭,MCU会做出怎样的反应?-电路图讲解-电子技术方案

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

 

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

 

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

 

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

。 (本文来源网络整理,目的是传播有用的信息和知识,如有侵权,可联系管理员删除)

版权声明:网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时联络我们,采取适当措施,避免给双方造成不必要的经济损失。