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