首页
/
每日頭條
/
寵物
/
單片機看門狗是什麼東西
單片機看門狗是什麼東西
更新时间:2024-12-16 19:28:05

單片機的程序在運行過程中,為了增加系統的可靠性,防止芯片受到外界幹擾而程序跑飛等系統異常,我們引入看門狗功能,Watch Dog Timer,簡稱為WDT。如圖1.

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)1

圖1 看門狗監控單片機的程序

它本質上是一個遞增定時器,它的工作原理很簡單,當程序開始運行時,看門狗定時器的值從零開始向上遞增,當到達預設值時,就會強制單片機複位,使系統程序從頭開始運行。如圖2.

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)2

圖2 看門狗本質上是一個定時器

那麼我們如何使用它呢?我們的代碼中,當看門狗定時器的值即将溢出時将其清零,使它重新從零開始計數,那麼隻要程序正常運行,看門狗就不會強制單片機複位。這樣就實現了看門狗對程序的監控功能。如圖3.

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)3

圖3 清零看懵定時器

上述方法實現的是軟件看門狗功能,當然,我們也可以搭建硬件看門狗電路,同樣實現超時強制單片機複位的功能。他的思路就是不斷的給一個電容充電,在電容從滿電狀态放電至阈值電壓前再次充電,就能保證電路不輸出複位信号。從而實現硬件看門狗功能。如圖4.

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)4

圖4 不斷給電容充電

圖5為電路原理圖,它由兩個與非門外加阻容器件串聯而成。

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)5

圖5 硬件看門狗電路

當我們給第1引腳一個低電平,也就是喂狗的時候,A與非門輸出高電平,此時電容C兩端開始充電。同時,與非門B的兩個輸入端電平為高,那麼輸出端第4引腳就為低電平,不産生複位動作。如圖6.

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)6

圖6 不産生複位信号

喂狗操作完畢之後,第1引腳為高電平,那麼,A與非門輸出低電平,此時電容C開始放電,當電容C的電量低于阈值時,第五,六引腳電平為低,則第4引腳輸出高電平,産生複位。如圖7。圖8為産生複位時的時序圖。

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)7

圖7 産生複位信号

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)8

圖8 複位時序

我們需要操作的是在電容C放電至阈值的時間段内給第1引腳一個低電平,也就是喂狗操作,保證第4引腳持續輸出低電平,這樣就實現了看門狗對電路的監控功能。如圖9.

單片機看門狗是什麼東西(單片機的看門狗是如何工作的)9

圖9 正常情況下不産生複位的時序圖

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved