在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

看門狗!守護系統穩定性的關鍵技術

朱老師物聯網大講堂 ? 2024-06-24 08:10 ? 次閱讀

看門狗定時器(Watchdog Timer,WDT)是嵌入式系統中至關重要的組件,用于監控和維護系統的穩定性。主要是用來監測單片機運行狀態和解決程序引起的故障的模塊。在由單片機構成的微型計算機系統中,由于單片機的工作常常會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環,程序的正常運行被打斷,由單片機控制的系統無法繼續工作,會造成整個系統的陷入停滯狀態,發生不可預料的后果,所以出于對單片機運行狀態進行實時監測的考慮,便產生了一種專門用于監測單片機程序運行狀態的芯片,俗稱“看門狗”(watchdog)。根據功能不同,通常分為獨立看門狗和窗口看門狗。因為獨立看門狗受工作場合因素的影響會多一點,僅適用于一些對時間精度要求較低的場合;窗口看門狗適用于對時間精度高的場合。

一、獨立看門狗

獨立看門狗本質上是一個定時器,這個定時器有一個輸出端,可以輸出復位信號。該定時器是一個 12 位的遞減計數器,當計數器的值減到 0 的時候,就會產生一個復位信號。如果在計數沒減到 0 之前,重置計數器的值的話,那么就不會產生復位信號,這個動作我們稱為喂狗。看門狗功能由 VDD 電壓域供電,在停止模式和待機模式下仍然可以工作。

332777de-31be-11ef-a655-92fbcf53809c.png

從 IWDG 框圖整體認知可得以下結論:

時鐘源:IWDG 的時鐘源通常來自一個低速內部振蕩器(LSI),獨立于主系統時鐘,確保在主系統時鐘故障時仍能正常運行。

分頻器:IWDG 使用分頻器來調整計時器的頻率。通過配置分頻器,可以改變 IWDG 的計時周期,從而靈活控制超時時間。

計數器:計數器是 IWDG 的核心部分,它會根據配置的分頻值進行遞減計數。系統需要定期重置計數器(即“喂狗”),以防止計數器達到零觸發復位。

復位控制邏輯:當計數器達到零時,復位控制邏輯會生成一個復位信號,觸發系統復位。

控制寄存器:IWDG 包含一組控制寄存器,用于配置分頻值、計數器初始值以及控制 IWDG 的啟停狀態。

  • 看門狗啟動邏輯:該邏輯用于啟用和禁用 IWDG。在一些系統中,IWDG 的啟動邏輯可能是一次性的,即一旦啟動便無法關閉,以增強系統的安全性。

IWDG 的工作流程可以概括為以下幾個步驟:

3344f462-31be-11ef-a655-92fbcf53809c.png

時鐘源供電:IWDG 通過低速內部振蕩器(LSI)提供的時鐘信號進行計時,確保即使主系統時鐘發生故障,IWDG 仍然可以正常運行。

配置分頻器:通過設置控制寄存器中的分頻器值,調整 IWDG 的計時頻率和超時時間。常見的分頻值范圍從 4 到 256 倍,以適應不同的應用需求。

初始化計數器:將計數器初始化為一個預設值,開始計時。計數器會根據配置的分頻值逐漸遞減。

系統定期“喂狗”:在系統正常運行過程中,主程序或定時任務需要定期重置計數器,以防止計數器達到零。如果計數器未在設定時間內重置,IWDG 將認為系統出現了故障。

觸發復位:當計數器遞減至零時,復位控制邏輯生成復位信號,觸發系統復位。系統復位后,重新初始化 IWDG,并進入正常工作狀態。

二、 窗口看門狗

窗口看門狗(Window Watchdog,WWDG)是一種高級看門狗定時器,主要用于檢測系統在指定時間窗口內的運行情況。相比于傳統的看門狗定時器,窗口看門狗通過限制系統“喂狗”的時間窗口,能夠更精準地監控系統的運行狀態,避免系統過早或過晚重置看門狗。本文將通過框圖介紹窗口看門狗的整體結構和功能。

335d20e6-31be-11ef-a655-92fbcf53809c.png

