單片機(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)的控制或處理軟件中有一定的困難。
評(píng)論
查看更多