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