對于一般的看門狗,程序可以在它產生復位前的任意時刻刷新看門狗,但這有一個隱患,有可能程序跑亂了又跑回到正常的地方,或跑亂的程序正好執行了刷新看門狗操作,這樣的情況下一般的看門狗就檢測不出來了,如果使用窗口看門狗,程序員可以根據程序正常執行的時間設置刷新看門狗的一個時間窗口,保證不會提前刷新看門狗也不會滯后刷新看門狗,這樣可以檢測出程序沒有按照正常的路徑運行非正常地跳過了某些程序段的情況。

337601c4-31be-11ef-a655-92fbcf53809c.png

窗口看門狗中有一個7位的遞減計數器T[6:0],它會在出現下述2種情況之一時產生看門狗復位:

當喂狗的時候如果計數器的值大于某一設定數值W[6:0]時,此設定數值在WWDG——CFR寄存器定義。(上窗口)

當計數器的數值從0x40見到0x3F時,【T6位跳變到0】。(下窗口)

如果啟動了看門狗并且允許中斷,當遞減計數器等于0x40時,產生早期喚醒中斷(EWI),它可以用于喂狗以避免WWDG復位。

三、總結

窗口看門狗作為一種先進的時間監控機制,能夠有效提升系統的實時性和安全性。通過合理配置和使用窗口看門狗,開發者可以確保系統在復雜環境中穩定運行,防止系統因時間偏差或異常操作而失控。未來,隨著嵌入式系統技術的不斷發展,窗口看門狗將在系統安全和穩定性保障方面繼續發揮重要作用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5141

    文章

    19537

    瀏覽量

    315130
  • 監測
    +關注

    關注

    2

    文章

    3905

    瀏覽量

    45335
  • 看門狗定時器

    關注

    0

    文章

    65

    瀏覽量

    16399
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    AT32單片機看門狗簡介

    看門狗通常用來提高系統穩定性。當因為一些特殊的情況導致程序跑飛,或者運行邏輯錯誤,而沒 有及時喂狗時,看門狗會將MCU重新復位,以達到自動從異常中恢復的效果。建議用戶在所有應用中都使
    發表于 08-05 09:43 ?2959次閱讀

    STM32中的獨立看門狗和窗口看門狗是什么

    在早期的MCU中是沒有看門狗這種東西的,所以產品就很容易出現死機,跑飛的情況。為了避免這種情況的出現,后期的MCU都集成了看門狗的功能。但是目前看門狗發展到今天基本上分為兩大類:獨立看門狗
    的頭像 發表于 02-20 17:47 ?3303次閱讀
    STM32中的獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>是什么

    基于Keil C51的軟件看門狗系統設計

    介紹了一種基于Keil C51環境的軟件看門狗設計方法。通過設置程序、喂狗程序和中斷服務程序的有效配合,解決軟件模塊的穩定性問題。設置程序在模塊開始處對看門狗系統進行初值設定,喂狗程序
    發表于 03-04 14:25

    什么是看門狗電路

    看門狗電路 看門狗電路一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統需要
    發表于 10-21 01:40 ?8419次閱讀

    stm32看門狗時間計算 獨立看門狗和窗口看門狗的特性是什么

    本文為您講解STM看門狗時間計算(時限)與頻率計算,獨立看門狗和窗口看門狗的特性、區別與聯系。
    發表于 10-10 10:41 ?8957次閱讀

    什么是stm32看門狗?獨立看門狗和窗口看門狗工作原理解析

    stm32有兩個看門狗,獨立看門狗和窗口看門狗,其實兩者的功能是類似的,只是喂狗的限制時間不同。 獨立看門狗
    的頭像 發表于 11-06 11:48 ?2.8w次閱讀
    什么是stm32<b class='flag-5'>看門狗</b>?獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>工作原理解析

    STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG)

    stm32自帶兩個看門狗模塊,獨立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測和解決由軟件錯誤引起的故障;當計數器達到給定的超時值時,觸發一個中斷(僅適用于窗口型
    發表于 11-09 17:17 ?8575次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

    STM32:獨立看門狗、窗口看門狗的配置

    STM32單片機的看門狗有獨立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同。
    發表于 02-08 16:15 ?18次下載
    STM32:獨立<b class='flag-5'>看門狗</b>、窗口<b class='flag-5'>看門狗</b>的配置

    STM32中的獨立看門狗和窗口看門狗

    和窗口看門狗。 獨立看門狗:使用的是外部時鐘,即使主頻不工作了,看門狗也能正常工作。只要在到達喂狗時間的上限前喂狗即表示程序是正常的,這點和窗口看門狗是有區別的。另外獨立
    的頭像 發表于 12-22 16:58 ?2493次閱讀

    STM32中的獨立看門狗和窗口看門狗

    在早期的MCU中是沒有看門狗這種東西的,所以產品就很容易出現死機,跑飛的情況。為了避免這種情況的出現,后期的MCU都集成了看門狗的功能。但是目前看門狗發展到今天基本上分為兩大類:獨立看門狗
    的頭像 發表于 01-30 14:38 ?1641次閱讀
    STM32中的獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>

    什么是看門狗,工業路由器看門狗技術的功能優勢

    工業路由器大多都會配備看門狗技術,它是保證工業路由器傳輸過程中連續24小時不宕機的重要保護技術,那么,什么是看門狗呢?▍看門狗功能
    的頭像 發表于 03-27 10:16 ?2305次閱讀
    什么是<b class='flag-5'>看門狗</b>,工業路由器<b class='flag-5'>看門狗</b><b class='flag-5'>技術</b>的功能優勢

    看門狗芯片具有哪些功能?

    看門狗芯片可以通過多種方式來保證系統穩定性和安全性,從而提高系統的可靠性和可用性。在需要長時間穩定運行的場景中,
    的頭像 發表于 07-05 14:37 ?2516次閱讀

    嵌入式看門狗如何提高系統穩定性

    在嵌入式系統設計中,系統穩定性至關重要,它決定了系統的價值及競爭力,而看門狗作為一種重要的穩定性
    的頭像 發表于 02-20 16:14 ?1099次閱讀

    安利給工程師!看門狗相關知識

    適當的參數來確保系統在正常運行和故障場景下都能自動恢復。? ▼ 看門狗簡介 ▼ 看門狗(Watch Dog Timer,WDT) ——是一種監控電路,主要應用于嵌入式系統,目的是為了提
    的頭像 發表于 12-31 14:29 ?489次閱讀
    安利給工程師!<b class='flag-5'>看門狗</b>相關知識

    看門狗,你真的會用嗎?

    嵌入式系統開發中,看門狗是一種重要的機制,用于在程序異常時自動重啟系統,保障其穩定性。本文將深入探討看門狗及其在程序
    的頭像 發表于 03-12 11:37 ?1372次閱讀
    <b class='flag-5'>看門狗</b>,你真的會用嗎?
    主站蜘蛛池模板: 天天看夜夜操 | 国产牛仔裤系列在线观看 | 奇米色吧 | 国产欧美在线一区二区三区 | 日韩在线视频一区 | 亚洲综合激情 | 大片毛片女女女女女女女 | 色香蕉色香蕉在线视频 | 日本高清视频色www在线观看 | 亚洲一区二区三区四区在线 | 婷婷五月色综合香五月 | 台湾av | 国产美女精品视频免费观看 | 黄色大片免费观看 | 成人精品综合免费视频 | 97久久伊人精品影院 | 国产一区中文字幕 | 色天天综合色天天看 | 夜夜狠操| 看黄网站免费 | 1000部禁片黄的免费看 | 亚洲网站在线看 | 久久99久久精品国产99热 | 综合天天色 | 免费中国jlzzjlzz在线播放 | 26uuu另类欧美亚洲曰本 | 日韩一级生活片 | zzji国产精品视频 | ww在线观看 | 一级特黄a大片免费 | 69xxxx女人| 免费视频淫片aa毛片 | 欧美特黄一区二区三区 | 黄色日本视频网站 | 国产成人a毛片 | 四虎www成人影院观看 | 女色专区 | 亚洲人成电影在线播放 | 国产产一区二区三区久久毛片国语 | 18毛片| 亚洲狼色专区 |