小小的“复位电路”,大有门道

经常看到很多51单片机和STM32的开发板上都会设计有“复位电路”

如下图常见的:

图1

图2

以上图1和图2是51和32系统中最常用的复位电路,思考问题如下:

(1)就这几个器件,怎么实现复位的?按键的作用是啥?

(2)图中的电阻电容大小怎么来的?

在大学时,核桃第一次见到复位电路的时候:

先记住一点:图1是51单片机上用的复位电路(高电平复位),图2是STM32上用的复位电路(低电平复位)。

那都是复位电路,为什么不一样?

我们先看51单片机和STM32的手册,如下图3和图4所示:

图3

图4

从图3和图4很明显可以看出,STC89C51单片机是高电平复位的,STM32是低电平复位的,至于时间我们后面再算,我们暂时先不看,我们先处理第一个问题。

一:这几个器件怎么实现复位的

(1)STC89C51

(2)STM32

二:电阻电容的大小怎么选?

由图1和图2可以看出其实复位电路就是RC充放电电路

根据RC的时间常数:

τ=RC (τ发音tao第四声)      

 RC电路的充电放电公式如下:

 

其中Vt表示t时刻电容上的电压

V0为电容初始状态的电压值

V1为电容充满电的电压值或者放完的电压值

E 为电源电压;

当t= 1RC时,电容电压=0.63V1;

当t= 2RC时,电容电压=0.86V1;

当t= 3RC时,电容电压=0.90V1;

当t= 4RC时,电容电压=0.98V1;

当t= 5RC时,电容电压=0.99V1;

经过3~5个RC后,充电过程基本结束。

在充电时,电源电压E通过电阻R向C进行充电(电容的初始值V0=0,V1=E)则可得到充电公式:

在放电时,初始值电压为E通过R进行放电,此时V0=E,V1=0。则可得到放电公式:

51单片机复位条件:RST高电平持续24个时钟加10us,约为12us(按照单片机的晶振频率12MHZ来计算的话一个时钟为1/12us,24个时钟就是2us),看51单片机的手册也可知,如下图3:

51单片机复位电压:大于3V,那也就是说上电瞬间RST的电压大于3V,且继续时间大于12us就行,那这个12us就是RC电路需要的充放电时间 

我们根据图1可知RST电压等于电阻R1的电压VR,而VR我们需要3V以上才能保证单片机正常复位,所以我们只需要求C1的电压被充电到超过2V的这段时间即可,说白了就是VR(RST的电压)从5V降到3V以下而且满足时间12us即可。

图1

我们用图1中的C1=10uF,R1=10K,来计算一下:

RC=10uF*10K=0.1s   我们套用公式:T=RCln(V1/V1-Vt)

V1=5V,Vt=2V。RC=0.1s   可以得到:

T=0.1ln(5/5-2)=51ms      远远超过12us  满足单片机复位条件。

所以电阻R=10K,电容C=10uF,是完全满足51单片机复位条件的,也可以从手册中看出这个取值是没有问题的,如下图所示:

好了,学会计算51单片机的复位电路电阻电容的取值,相信小伙伴们对于STM32的复位电路的取值也是能计算出来的,在此就不在重复计算过程了,小伙们可以尝试计算一下。

最后,再看另一个复位电路,如下:

上图中加上D1的作用是什么呢?这个就留给小伙伴们思考了,知道原因的小伙伴可以评论区聊聊

好了,今天就先写到这吧!

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 6
收藏 8
关注 86
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