作者:英聯(lián)半導(dǎo)體 梁彬 為應(yīng)對(duì)日益復(fù)雜的處理任務(wù),越來越多的應(yīng)用會(huì)使用微處理器搭載各種操作系統(tǒng)的方案。操作系統(tǒng)的啟動(dòng)周期一般在十幾秒,有的甚至在一分鐘以上。另外,為保證在程序跑飛時(shí)系統(tǒng)可自恢復(fù),在許多對(duì)可靠性要求較高的應(yīng)用中,外置看門狗定時(shí)器也是不可或缺的。此類定時(shí)器的溢出周期一般為一兩秒。由于微處理器與看門狗芯片是同步上電,在看門狗定時(shí)器的溢出周期內(nèi)微處理器必須提供脈沖信號(hào)來喂狗,但若系統(tǒng)未完全啟動(dòng),又無法提供脈沖信號(hào),無脈沖信號(hào),看門狗溢出,系統(tǒng)復(fù)位……如此會(huì)進(jìn)入死鎖狀態(tài)。 在微處理器超長(zhǎng)啟動(dòng)周期中,如何有效的管理外部看門狗,本文將做詳細(xì)探討,并提供行之有效的參考設(shè)計(jì)電路。 微處理器多功能復(fù)位管理芯片 以UM706為例,這是一款微處理器多功能復(fù)位管理芯片,集看門狗定時(shí)器、按鍵復(fù)位、上電/掉電復(fù)位、電壓跌落預(yù)警等多種功能于一身,內(nèi)置抗干擾電路,性能穩(wěn)定可靠,適合對(duì)可靠性要求高的應(yīng)用場(chǎng)合。 ![]() 圖1. UM706內(nèi)部框圖 典型應(yīng)用 UM706的一個(gè)典型應(yīng)用如圖2所示。電路中,看門狗輸出與手動(dòng)復(fù)位輸入相連,微處理的復(fù)位觸發(fā)信號(hào)可以是上電/掉電、按鍵接地或看門狗定時(shí)器溢出。該電路非常簡(jiǎn)潔,可同時(shí)對(duì)多種復(fù)位信號(hào)進(jìn)行管理,但是缺點(diǎn)也很明顯,就是前文提到的,若微處理器啟動(dòng)周期超出看門狗溢出周期,復(fù)位信號(hào)將反復(fù)被觸發(fā),系統(tǒng)死鎖。 ![]() 圖2. 典型應(yīng)用 微處理器啟動(dòng)過程中禁止看門狗 針對(duì)圖2應(yīng)用電路的不足,巧妙的增加一個(gè)SPDT(單刀雙擲)模擬開關(guān)UM3157,可以實(shí)現(xiàn)在微處理器啟動(dòng)期間禁止看門狗。 ![]() 圖3. 利用SPDT模擬開關(guān)實(shí)現(xiàn)啟動(dòng)過程中禁止看門狗 UM706的規(guī)格書指明,當(dāng)看門狗輸入端WDI懸空或三態(tài)時(shí),看門狗禁止,內(nèi)部計(jì)數(shù)器停止計(jì)數(shù),輸出端WDO將保持高電平。充分利用這一特性,處理器啟動(dòng)期間,通過模擬開關(guān)使WDI選通到懸空通道(如圖4所示),看門狗禁止,不影響系統(tǒng)正常啟動(dòng);待系統(tǒng)啟動(dòng)完畢,連接EN的I/O引腳輸出控制電平,使WDI選通到另一I/O引腳,看門狗使能,實(shí)現(xiàn)正常的喂狗操作(如圖5所示)。另外,需特別注意的是,一般處理器上電后,I/O引腳默認(rèn)輸出高電平或低電平,無論哪種情況,只需保證啟動(dòng)期間WDI懸空即可,故圖3中NC與NO引腳哪個(gè)懸空,哪個(gè)接處理器I/O,視具體情況而定。 圖3的應(yīng)用電路,可以說非常實(shí)用,UM3157為SOT363封裝,尺寸僅2mm*2mm,成本非常低,占用處理器資源也很少,只需一根額外的I/O引腳控制模擬開關(guān)的通道選擇。 ![]() 圖4. 啟動(dòng)期間模擬開關(guān)狀態(tài) ![]() 圖5. 啟動(dòng)完畢模擬開關(guān)狀態(tài) 微處理器啟動(dòng)過程中的看門狗禁止周期設(shè)置 在某些應(yīng)用中,客戶希望啟動(dòng)過程也要在看門狗的監(jiān)控中,也就是說萬一系統(tǒng)啟動(dòng)失敗,看門狗可以自動(dòng)輸出復(fù)位信號(hào)讓系統(tǒng)重新啟動(dòng),這在網(wǎng)絡(luò)遠(yuǎn)程啟動(dòng),無人值守的狀況下非常必要。為實(shí)現(xiàn)這一目的,要求看門狗溢出周期至少要比系統(tǒng)啟動(dòng)周期長(zhǎng),但實(shí)際上市面上基本沒有溢出周期一分鐘以上的看門狗芯片。 如圖6所示,在圖3電路基礎(chǔ)上增加555定時(shí)器搭建的單穩(wěn)態(tài)觸發(fā)器,通過設(shè)置外部RC元件參數(shù),可靈活設(shè)置看門狗的禁止周期,若系統(tǒng)在預(yù)先由RC元件設(shè)定的時(shí)長(zhǎng)內(nèi)未完成啟動(dòng),看門狗重新被使能,再經(jīng)短暫的溢出周期后(UM706看門狗溢出周期典型值1.6秒),WDO輸出低電平,系統(tǒng)被復(fù)位,重新啟動(dòng),直至成功。 ![]() 圖6. 利用555定時(shí)器設(shè)置看門狗禁止周期 原理分析:無論何種原因觸發(fā)復(fù)位信號(hào),上電/掉電、按鍵接地或看門狗溢出, RESET輸出0電平,即555電路TRIG引腳的輸入信號(hào)vi為0電平,由于vi連接至555定時(shí)器內(nèi)部比較器的同相端,該比較器的反相端通過內(nèi)部分壓電路連接到1/3VCC,此時(shí)vi<1/3VCC,該比較器輸出為0,即內(nèi)部RS觸發(fā)器的置1端為0,則RS觸發(fā)器輸出1,OUT引腳輸出1,vo為1,模擬開關(guān)COM選通到懸空通道NO,看門狗禁止。與此同時(shí),555定時(shí)器內(nèi)部放電開關(guān)管由導(dǎo)通態(tài)變?yōu)榻刂箲B(tài),單穩(wěn)觸發(fā)器進(jìn)入暫穩(wěn)態(tài),電容C1開始充電,放電端電壓vc“緩慢”上升,如圖7所示。看門狗禁止周期Tw由R4和C1設(shè)定, ![]() 通常R的取值在幾百歐姆到幾兆歐之間,電容的取值范圍為幾百皮法到幾百微法,Tw的范圍為幾微妙到幾分鐘。但Tw越大,其精度和穩(wěn)定度也要下降。 當(dāng)放電端電壓vc>2/3 VCC,555定時(shí)器內(nèi)部RS觸發(fā)器置0端為0,RS觸發(fā)器輸出0,vo=0,模擬開關(guān)COM選通到通道NC,看門狗使能,若啟動(dòng)正常,微處理器可正常喂狗。與此同時(shí),555定時(shí)器內(nèi)部放電開關(guān)管由截止態(tài)變?yōu)閷?dǎo)通態(tài),單穩(wěn)觸發(fā)器進(jìn)入穩(wěn)態(tài)。 ![]() 圖7. 單穩(wěn)觸發(fā)器波形 圖6的應(yīng)用電路,本質(zhì)上是一種雙看門狗設(shè)計(jì),處理器啟動(dòng)過程中利用555定時(shí)器,對(duì)啟動(dòng)過程進(jìn)行長(zhǎng)看門狗周期管理;待啟動(dòng)完畢,電路自動(dòng)切換至UM706內(nèi)部看門狗,對(duì)程序運(yùn)行進(jìn)行短看門狗周期管理;其中,模擬開關(guān)UM3157起到橋梁的作用,把兩部分巧妙的組合成一個(gè)有機(jī)整體。 |