一.前言
大家對于最小系統都再熟悉不過了,最小系統中不可少的一部分就是復位電路,為什么需要復位電路呢?這是因為MCU因為各種原因比如軟件BUG,可能會出現“跑飛的情況”,所謂跑飛指的是MCU處于失控狀態,復位電路的存在就是為了讓MCU跑飛時重新從一個已知的狀態重新啟動,舉個例子就像比如你本來在沿著一條固定的路線去一個地方,走到一半時你大腦開小差走錯了路,你又不知道該怎么往下走,這時候復位一下,就相當于把你重新放回出發的起點,重新走一遍。復位會使得內部的寄存器以及IO口都重新回到一個確定的初始狀態。如果使能了看門狗,那么看門狗也會重啟。
二.原理講解以及器件選型計算
一般來說,當電路中噪聲較小時,選用RC阻容復位電路即可,電阻Rres和電容Cres的值決定了復位時間,那我們對復位時間有什么要求呢?我們的主要考量點是在復位時間內,VDD能達到MCU所需的最低正常工作電壓,MCU能進入穩定狀態,同時當電源下電時,電容中的電量能盡快釋放掉。
對于C51單片機,MCU達到穩定狀態的條件一般有兩個,一個是晶振穩定起振,另一個是VDD電壓滿足MCU規格書要求的額定值,當這兩個條件都達到后,復位狀態再保持兩個機器周期的時間確保MCU內核穩定工作,一個周期相當于12個時鐘周期。當復位信號結束后,程序就會開始運行。
確定了需要的復位時間,我們就能根據復位時間來確認復位電路電阻和電容值。根據電容充電的公式我們可以得到充電時間和充電電壓的關系:
t=RxCxLn[(VCC-V0)/(VCC-Vt)]
舉個例子:比如某芯片的復位電壓是2V,復位電阻是10K,復位電容是100nF,那么上電復位持續的時間計算如下:
t=(10x103)x(0.1x10-6)xLn[(3.3-0)/(3.3-2.0)]=0.931ms;
然后可以根據需要的復位時間調整電容,電容值即可。
三.總結
復位電路很重要,復位電路決定了復位時間,復位時間又決定了你的MCU能不能順利重啟,所以不要簡單的抄別人的復位電路,要弄懂其中的緣由才是最重要的。
-
mcu
+關注
關注
146文章
17019瀏覽量
350374 -
復位電路
+關注
關注
13文章
322瀏覽量
44545 -
器件選型
+關注
關注
3文章
14瀏覽量
11045
發布評論請先 登錄
相關推薦
評論