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

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

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

看門狗定時器的工作原理

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

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

看門狗的工作原理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

wKgaomcV8kqAeEjLAABZeGRdMgo486.png

看門狗的作用和必要性

看門狗可以在系統(tǒng)失控時自動恢復(fù)運行,從而提高系統(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ù)正常運行。

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

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

看門狗的使用心得

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

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

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

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

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

    關(guān)注

    10

    文章

    558

    瀏覽量

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

    關(guān)注

    23

    文章

    3230

    瀏覽量

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

    關(guān)注

    1

    文章

    416

    瀏覽量

    32597

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

    看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數(shù),一般來說都是向下計數(shù)的,給看門狗一個數(shù)字,程序開始運行后
    的頭像 發(fā)表于 07-27 16:30 ?5755次閱讀
    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)是單片機的一個組成部分,它實際上是一個計數(shù),一般給看門狗一個數(shù)字,程序開始運行后看門狗
    發(fā)表于 09-02 22:29

    看門狗定時器是什么

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

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

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

    arduino看門狗怎么使用

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

    看門狗定時器工作原理

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

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

    看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數(shù),一般給看門狗一個數(shù)字,程序開始運行后看門狗
    發(fā)表于 05-23 09:14 ?7609次閱讀
    <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就認為程序沒有正常工作,強制整個系統(tǒng)復(fù)位。 看門狗定時器的操作過程 使用時,WDT將遞增,直到
    發(fā)表于 10-20 14:41 ?6657次閱讀

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

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

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

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

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

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

    arduino看門狗

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

    arduino看門狗的使用

    運行后看門狗開始倒計數(shù)。如果程序運行正常,過一段時間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計數(shù)。如果看門狗減到0就認為程序沒有正常工作,強制整個系統(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 ?834次閱讀

    AXI時基看門狗定時器(WDT)概述

    XilinxLogiCORE IP AXI4-Lite時基看門狗定時器(WDT)是一個32位外設(shè),提供32位自由運行時基和看門狗定時器。
    的頭像 發(fā)表于 10-16 11:10 ?1080次閱讀
    AXI時基<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>(WDT)概述