復(fù)位原理:
開機的時候為什么為復(fù)位在電路圖中,電容的的大小是10uf,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。也就是說在電腦啟動的0.1S內(nèi),電容兩端的電壓時在0~3.5V增加。這個時候10K電阻兩端的電壓為從5~1.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機0.1S內(nèi),單片機系統(tǒng)自動復(fù)位(RST引腳接收到的高電平信號時間為0.1S左右)。
按鍵按下的時候為什么會復(fù)位在單片機啟動0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時候,開關(guān)導(dǎo)通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統(tǒng)自動復(fù)位。
總結(jié):
1、復(fù)位電路的原理是單片機RST引腳接收到2US以上的電平信號,只要保證電容的充放電時間大于2US,即可實現(xiàn)復(fù)位,所以電路中的電容值是可以改變的。
2、按鍵按下系統(tǒng)復(fù)位,是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。
單片機上電復(fù)位電路圖(一)
下面幾種延時復(fù)位電路,都是利用在單片機RST引腳上外接一個RC支路的充電時間而形成的。典型復(fù)位電路如圖(a)所示,其中的阻容值是原始手冊中提供的。圖(b)是簡化后的復(fù)位電路,圖(c)在圖(a)的基礎(chǔ)上加上一個二極管D,有助于電容C的快速放電,為下一次上電復(fù)位延時做準備。在經(jīng)歷了一系列延時之后,單片機才開始按照時鐘源的工作頻率,進入到正常的程序運行狀態(tài)。
單片機上電復(fù)位電路圖(二)
復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。
(1)上電復(fù)位:STC89系列單片及為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個電容到VCC,再連接一個電阻到GND,由此形成一個RC充放電回路保證單片機在上電時RST腳上有足夠時間的高電平進行復(fù)位,隨后回歸到低電平進入正常工作狀態(tài),這個電阻和電容的典型值為10K和10uF。
(2)按鍵復(fù)位:按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個開關(guān),當(dāng)開關(guān)按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。
單片機上電復(fù)位電路圖(三)
單片機上電復(fù)位電路如圖3所示,請回答下列問題:
(1) 該復(fù)位電路適用于高電平復(fù)位還是低電平復(fù)位?
(2) 試述復(fù)位原理,畫出上電時Vc的波形;
(3) 試述二極管D的作用。
圖3 RC復(fù)位電路
答案:(1)低電平復(fù)位。
(2)在圖3中,CPU上電時,但由于電容C兩端的電壓VC不能突變,因此VC保持低電平。但隨著電容C的充電,VC不斷上升,上升曲線如圖4所示。只要選擇合適的R和C,VC就可以在CPU復(fù)位電壓以下持續(xù)足夠的時間使CPU復(fù)位。復(fù)位之后,VC上升至電源電壓,CPU開始正常工作。相當(dāng)于在CPU上電時,自動產(chǎn)生了一個一定寬度的低電平脈沖信號,使CPU復(fù)位。
圖4 RC充放電曲線
(3) 當(dāng)電源電壓消失時,二極管D為電容C提供一個迅速放電的回路,使/RESET端迅速回零,以便下次上電時CPU能可靠復(fù)位。
這是一個非常重要的知識點,如果CPU的復(fù)位電路設(shè)計得不合理將會導(dǎo)致CPU嚴重死機,并且影響與CPU有關(guān)的外圍器件的穩(wěn)定性,比如存儲器上電丟失數(shù)據(jù)。
單片機上電復(fù)位電路圖(四)
(1)復(fù)位電路原理圖:
(2)原理:
復(fù)位條件:RST引腳高電平(大于1.5v)時間大于0.1s后復(fù)位
兩種復(fù)位的原理:
a:開機時復(fù)位原理
單片機接上電源后,電容會開始充電,兩邊的電壓會從0v上升到5v,同時電阻兩邊的電壓(RST引腳電壓)會從5v下降到0v。電容兩邊電壓從0v上升到3.5v(電源電壓的0.7倍)所用的時間為10k*10uF=0.1s,在這0.1s內(nèi)引腳為高電平,之后就會一直是低電平。開機因為滿足復(fù)位條件,所以單片機復(fù)位。
b:復(fù)位按鈕復(fù)位
假如按住復(fù)位按鈕的時間是0.1s,則電容兩邊電壓會從5v下降到1.5v。之后因為按鈕松開段路,電容又從1.5v上升到5v。只要電容電壓小于3.5v,RST引腳便是高電平,所以理論上只要開關(guān)閉合0.1s,就足夠使單片機復(fù)位了。
單片機上電復(fù)位電路圖(五)
復(fù)位電路設(shè)計
AT89S51的復(fù)位是由外部的復(fù)位電路實現(xiàn)的。AT89S51片內(nèi)復(fù)位電路結(jié)構(gòu)如圖2-17所示。
復(fù)位引腳RST通過一個施密特觸發(fā)器與復(fù)位電路相連,施密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2:施密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。
復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。
最簡單的上電自動復(fù)位電路如圖2-18所示。對于CMOS型單片機,由于在RST引腳內(nèi)部有一個下拉電阻,故可將電阻R去掉,而將電容C選為10 μF。
上電自動復(fù)位是通過外部復(fù)位電路給電容C充電加至RST引腳一個短的高電平信號,此信號隨著VCC對電容C的充電過程而逐漸回落,即RST引腳上的高電平持續(xù)時間取決于電容C的充電時間。因此為保證系統(tǒng)能可靠地復(fù)位,RST引腳上的高電平必須維持足夠長的時間。
除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。按鍵手動復(fù)位有電平和脈沖兩種方式。
按鍵手動電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通來實現(xiàn),具體電路如圖2-19所示。當(dāng)時鐘頻率選用6 MHz時,C的典型取值為10μF,R取值為2kΩ。
脈沖復(fù)位是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的,脈沖復(fù)位電路如圖2-20所示。圖中的阻容參數(shù)適于6 MHz時鐘。
圖2-21所示電路能輸出高、低兩種電平的復(fù)位控制信號,以適應(yīng)外圍I/O接口芯片所要求的不同復(fù)位電平信號。圖2-21中,74LS122為單穩(wěn)電路。實驗表明,電容C選擇約為0.1μF較好。
在實際應(yīng)用系統(tǒng)設(shè)計中,若有外部擴展的I/O接口電路也需初始復(fù)位,如果它們的復(fù)位端和AT89S51的復(fù)位端相連,復(fù)位電路中的R、C參數(shù)要受到影響,這時復(fù)位電路中的R、C參數(shù)要統(tǒng)一考慮,以保證可靠復(fù)位。如果AT89S51與外圍I/O接口電路的復(fù)位電路和復(fù)位時間不完全一致,使單片機初始化程序不能正常運行,外圍I/O接口電路的復(fù)位也可以不與AT89S51復(fù)位端相連,采用獨立的上電復(fù)位電路。若RC上電復(fù)位電路接施密特電路輸入端,施密特電路輸出接AT89S51和外圍電路復(fù)位端,則能使系統(tǒng)可靠地同步復(fù)位。一般來說,單片機的復(fù)位速度比外圍I/O接口電路快些。為保證系統(tǒng)可靠復(fù)位,在初始化程序中應(yīng)安排一定的復(fù)位延遲時間。
單片機上電復(fù)位電路圖(六)
積分型上電復(fù)位
常用的上電或開關(guān)復(fù)位電路如圖3所示。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當(dāng)單片機已在運行當(dāng)中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或開關(guān)復(fù)位的操作。
根據(jù)實際操作的經(jīng)驗,下面給出這種復(fù)位電路的電容、電阻參考值。
圖3中:C:=1uF,Rl=lk,R2=10k
專用芯片復(fù)位電路
上電復(fù)位電路 在控制系統(tǒng)中的作用是啟動單片機開始工作。但在電源上電以及在正常工作時電壓異常或干擾時,電源會有一些不穩(wěn)定的因素,為單片機工作的穩(wěn)定性可能帶來嚴重的影響。因此,在電源上電時延時輸出給芯片輸出一復(fù)位信號。上復(fù)位電路另一個作用是,*正常工作時電源電壓。若電源有異常則會進行強制復(fù)位。復(fù)位輸出腳輸出低電平需要持續(xù)三個(12/fc s)或者更多的指令周期,復(fù)位程序開始初始化芯片內(nèi)部的初始狀態(tài)。等待接受輸入信號(若如遙控器的信號等)。
上電復(fù)位電路原理分析
5V電源通過MC34064的2腳輸入,1腳便可輸出一個上升沿,觸發(fā)芯片的復(fù)位腳。電解電容C13是調(diào)節(jié)復(fù)位延時時間的。當(dāng)電源關(guān)斷時,電解電容C13上的殘留電荷通過D13和MC34064內(nèi)部電路構(gòu)成回路,釋放掉電荷。以備下次復(fù)位啟用。
單片機上電復(fù)位電路圖(七)
比較器型復(fù)位電路
比較器型復(fù)位電路的基本原理如圖8所示。上電復(fù)位時,由于組成了一個RC低通網(wǎng)絡(luò),所以比較器的正相輸入端的電壓比負相端輸入電壓延遲一定時間。而比較器的負相端網(wǎng)絡(luò)的時間常數(shù)遠遠小于正相端RC網(wǎng)絡(luò)的時間常數(shù),因此在正端電壓還沒有超過負端電壓時,比較器輸出低電平,經(jīng)反相器后產(chǎn)生高電平。復(fù)位脈沖的寬度主要取決于正常電壓上升的速度。由于負端電壓放電回路時間常數(shù)較大,因此對電源電壓的波動不敏感。但是容易產(chǎn)生以下二種不利現(xiàn)象:(1)電源二次開關(guān)間隔太短時,復(fù)位不可靠;(2)當(dāng)電源電壓中有浪涌現(xiàn)象時,可能在浪涌消失后不能產(chǎn)生復(fù)位脈沖。為此,將改進比較器重定電路,如圖9所示。這個改進電路可以消除第一種現(xiàn)象,并減少第二種現(xiàn)象的產(chǎn)生。為了徹底消除這二種現(xiàn)象,可以利用數(shù)字邏輯的方法與比較器配合,設(shè)計如圖9所示的比較器重定電路。此電路稍加改進即可作為上電復(fù)位與看門狗復(fù)位電路共同復(fù)位的電路,大大提高了復(fù)位的可靠性。
改進型比較器型復(fù)位電路
單片機上電復(fù)位電路圖(八):手動按鈕復(fù)位
手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當(dāng)人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求。
單片機上電復(fù)位電路圖(九):看門狗型復(fù)位電路
看門狗型復(fù)位電路主要利用CPU正常工作時,定時復(fù)位計數(shù)器,使得計數(shù)器的值不超過某一值;當(dāng)CPU不能正常工作時,由于計數(shù)器不能被復(fù)位,因此其計數(shù)會超過某一值,從而產(chǎn)生復(fù)位脈沖,使得CPU恢復(fù)正常工作狀態(tài)。典型應(yīng)用的Watchdog復(fù)位電路如圖7所示。此復(fù)位電路的可靠性主要取決于軟件設(shè)計,即將定時向復(fù)位電路發(fā)出脈沖的程序放在何處。一般設(shè)計,將此段程序放在定時器中斷服務(wù)子程序中。然而,有時這種設(shè)計仍然會引起程序走飛或工作不正常。原因主要是:當(dāng)程序“走飛”發(fā)生時定時器初始化以及開中斷之后的話,這種“走飛”情況就有可能不能由Watchdog復(fù)位電路校正回來。因為定時器中斷一真在產(chǎn)生,即使程序不正常,Watchdog也能被正常復(fù)位。為此提出定時器加預(yù)設(shè)的設(shè)計方法。即在初始化時壓入堆棧一個地址,在此地址內(nèi)執(zhí)行的是一條關(guān)中斷和一條死循環(huán)語句。在所有不被程序代碼占用的地址盡可能地用子程序返回指令RET代替。這樣,當(dāng)程序走飛后,其進入陷阱的可能性將大大增加。而一旦進入陷阱,定時器停止工作并且關(guān)閉中斷,從而使Watchdog復(fù)位電路會產(chǎn)生一個復(fù)位脈沖將CPU復(fù)位。當(dāng)然這種技術(shù)用于實時性較強的控制或處理軟件中有一定的困難。
評論