復(fù)位電路是一種用來使電路恢復(fù)到起始狀態(tài)的電路設(shè)備,它的操作原理與計(jì)算器有著異曲同工之妙,只是啟動(dòng)原理和手段有所不同。復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。就像計(jì)算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進(jìn)行計(jì)算。
和計(jì)算器清零按鈕有所不同的是,復(fù)位電路啟動(dòng)的手段有所不同。一是在給電路通電時(shí)馬上進(jìn)行復(fù)位操作;二是在必要時(shí)可以由手動(dòng)操作;三是根據(jù)程序或者電路運(yùn)行的需要自動(dòng)地進(jìn)行。復(fù)位電路都是比較簡(jiǎn)單的大都是只有電阻和電容組合就可以辦到了,再?gòu)?fù)雜點(diǎn)就有三極管等配合程序來進(jìn)行了。
簡(jiǎn)介
為確保微型計(jì)算機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才會(huì)撤除,微機(jī)電路開始正常工作。
概況
如果主板上沒有ISA總線,也就是8XX系列芯片組的主板,IDE的復(fù)位直接來自于南橋,在兩者之間通常也會(huì)有一個(gè)非門或是反向電子開關(guān),PCI總線的復(fù)位直接來自于南橋,有些主板會(huì)在兩者之間加有跟隨器,此跟隨器起緩沖延時(shí)作用。且pci的常態(tài)為3.3V 或5V,復(fù)位時(shí)為0V,AGP總線的復(fù)位信號(hào)和PCI總線的復(fù)位信號(hào)是同路產(chǎn)生。也有的主板AGP總線的復(fù)位也是由南橋直接供給,常態(tài)時(shí)為高電頻,復(fù)位時(shí)為低電頻,對(duì)于北橋的復(fù)位信號(hào)也是和PCI總線的復(fù)位信號(hào)同時(shí)產(chǎn)生,也就是說PCI總線的復(fù)位信號(hào),AGP總線的復(fù)位信號(hào)和北橋的復(fù)位信號(hào)通常是串在一根線上的,復(fù)位信號(hào)都相同,對(duì)于CPU的復(fù)位信號(hào),不同的主板都是由北橋供給,I/O的復(fù)位信號(hào)是由南橋直接供給,通常是3.3V或5V。在8XX系列芯片組的主板中,固件中心(B205)和時(shí)鐘發(fā)生器芯片也有復(fù)位信號(hào),且復(fù)位信號(hào)由南橋直接供給,常態(tài)為3.3V,復(fù)位時(shí)為0V。
復(fù)位電路工作原理如右圖所示,VCC上電時(shí),使電容C充電,在10K電阻上出現(xiàn)高電位電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,C充滿,10K電阻上電流降為0,電壓也為0,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下S22,C放電,放電結(jié)束后,在10K電阻上出現(xiàn)電壓,使得單片機(jī)進(jìn)入復(fù)位狀態(tài),直到
S松手,C充電完畢,隨后,單片機(jī)進(jìn)入工作狀態(tài)。
復(fù)位方式
單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。
1、手動(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í)間要求。
2、上電復(fù)位
AT89C51的上電復(fù)位電路如圖2所示,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電 容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如石英晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。在圖2的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。
3、積分型上電復(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ù)位電路的電容、電阻參考值。
C=1uF,Rl=lk,R2=10k
分類
單片機(jī)復(fù)位電路主要有四種類型:
(1)微分型復(fù)位電路。
(2)積分型復(fù)位電路。
(3)比較器型復(fù)位電路。
(4)看門狗型復(fù)位電路。
看門狗型復(fù)位電路主要利用CPU正常工作時(shí),定時(shí)復(fù)位計(jì)數(shù)器,使得計(jì)數(shù)器的值不超過某一設(shè)定的值;當(dāng)CPU不能正常工作時(shí),由于計(jì)數(shù)器不能被復(fù)位,因此其計(jì)數(shù)會(huì)超過某一值,從而產(chǎn)生復(fù)位脈沖,使得CPU恢復(fù)正常工作狀態(tài)。此復(fù)位電路的可靠性主要取決于軟件設(shè)計(jì),即將定時(shí)向復(fù)位電路發(fā)出脈沖的程序放在何處是最優(yōu)的設(shè)計(jì)。一般設(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)的控制或處理軟件中有一定的困難。
比較器型復(fù)位電路的基本原理。上電復(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ì)的比較器重定電路。此電路稍加改進(jìn)即可作為上電復(fù)位和看門狗復(fù)位電路共同復(fù)位的電路,大大提高了復(fù)位的可靠性。
參考資料 >