0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

看門狗定時器的工作原理

小杜的芯片驗(yàn)證日記 ? 來源:數(shù)字芯片驗(yàn)證日記 ? 2024-10-21 14:18 ? 次閱讀

Hi,我是小杜。看門狗(watch dog)用于監(jiān)控系統(tǒng)運(yùn)行狀態(tài),并在系統(tǒng)出現(xiàn)故障或長時間無響應(yīng)時自動復(fù)位系統(tǒng)。它的實(shí)現(xiàn)和功能都比較簡單,今天小杜來介紹一下看門狗。如有錯誤,還請批評指正。

看門狗的工作原理

看門狗定時器是一種獨(dú)立的計時器硬件模塊,其核心功能是倒計時。如果系統(tǒng)軟件在計時器超時前沒有對其進(jìn)行復(fù)位操作(即“喂狗”),看門狗將觸發(fā)一個預(yù)定義的動作,通常是系統(tǒng)復(fù)位或中斷。

一般而言,看門狗存在四個階段:

初始化看門狗:系統(tǒng)啟動時,軟件配置和啟動看門狗定時器,設(shè)定一個超時時間。

定期復(fù)位看門狗:系統(tǒng)正常運(yùn)行時,軟件需要在看門狗定時器超時前定期復(fù)位(喂狗)。

檢測超時:如果系統(tǒng)無法在設(shè)定時間內(nèi)復(fù)位看門狗,看門狗定時器會超時。

觸發(fā)動作:看門狗超時后,觸發(fā)預(yù)定義的動作,如系統(tǒng)復(fù)位、中斷或進(jìn)入故障模式。

看門狗定時器的超時時間通常是可配置的,以適應(yīng)不同應(yīng)用的需求。配置時需要考慮任務(wù)執(zhí)行時間、系統(tǒng)性能和安全性等因素。

看門狗可以有兩種不同的喂狗模式:

窗口模式(Window Mode):要求看門狗復(fù)位操作必須在特定時間窗口內(nèi)進(jìn)行,否則視為故障。

標(biāo)準(zhǔn)模式(Standard Mode):只需在超時前復(fù)位看門狗定時器。

當(dāng)喂狗不及時就會觸發(fā)看門狗,最重要的就是觸發(fā)動作的配置。

當(dāng)看門狗超時出發(fā)時,以下是常間的觸發(fā)動作:

系統(tǒng)復(fù)位:最常見的動作,復(fù)位整個系統(tǒng)。

中斷:觸發(fā)一個中斷,使系統(tǒng)能在嘗試自恢復(fù)之前進(jìn)行故障處理。

進(jìn)入安全模式:將系統(tǒng)切換到一個安全模式,只保留最基本的功能,以等待外部干預(yù)。

此外,看門狗還可以層級聯(lián)動,例如軟件看門狗監(jiān)控應(yīng)用程序,硬件看門狗監(jiān)控操作系統(tǒng),如果軟件看門狗失效,硬件看門狗則觸發(fā)系統(tǒng)復(fù)位。

wKgaomcV8kqAeEjLAABZeGRdMgo486.png

看門狗的作用和必要性

看門狗可以在系統(tǒng)失控時自動恢復(fù)運(yùn)行,從而提高系統(tǒng)的可靠性。特別是在關(guān)鍵應(yīng)用中,如汽車電子、醫(yī)療設(shè)備和工業(yè)控制等領(lǐng)域,這種可靠性是至關(guān)重要的。

解決軟件故障:看門狗可以檢測并處理軟件故障,如死循環(huán)、內(nèi)存泄漏和線程死鎖,防止系統(tǒng)長時間無響應(yīng)。

解決硬件故障:硬件故障可能導(dǎo)致系統(tǒng)無響應(yīng),看門狗能夠檢測到這些情況并通過復(fù)位系統(tǒng)嘗試恢復(fù)正常運(yùn)行。

提供系統(tǒng)監(jiān)控和維護(hù):看門狗為系統(tǒng)提供了一種簡單而有效的監(jiān)控機(jī)制,可以在系統(tǒng)長時間運(yùn)行過程中檢測和糾正異常狀態(tài),減少人工干預(yù)和維護(hù)成本。

比如,在汽車控制系統(tǒng)中,看門狗可用于監(jiān)控ECU(Electronic Control Unit)的運(yùn)行狀態(tài),確保汽車電子系統(tǒng)在故障情況下能夠自動復(fù)位,提高駕駛安全性。

看門狗的使用心得

在調(diào)試階段,看門狗定時器可能會干擾調(diào)試過程,可以先禁用看門狗或?qū)⒖撮T狗的超時時間設(shè)置得很長,等系統(tǒng)穩(wěn)定后再人為注錯調(diào)試看門狗。

系統(tǒng)正常運(yùn)行時,定期復(fù)位看門狗定時器,避免看門狗誤觸發(fā);當(dāng)發(fā)生超時復(fù)位時,確保復(fù)位操作是在所有關(guān)鍵任務(wù)完成后執(zhí)行,而不是簡單地在循環(huán)中復(fù)位。在復(fù)位前,將錯誤信息記錄在非易失性存儲器中,以便復(fù)位后進(jìn)行故障分析。

如果支持窗口模式(Window Mode),可配置為僅在特定時間窗口內(nèi)允許復(fù)位操作,以防止復(fù)位操作被卡住的代碼頻繁調(diào)用。

看門狗雖小,但作用強(qiáng)大,看門狗定時器是提高系統(tǒng)可靠性和安全性的關(guān)鍵硬件模塊。通過合理配置和使用看門狗定時器,可以有效監(jiān)控系統(tǒng)運(yùn)行狀態(tài),及時發(fā)現(xiàn)并處理故障,提高系統(tǒng)的穩(wěn)定性和可靠性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    574

    瀏覽量

    71166
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3259

    瀏覽量

    115917
  • 計時器
    +關(guān)注

    關(guān)注

    1

    文章

    426

    瀏覽量

    33065

