MCU工作电压有关的复位

控制/MCU

1811人已加入

描述

这篇文章,主要讲的是跟MCU工作电压有关的复位,

其他的一些软件复位,硬件错误复位等等就不在本次的讨论范围内。

我们先来看下,一张MCU的复位逻辑图,这里就借用ATMEL的一颗相当经典的MCU——ATMEGA8系列的复位逻辑图来展示。

电压

电压

可以看到,图中跟工作电压有关的复位,就是上电复位(POR),掉电复位(BOR),还有就是通过外部复位管脚触发的外部复位(External RESET)

上电复位,就是电压从0开始超过或某个阈值电压的时候,芯片就会触发一个固定或者可编程的延迟后,让MCU工作。

这个图就是当外部复位管脚不接任何东西的时候,MCU复位的时序图,一般的MCU复位时序基本都像下图这样的。

电压

电压

这里用STM32的数据举个例子,在STM32F103中,这个复位延迟是固定,这个值为1-4.5ms之间不等。

电压

电压

而STM32F103的POR典型电压为1.92V左右。

电压

电压

也就是说,上电的时候,电压从0爬升到最高1.92V的时候,芯片就产生一个最长4.5ms的复位信号。

我们再来看一个图,

这个图是STM32F103的VDD和VDDA的工作电压。

电压

电压

当你的应用中要使用到ADC的时候,

VDDA要到2.4V的时候,ADC才会工作,

如果你的电压爬升比较慢,从2V到2.4V的时间超过了4.5ms,这个时候就需要使用到外置的电路来调节延长这个时间。

RC复位电路是最常见的外部延迟电路

电压

电压

在接了RC之后,这时候复位时序就变成了这个样子

电压

电压

系统会等待复位管脚上的电压超过一定的电压,在STM32中,这个值是2V

电压

电压

然后系统才会进行复位延迟等待,最后MCU开始工作,从电压爬升到上电复位阈值开始,到复位管脚电压达到高电平阈值的时间差,就是RC复位电路的延迟。

如果你的项目对上电时间没什么要求,只要求稳定可靠就行,

RC复位就是一个最低成本的增加复位延迟的方法。

除了上电复位,还有一个就是掉电复位,或者是说,在VCC电压波动的时候的复位,下图就是电压波动的时候的复位时序。

电压

电压

在应对掉电复位的时候,RC复位电路可能会没有办法完成RC延迟的作用,因为放电可能会过于缓慢,复位管脚上的电压没办法迅速跟上VCC的电压,例如电压跌落测试,VCC上电压跌落和爬升速率会非常的快,以至于RC根本就不起作用,MCU有可能就会因为复位不够充分导致异常。

这个时候通用的做法就要引入二极管,做一个RCD电路。

电压

电压

这个二极管可以快速给电容放电,尽量使复位管脚的电压跟上VCC的电压。

是的,这里用的是尽量这个词,因为二极管导通的前提是两端的电压差超过你的二极管压降,即使你是用的是肖特基二极管,复位管脚和VCC的电压差也至少会有0.2-0.3V,这样的也会减少实际减少RC延迟的功效,你又要被迫增大RC值。

RC复位其实还有一个问题,RC电路并没有增大MCU实际复位延迟。

在复位管脚来到2V之后,还要继续爬升到2.4V,ADC才能工作,如果你的电压爬升率实在太过于缓慢,你就只能增加RC值去拉拉大RC的延迟,如果只是加大电阻不增加电容,上拉电阻的电流过小会导致你的复位管脚特别容易被干扰,而如果增大电容,反而让本来就不快的电压爬升率更加苟延残喘了。

所以,当你需要一次性简单快捷的解决上面所说到的复位问题的时候,就是需要加钱上电压检测芯片。

电压检测芯片通常采用的是比较器的方式,精准检测VCC电压。

电压

电压

在需要的时候输出确定的复位延迟,无论是上电还是掉电,只要电压低过阈值,芯片就会拉住MCU复位管脚的电压,让其不能工作,只要超过阈值的时候,才会时MCU充分复位,例如国产圣邦微的SGM80系列。

电压

电压

SOT23的超小封装,多种固定复位电压可选,超过150ms的复位时间,可以让MCU充分复位,如果需要精确复位电压,还有SGM82系列,从2.2到6V,0.1V的1.5%精度的电压步进值,让你复位更加的准确。

如果用复位芯片来解决我上面提到的问题,就可以直接选择一个2.4V,甚至超过2.4V的复位芯片,让VCC电压完全稳定后才进行复位,让MCU可以工作在一个可靠的电压,即使上下电测试也不惧怕哦~

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分