1.上电复位电路的作用
单片机正常工作需要稳定的时钟信号,在上电阶段,复位电路为单片机提供复位信号,让单片机在复位状态保持一段时间,等待时钟信号等稳定后然后退出复位状态,进入正常工作状态。常见的复位电路有RC复位电路,复位时间由RC电路的时间常数决定,正确选择复位电路的参数才能保证单片机系统正常工作。
2.RC复位电路工作原理
STM32的复位引脚低电平有效,常选用RC复位电路,由一个电阻和电容构成,如图1所示,
①系统刚上电时,VDD通过电阻R给电容C充电,电容C上面没有电荷积累,电容两端没有电压,相当于短路,此时充电电流最大;②随着电荷在电容C上的积累,电容两端的电压逐渐升高,充电电流减小,充电的速率逐渐变缓;③最终电容两端的电压等于VDD,此时电流为0,电阻R上没有压降。其变化过程如图2所示,
复位引脚NRST上的电压小于有效复位电压时,STM32处于复位状态,大于有效复位电压时,退出复位状态。有效STM32F103的有效复位电压=0.8V,复位引脚上的电压小于
小于
时,就会触发系统复位。
记该RC复位电路的输入电压为 ,电容电压为
,充电电流为
,电容两端的电荷量为
,电容值为
,电阻值为
,根据基尔霍夫电压定律,
等价于,
解上述的微分方程得,
充电电流为,
电容两端的电压,
其中RC为时间常数,单位为秒。电容充电电流在0时刻最大,然后逐渐下降;电容电压逐渐增加,至无穷时刻增至Uo。3~5个RC时间可认为电容充满。充电电流及电容电压与时间的关系如表1所示,
<center>表1 充电电流及电容电压与时间的关系</center>
0 | 0 | |
RC | ||
3RC | ||
0 |
如果电阻R取值10K,电容C取值为0.1uF,那么时间常数RC=1ms,在3~5ms的时间电容充电完毕。
3.测试验证
搭建图1所示RC复位电路进行测试,RC复位电路中电阻R=10KΩ,电容C=0.1μF,时间常数=RC=10KΩ*0.1μF=1ms,
=3.3V。测试复位引脚NRST的电压曲线,波形如图3所示,
由图3可知,在上电初始时,,在经过275μs后,
,即275μs后,STM32已经退出复位状态,在经过3ms之后,复位引脚电压
,即3~5个
的时间,电容基本充满,
。通过调整电阻R和电容C的值,RC复位电路具有不同的时间常数,时间常数越大,
上升的速率越缓慢,从而获得不同的复位时间。