看門狗計時器

看門狗計時器

看門狗計時器是用來防止萬一單片機程式出錯造成重大損失的計時器。防錯的原理很簡單,它在硬體上就是一個定時器,當它溢出的時候就會讓單片機強制復位使程式重新開始執行。正常的情況下是不能讓它溢出的,所以在程式上每隔一段時間要給他置一次值(俗稱餵狗),只要程式中正常給它餵他就不會溢出。

基本介紹

  • 中文名:看門狗計時器
  • 外文名:watch dog timer
  • 別名:定時器電路
  • 作用:防止程式跑飛
定義,操作,

定義

看門狗計時器
圖1在看門狗(看門狗,又叫watchdogtimer,是一個定時器電路,一般有一個輸入,叫餵狗(kickingthedogorservicethedog),一個輸出到MCU的RST端,MCU正常工作的時候,每隔一端時間輸出一個信號到餵狗端,給WDT清零,如果超過規定的時間不餵狗,(一般在程式跑飛時),WDT定時超過,就會給出一個復位信 號到MCU,使MCU復位.防止MCU當機.看門狗的作用就是防止程式發生死循環,或者說程式跑飛。出於對單片機運行狀態進行實時監測的考慮,產生了一種專門用於監測單片機程式運行狀態的晶片,俗稱"看門狗"(watchdog))積體電路(MAX*9)的基礎上,該電路提供了回響的輸入脈衝流損失鎖存故障指示。該電路可以監控風扇(上風扇的轉速輸出計算),振盪電路,或一個微處理器軟體執行。
大多數看門狗定時器IC產生一個單一的,有限的輸出脈衝持續時間當看門狗逾時。這適用於觸發復位或中斷微處理器,但有些套用需要輸出(故障指示燈)的鎖存器。一個簡單的電路(圖1)提供了回響的輸入脈衝流損失鎖存故障指示。在μP-supervisor/watchdog積體電路(MAX*9)的基礎上,該電路用於監測風扇(在風扇的轉速輸出計算),振盪電路,或一個合適的微處理器軟體執行。
在上電期間,低電平有效復位仍然很低,直到VCC的穩定和復位逾時時間到期。電容器C通過R,直到FET的柵極電壓達到閾值(電壓VTH),它開啟了場效應管,使鎖存能力。為了防止誤觸發,你應該設定RC延遲的時間遠遠超過了復位逾時。
WDI輸入(引腳6)必須按切換電容器CSWT設立最低速率。如果這沒有發生,低電平有效復位變低,在LED指示燈,在連線和低拉復位,從而鎖定低電平復位。該電路仍然有效,直到你循環VCC或推開關在此條件。要么關閉FET的行動,並允許重置變高。
為了監測風扇開漏測速信號,從世界發展指標10kΩ的連線到VCC(引腳8)上拉電阻器。由於風扇需要一些時間來旋轉起來,看門狗電路需要為一個短暫的延遲時間間隔停用。您可以通過將本延遲電容(C2)從對地復位。請注意,此延遲必須小於上述RC延遲,或低電平有效復位鎖存過早會較短。
對於一個風扇監控,對CSWT值設定最大轉速脈衝周期根據公式5.06×106×CSWT,其中在幾秒鐘內CSWT。如果轉速低於這個閾值時,低電平有效復位輸出低和插銷。

操作

在正常操作期間,一次WDT逾時溢出將產生一次器件復位。當器件處於休眠狀態時,一次WDT逾時溢出將喚醒器件,使其繼續正常操作(即稱作WDT喚醒)。對WDTE設定位清零可以永久性地關閉WDT。
分頻器分配完全是由軟體控制,即它可在程式執行期間隨時更改。為避免發生不可預測的器件復位,當從Timer0預分頻器的分配改為WDT後分頻器的分配時,必須執行下列指令序列。即使WDT被禁止,也要執行這個指令序列。

相關詞條

熱門詞條

聯絡我們