当电容器接上电源后,在电场力的作用下,接在电源正极的电容器极板上的自由电子将通过电源移动到接在电源负极的极板上。正极因失去负电荷而带正电,负极因获得负电荷而带负电。正、负极板上的电荷大小相等,符号相反。电荷的定向运动就形成电流。由于同性电荷相斥,所以电流开始时最大,以后逐渐减小。在电荷移动过程中,电容器极板上储存的电荷不断增加。当电容器两极板之间的电压Uc等于电源电压U时,电荷停止移动,电流为0。
图 1. 电容器充电过程 – 自由电子通过电源的运动
如图1所示,当给定一个电压值U时,电路必须满足基尔霍夫电压定律,于是电容两端的电压被迫发生跳变,其值变为U。因此,图1电路的充电时间极短,几乎为零。
2. RC电路作为芯片复位电路
(1)RC电路充电
图2. RC电路电容充电过程
[1] 当 U = 0 时,电路闭合。点 nRst 与任何其他点之间均无电位差。
[2]当在U上加电压的瞬间,电容器正极板上的电子经电源传到负极板上,这样就形成回路了。此时电源电压U的值就会分布在电阻R和电容器C上,nRst点的电压等于电容器正极板的电压值。
[3] 随着自由电子的移动,电容器充满电,不再有电流,这意味着电路中没有路径。此时,V = U,电阻器相当于导线。点 nRst 与电容器负极之间的电位差为 U。
RC电路电容的充电过程也很短,但比纯C电路要长。这个时间可以用基尔霍夫定律计算出来:
R * I(t)+ V(T)= U
I(t)= C * dV(t)/ dt
必须
R * C dV(t)/ dt + V(T)= U (1)
这是一个一阶线性非齐次(U != 0)微分方程。
首先,我们来讨论一下(1)中对应的齐次方程:
R * C dV(t)/ dt + V(T)= 0
分离变量
dV(t) / V(t) = – dt / RC
将两边积分可得
lnV(t) = (- 1 / RC) Sdt + lnc
必须
V(t) = e-(t/RC) + lnc
= A * e-(t/RC)
对等式两边求导,可得:
dV(t)/dt = -(A/RC) * e-(t/RC)
然后将上式代入(1)可得
V(t)= U + A * e-(t / RC)
经过抄袭和请教,终于解出了这个方程。当V(t) = U时,表示电容充电过程完成。这个时间与R * C值有关。
(2)RC电路作为芯片复位电路
通过复位引脚复位芯片(如STM32103),需要满足两点【具体要求以芯片手册为准】:
复位脚为低电平(电压小于3.3V)
保存足够长的时间(具体时间见手册)
图 3. RC 电路复位电路图
[1]当3.3V电源加到图示位置时,RC电路导通,nRST与地之间的电位差就是电容与地之间的电位差。电容充满电后nRST与地之间的电位差才会达到3.3V,所以电容充电过程中,到芯片引脚的信号为低电平。根据RC电路充电方程V(t)=U+A*e-(t/RC),只要合理选择R、C的值,就能保证充电时间大于芯片复位所需的时间。查看e-(t/RC)的衰减曲线:
图4. A*e-(t/RC)衰变过程
虽然A应该为负值,但是上图可以显示出它的衰减过程,可以看出当t=4RC时,整个表达式的值已经非常接近0了。所以电路中只要4RC乘积大于芯片需要的复位时间就可以了。考虑到电容充电过程中U电压要尽量分摊到电阻R上,电阻R的值要选大一点。图中4RC=4*10000*10^-5s=0.4s。这样比按键复位更有保障。
[2] 电路上电后,也就是电容充满电后,如果要复位芯片,只需按一下P33即可。在按P33的过程中,nRST接地。人类按键的速度大于10ms(按键程序采用10ms来消除抖动),而一般芯片复位所需的时间相对较短,应该远远小于10ms。因此按键复位可以保证芯片的复位。
这就是利用RC电路做芯片复位的常见原理,分为上电复位和按键复位。