天天看點

看門狗的種類 1. CPU内部自帶的看門狗 3. 軟體看門狗

在現在的嵌入式系統中主要可以分為三種類型的看門狗:

1. CPU内部自帶的看門狗

此類看門狗一般是将一個晶片中的定時器來作為看門狗,通過程式的初始化,寫入初值,設定溢出時間,并啟動定時器。程式按時對定時器賦初值(或複位),以免被咬。這種看門狗是可以被禁用的(隻要停止這個定時器即可)。大部分CPU都内置看門狗,硬體原理可參考各晶片資料手冊,如s3c2440系列晶片。

優點:可以通過程式改變溢出時間;可以随時禁用

 缺點:需要初始化;如果程式在初始化、啟動完成前跑飛或在禁用後跑飛,看門狗就無法複位系統,這樣看門狗的作用就沒有了,系統恢複能力降低。

2. 獨立的看門狗晶片

這種看門狗主要有一個用于喂狗的引腳(一般與CPU的GPIO相連)和一個複位引腳(與系統的RESET引腳相連),如果沒有在一定時間内改變喂狗腳的電平,複位引腳就會改變狀态複位CPU。此類看門狗一上電就開始工作,無法禁用。現在常用的晶片有:CAT705/CAT706、IMP706,ADM706等等,溢出時間在1.6秒左右。

 優點:無須配置,上電即用。無法禁用,系統必須按時喂狗,系統恢複能力高。

缺點:無法靈活配置溢出時間,無法禁用,靈活性降低。

3. 軟體看門狗

這其實是也是一種監控軟體。

這種監控軟體運作不出現界面視窗,具有一定的隐蔽性;它定時判斷目标程序是否運作在目前系統中,如果沒有則啟動目标程序;判斷目标程序是否“無響應”,如果是則終止目标程序;如果目标程序“無響應”的次數超過一定的數量,則重新開機整個系統。它的目的也是複位,但是它主要市複位程序,實在不行才複位CPU。

繼續閱讀