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