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