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

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

3天内不再提示

电源重新上电引起的MCU启动失败的原因分析

西西 作者:致远电子 2018-05-16 18:08 次阅读

对于主电源掉电后需要继续工作一段时间来用于数据保存或者发出报警的产品,我们往往都能够看见产品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无法启动或者启动异常的情况,那么如何对缓慢的上电放电过程进行干预,提升上电斜率,缩短掉电时间呢?

二、解决方案推荐

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

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

图3 QOD-ADJ模块

QOD-ADJ具有以下功能:

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

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

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

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

三、产品使用示例

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

电源重新上电引起的MCU启动失败的原因分析

图4测试电路图

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

电源重新上电引起的MCU启动失败的原因分析

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

电源重新上电引起的MCU启动失败的原因分析

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

1. 显著缩短上电时间

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

2. 显著加快掉电速度

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

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

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

    关注

    19

    文章

    406

    浏览量

    28681
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17135

    浏览量

    351031
  • pcb
    pcb
    +关注

    关注

    4319

    文章

    23083

    浏览量

    397566
收藏 人收藏

    评论

    相关推荐

    如何处理由电源引起的MCU启动失败

    关闭时MCU能继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢? 一
    发表于 05-31 11:33

    请教一个电源问题 带电正常重新不工作

    、、、、、、、、、、、、、、程序原因导致的重新电源不正常,请问这个情况怎样入手分析。为什么
    发表于 09-20 18:24

    如何处理由电源引起的MCU启动失败

    关闭时MCU能继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?  一
    发表于 11-21 15:56

    电源引起的MCU启动失败原因以及解决方案推荐

    继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?一、
    发表于 05-23 08:30

    电源引起的MCU启动失败怎么解决

    继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?
    发表于 07-15 06:49

    电源缓慢时,MCU如何继续完成相应操作?

    继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?一、
    发表于 09-01 07:00

    MCU无法启动的问题及解决办法

    继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?本文教您一招解决它!一、
    发表于 11-03 08:05

    给运放(ADA4807+ADA4927)供电的正负电源启动失败原因

    所有的模拟通道运放芯片都是正常的,焊接也是OK的; 根据仿真和估算,正负电源的最大输出电流应该都是满足要求的,请问是什么原因导致负电源
    发表于 11-14 07:26

    电脑总是重新启动原因分析

    电脑总是重新启动原因分析 一、软件   1.病毒破坏   自从有了计算机以后不久,计算机病毒也应运而生。当网络成为
    发表于 02-24 13:43 957次阅读

    MCU启动应用程序的准备

    MCU整体工作流程可总结如下:——》主时钟起振——》启动代码——》用户程序(main函数)。对于我们应用开发来说,大部分工作重点是在应用程序编写这块。特别是高级
    发表于 07-27 10:22 2757次阅读

    【转】一招解决MCU启动异常

    继续完成相应操作,而如果此时重新,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?本文教您一招解决它!一、
    发表于 10-28 15:06 8次下载
    【转】一招解决<b class='flag-5'>MCU</b><b class='flag-5'>启动</b>异常

    MCU为什么启动

    相信很多朋友们都遇到过,自信满满的将程序下载到板子,发现MCU居然没启动。 那这个现象可能有很多问题会导致,让我们来看看会有哪些原因
    的头像 发表于 01-11 09:41 1098次阅读
    <b class='flag-5'>MCU</b>为什么<b class='flag-5'>上</b><b class='flag-5'>电</b>不<b class='flag-5'>启动</b>

    MCU启动的可能原因分析

    在GD32 MCU,BOOT引脚决定了MCU启动方式,通常BOOT0引脚下拉时是flash启动,如果BOOT电平不对就不会执行我们下载的
    发表于 01-12 17:08 2066次阅读
    <b class='flag-5'>MCU</b><b class='flag-5'>上</b><b class='flag-5'>电</b>不<b class='flag-5'>启动</b>的可能<b class='flag-5'>原因</b><b class='flag-5'>分析</b>

    GD32 MCU跌落导致启动异常如何解决

    大家是否碰到过MCU过程中存在电源波动或者电压跌落导致MCU启动异常的问题?本视频将会为大家
    的头像 发表于 01-29 09:38 1113次阅读
    GD32 <b class='flag-5'>MCU</b><b class='flag-5'>上</b><b class='flag-5'>电</b>跌落导致<b class='flag-5'>启动</b>异常如何解决

    【AI技术支持】ESP32-WROVER-IE-N16R8模组启动失败问题处理

    控制模块的供电电源通断来控制模块开机,MCU首次控制模块通电时,模块无反应,模块启动失败,为
    的头像 发表于 11-20 01:00 333次阅读
    【AI技术支持】ESP32-WROVER-IE-N16R8模组<b class='flag-5'>上</b><b class='flag-5'>电</b><b class='flag-5'>启动</b><b class='flag-5'>失败</b>问题处理