这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » MCU工作电压有关的复位

共3条 1/1 1 跳转至

MCU工作电压有关的复位

工程师
2022-10-15 23:17:54     打赏

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

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

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

31fd8c26-3ed7-11ed-9e49-dac502259ad0.png

32297980-3ed7-11ed-9e49-dac502259ad0.png

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

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

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

32532eb0-3ed7-11ed-9e49-dac502259ad0.png

326efd70-3ed7-11ed-9e49-dac502259ad0.png

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

32b34f7a-3ed7-11ed-9e49-dac502259ad0.png

32eaa2f4-3ed7-11ed-9e49-dac502259ad0.png

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

3307e17a-3ed7-11ed-9e49-dac502259ad0.png

332a31b2-3ed7-11ed-9e49-dac502259ad0.png

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

我们再来看一个图,

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

3366b722-3ed7-11ed-9e49-dac502259ad0.png

337fd6f8-3ed7-11ed-9e49-dac502259ad0.png

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

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

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

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

33a89c00-3ed7-11ed-9e49-dac502259ad0.png

33d62a8a-3ed7-11ed-9e49-dac502259ad0.png

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

33f71eca-3ed7-11ed-9e49-dac502259ad0.png

3434e552-3ed7-11ed-9e49-dac502259ad0.png

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

345a9ca2-3ed7-11ed-9e49-dac502259ad0.png

3497212c-3ed7-11ed-9e49-dac502259ad0.png

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

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

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

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

34cdaf94-3ed7-11ed-9e49-dac502259ad0.png

34ee27c4-3ed7-11ed-9e49-dac502259ad0.png

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

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

3510476e-3ed7-11ed-9e49-dac502259ad0.png

35529768-3ed7-11ed-9e49-dac502259ad0.png

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

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

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

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

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

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

357a1e00-3ed7-11ed-9e49-dac502259ad0.png

35a25442-3ed7-11ed-9e49-dac502259ad0.png

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

35c02cba-3ed7-11ed-9e49-dac502259ad0.png

35f22b84-3ed7-11ed-9e49-dac502259ad0.png

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

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




高工
2022-10-16 13:27:37     打赏
2楼

感谢分享


高工
2022-10-16 22:07:36     打赏
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]