硬件型號:YourCeeTPS3820
系統(tǒng)版本:定時(shí)器系統(tǒng)
看門狗,又叫 watchdog,是一個(gè)定時(shí)器電路,看門狗的功能是定期的查看芯片內(nèi)部的情況,一旦發(fā)生錯(cuò)誤就向芯片發(fā)出重啟信號。
在由單片機(jī)構(gòu)成的微型計(jì)算機(jī)系統(tǒng)中,由于單片機(jī)的工作常常會受到來自外界電磁場的干擾,造成各種寄存器和內(nèi)存的數(shù)據(jù)混亂,會導(dǎo)致程序指針錯(cuò)誤,不在程序區(qū),取出錯(cuò)誤的程序指令等,都有可能會陷入死循環(huán),程序的正常運(yùn)行被打斷,由單片機(jī)控制的系統(tǒng)無法繼續(xù)正常工作,導(dǎo)致整個(gè)系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果。
看門狗,又叫 watchdog,從本質(zhì)上來說就是一個(gè)定時(shí)器電路,一般有一個(gè)輸入和一個(gè)輸出,其中輸入叫做喂狗,輸出一般連接到另外一個(gè)部分的復(fù)位端,一般是連接到單片機(jī)。 看門狗的功能是定期的查看芯片內(nèi)部的情況,一旦發(fā)生錯(cuò)誤就向芯片發(fā)出重啟信號??撮T狗命令在程序的中斷中擁有最高的優(yōu)先級。
看門狗是一種監(jiān)控系統(tǒng)的運(yùn)行狀況的手段,通過軟硬件結(jié)合的方式實(shí)現(xiàn)對系統(tǒng)運(yùn)行狀況的監(jiān)控。穩(wěn)定運(yùn)行的軟件會在執(zhí)行完特定指令后進(jìn)行喂狗,若在一定周期內(nèi)看門狗沒有收到來自軟件的喂狗信號,則認(rèn)為系統(tǒng)故障,會進(jìn)入中斷處理程序或強(qiáng)制系統(tǒng)復(fù)位。系統(tǒng)上電后根據(jù)不同的工作模式可以選擇使能看門狗的時(shí)機(jī),若看門狗被使能則計(jì)數(shù)器開始計(jì)數(shù),如果在設(shè)定的時(shí)間內(nèi)沒有及時(shí)喂狗則會發(fā)生看門狗超時(shí)。看門狗主要由寄存器、計(jì)數(shù)器和狗叫模塊構(gòu)成:通過寄存器對看門狗進(jìn)行基本設(shè)置,計(jì)數(shù)器計(jì)算狗叫時(shí)間,狗叫模塊決定看門狗超時(shí)后發(fā)出的中斷或復(fù)位方式。
看門狗電路的應(yīng)用,使單片機(jī)可以在無人狀態(tài)下實(shí)現(xiàn)連續(xù)工作,其工作原理是:看門狗芯片和單片機(jī)的一個(gè)I/O引腳相連,該I/O引腳通過程序控制它定時(shí)地往看門狗的這個(gè)引腳上送入高電平(或低電平),這一程序語句是分散地放在單片機(jī)其他控制語句中間的,一旦單片機(jī)由于干擾造成程序跑飛后而陷入某一程序段進(jìn)入死循環(huán)狀態(tài)時(shí),寫看門狗引腳的程序便不能被執(zhí)行,這個(gè)時(shí)候,看門狗就會由于得不到單片機(jī)送來的信號,便在它和單片機(jī)復(fù)位引腳相連的引腳上送出一個(gè)復(fù)位信號,使單片機(jī)發(fā)生復(fù)位。即程序從程序存儲器的起始位置開始執(zhí)行,這樣便實(shí)現(xiàn)了單片機(jī)的自動復(fù)位。