原文標(biāo)題:【SoC】看門狗(Watch Dog)定時器的原理與使用

文章出處:【微信號:小杜的芯片驗(yàn)證日記,微信公眾號:小杜的芯片驗(yàn)證日記】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32看門狗定時器工作原理和作用 看門狗定時器的特性

    看門狗定時器(WDT,Watch Dog Timer)是單片機(jī)的一個組成部分,它實(shí)際上是一個計數(shù),一般來說都是向下計數(shù)的,給看門狗一個數(shù)字,程序開始運(yùn)行后
    的頭像 發(fā)表于 07-27 16:30 ?6591次閱讀
    STM32<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的<b class='flag-5'>工作原理</b>和作用 <b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的特性

    簡單介紹看門狗定時器工作原理、作用和設(shè)計原理

    看門狗定時器(WDT,Watch Dog Timer)是單片機(jī)的一個組成部分,它實(shí)際上是一個計數(shù),一般給看門狗一個數(shù)字,程序開始運(yùn)行后看門狗
    發(fā)表于 09-02 22:29

    看門狗定時器是什么

    看門狗開始倒計數(shù)。如果程序運(yùn)行正常,過一段時間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個系統(tǒng)復(fù)位。
    發(fā)表于 07-13 06:34

    怎么實(shí)現(xiàn)簡單鎖定看門狗定時器設(shè)計?

    看門狗定時器工作原理是什么?有哪些功能作用?怎么實(shí)現(xiàn)簡單鎖定看門狗定時器設(shè)計?
    發(fā)表于 09-26 06:06

    arduino看門狗怎么使用

    運(yùn)行后看門狗開始倒計數(shù)。如果程序運(yùn)行正常,過一段時間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個系統(tǒng)復(fù)位。
    發(fā)表于 02-14 06:27

    看門狗定時器工作原理

    看門狗定時器工作原理:WDT 工作原理使能時,WDT 將遞增,直到溢出,或稱“超時”。除非處于休眠或空閑模式,WDT 超時會強(qiáng)制器件復(fù)位。為避免WDT 超時復(fù)位,用戶必須定期用PW
    發(fā)表于 10-06 09:33 ?136次下載

    看門狗定時器的設(shè)計、工作原理看門狗定時器的操作

    看門狗定時器(WDT,Watch Dog Timer)是單片機(jī)的一個組成部分,它實(shí)際上是一個計數(shù),一般給看門狗一個數(shù)字,程序開始運(yùn)行后看門狗
    發(fā)表于 05-23 09:14 ?7903次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的設(shè)計、<b class='flag-5'>工作原理</b>及<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的操作

    看門狗定時器的作用

    看門狗復(fù)位,重新開始倒計數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個系統(tǒng)復(fù)位。 看門狗定時器的操作過程 使用時,WDT將遞增,直到
    發(fā)表于 10-20 14:41 ?6785次閱讀

    TB3123 - PIC?單片機(jī)的窗口看門狗定時器

    窗口看門狗定時器(Windowed Watchdog Timer,WWDT)是PIC單片機(jī)的增強(qiáng)型看門狗定時器。該定時器是PIC單片機(jī)現(xiàn)有
    發(fā)表于 03-26 14:35 ?0次下載
    TB3123 - PIC?單片機(jī)的窗口<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>

    PIC單片機(jī)之看門狗_看門狗定時器工作原理

    PIC系列不同型號的單片機(jī)其,看門狗設(shè)置不同,下面是以PIC16F688單片機(jī)為例。如果配置字中的WDTE=1那么后面的看門狗開關(guān)(WDT)不起作用,所以當(dāng)我們程序中有休眠模式的時候我們的看門狗
    發(fā)表于 05-18 01:59 ?8144次閱讀
    PIC單片機(jī)之<b class='flag-5'>看門狗</b>_<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b><b class='flag-5'>工作原理</b>

    看門狗定時器的相關(guān)問題和實(shí)驗(yàn)說明

    看門狗的作用: 看門狗定時器是一個計數(shù),基本功能是在發(fā)生軟件問題和程序跑飛后使系統(tǒng)重新啟動。看門狗計數(shù)
    的頭像 發(fā)表于 10-06 12:59 ?4714次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的相關(guān)問題和實(shí)驗(yàn)說明

    arduino看門狗

    看門狗開始倒計數(shù)。如果程序運(yùn)行正常,過一段時間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個系統(tǒng)復(fù)位。
    發(fā)表于 11-15 19:06 ?18次下載
    arduino<b class='flag-5'>看門狗</b>

    arduino看門狗的使用

    運(yùn)行后看門狗開始倒計數(shù)。如果程序運(yùn)行正常,過一段時間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個系統(tǒng)復(fù)位。
    發(fā)表于 12-09 09:36 ?7次下載
    arduino<b class='flag-5'>看門狗</b>的使用

    使用高速微型看門狗定時器

    在惡劣環(huán)境中使用的高速微控制應(yīng)用的設(shè)計人員將使用看門狗定時器來防止軟件失控。DS80C320高速微控制集成了看門狗
    的頭像 發(fā)表于 02-09 11:54 ?1048次閱讀

    抄作業(yè)!看門狗定時器必備知識

    Air201在模組內(nèi)部集成了硬件看門狗,今天就一起來聊聊~ 本文將帶你了解看門狗工作原理、應(yīng)用架構(gòu)、定時時間設(shè)置、軟硬件看門狗的區(qū)別,以及
    的頭像 發(fā)表于 12-30 14:44 ?416次閱讀
    抄作業(yè)!<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>必備知識