是的。
在由單片機(jī)構(gòu)成的微型計(jì)算機(jī)系統(tǒng)中,由于單片機(jī)的工作常常會(huì)受到來自外界電磁場(chǎng)的干擾,造成程序的跑飛,而陷入死循環(huán),程序的正常運(yùn)行被打斷,由單片機(jī)控制的系統(tǒng)無法繼續(xù)工作,會(huì)造成整個(gè)系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果,所以出于對(duì)單片機(jī)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)的考慮,便產(chǎn)生了一種專門用于監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱“看門狗”(watchdog)。
看門狗電路的作用
看門狗定時(shí)器是一個(gè)計(jì)數(shù)器,基本功能是在發(fā)生軟件問題和程序跑飛后使系統(tǒng)重新啟動(dòng)??撮T狗計(jì)數(shù)器正常工作時(shí)自動(dòng)計(jì)數(shù),程序流程定期將其復(fù)位清零,如果系統(tǒng)在某處卡死或跑飛,該定時(shí)器將溢出,并將進(jìn)入中斷。在定時(shí)器中斷中執(zhí)行一些復(fù)位操作,使系統(tǒng)恢復(fù)正常的工作狀態(tài),即在程序沒有正常運(yùn)行期間,如期復(fù)位看門狗以保證所選擇的定時(shí)溢出歸零,使處理器重新啟動(dòng)。軟件的可靠性一直是一個(gè)關(guān)鍵問題。任何使用軟件的人都可能會(huì)經(jīng)歷計(jì)算機(jī)死機(jī)或程序跑飛的問題,這種情況在嵌入式系統(tǒng)中也同樣存在。由于單片機(jī)的抗干擾能力有限,在工業(yè)現(xiàn)場(chǎng)的儀器儀表中,常會(huì)由于電壓不穩(wěn)、電弧干擾等造成死機(jī)。在水表、電表等無人看守的情況下,也會(huì)因系統(tǒng)遭受干擾而無法重啟。為了保證系統(tǒng)在干擾后能自動(dòng)恢復(fù)正常,看門狗定時(shí)器(WatchdogTImer)的利用是很有價(jià)值的。