簡介
復位電路,就是 利用它把電路恢復到起始狀態。就像計算器的清零按鈕的作用一樣,當你進行完了一個題目的計算後肯定是要清零的是吧!或者你輸入錯誤,計算失誤時都 要進行清零操作。以便回到原始狀態,重新進行計算。和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬上進行復位操作;二是在必要時可以由手動操作;三是根據程式或者電路運行的需要自動地進行。篡位電路都 是比較簡單的大都是只有電阻和電容組合就可以辦到了。再複雜點就有三極體等等配合程式來進行了。
為確保微機系統中電路穩定可靠工作,復位電路是必不可少的一部分,復位電路的第一功能是上電復位。一般微機電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由於微機電路是時序數字電路,它需要穩定的時鐘信號,因此在電源上電時,只有當VCC超過4.75V低於5.25V以及晶體振盪器穩定工作時,復位信號才被撤除,微機電路開始正常工作。
方式
單片機在啟動時都需要復位,以使CPU及系統各部件處於確定的初始狀態,並從初態開始工作。89系列單片機的復位信號是從RST引腳輸入到晶片內的施密特觸發器中的。當系統處於正常工作狀態時,且振盪器穩定後,如果RST引腳上有一個高電平並維持2個機器周期(24個振盪周期)以上,則CPU就可以回響並將系統復位。單片機系統的復位方式有:手動按鈕復位和上電復位。
1、手動按鈕復位
手動按鈕復位需要人為在復位輸入端RST上加入高電平(圖1)。一般採用的辦法是在RST端和正電源Vcc之間接一個按鈕。當人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復位的電路如所示。由於人的動作再快也會使按鈕保持接通達數十毫秒,所以,完全能夠滿足復位的時間要求。
2、上電復位
AT89C51的上電復位電路如圖2所示,只要在RST復位輸入引腳上接一電容至Vcc端,下接一個電阻到地即可。對於CMOS型單片機,由於在RST端內部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復位的工作過程是在加電時,復位電路通過電 容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續時間取決於電容的充電時間。為了保證系統能夠可靠地復位,RST端的高電平信號必須維持足夠長的時間。上電時,Vcc的上升時間約為10ms,而振盪器的起振時間取決於振盪頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。在圖2的復位電路中,當Vcc掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由於內部電路的限制作用,這個負電壓將不會對器件產生損害。另外,在復位期間,連線埠引腳處於隨機狀態,復位後,系統將連線埠置為全“l”態。如果系統在上電時得不到有效的復位,則程式計數器PC將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執行程式。
3、積分型上電復位
常用的上電或開關復位電路如圖3所示。上電後,由於電容C3的充電和反相門的作用,使RST持續一段時間的高電平。當單片機已在運行當中時,按下復位鍵K後鬆開,也能使RST為一段時間的高電平,從而實現上電或開關復位的操作。
根據實際操作的經驗,下面給出這種復位電路的電容、電阻參考值。
C=1uF,Rl=lk,R2=10k
分類
單片機復位電路主要有四種類型:
(1)微分型復位電路:
(2)積分型復位電路:
(3)比較器型復位電路:
比較器型復位電路的基本原理。上電復位時,由於組成了一個RC低通網路,所以比較器的正相輸入端的電壓比負相端輸入電壓延遲一定時間.而比較器的負相端網路的時間常數遠遠小於正相端RC網路的時間常數,因此在正端電壓還沒有超過負端電壓時,比較器輸出低電平,經反相器後產生高電平.復位脈衝的寬度主要取決於正常電壓上升的速度.由於負端電壓放電迴路時間常數較大,因此對電源電壓的波動不敏感.但是容易產生以下二種不利現象:
(1)電源二次開關間隔太短時,復位不可靠:
(2)當電源電壓中有浪湧現象時,可能在浪涌消失後不能產生復位脈衝。
為此,將改進比較器重定電路,如圖9所示.這個改進電路可以消除第一種現象,並減少第二種現象的產生.為了徹底消除這二種現象,可以利用數字邏輯的方法和比較器配合,設計的比較器重定電路。此電路稍加改進即可作為上電復位和看門狗復位電路共同復位的電路,大大提高了復位的可靠性。
(4)看門狗型復位電路.
看門狗型復位電路主要利用CPU正常工作時,定時復位計數器,使得計數器的值不超過某一值;當CPU不能正常工作時,由於計數器不能被復位,因此其計數會超過某一值,從而產生復位脈衝,使得CPU恢復正常工作狀態.此復位電路的可靠性主要取決於軟體設計,即將定時向復位電路發出脈衝的程式放在何處.一般設計,將此段程式放在定時器中斷服務子程式中.然而,有時這種設計仍然會引起程式走飛或工作不正常.原因主要是:當程式"走飛"發生時定時器初始化以及開中斷之後的話,這種"走飛"情況就有可能不能由Watchdog復位電路校正回來.因為定時器中斷一真在產生,即使程式不正常,Watchdog也能被正常復位.為此提出定時器加預設的設計方法.即在初始化時壓入堆疊一個地址,在此地址內執行的是一條關中斷和一條死循環語句.在所有不被程式代碼占用的地址儘可能地用子程式返回指令RET代替.這樣,當程式走飛後,其進入陷阱的可能性將大大增加.而一旦進入陷阱,定時器停止工作並且關閉中斷,從而使Watchdog復位電路會產生一個復位脈衝將CPU復位.當然這種技術用於實時性較強的控制或處理軟體中有一定的困難。