一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

看門狗!守護(hù)系統(tǒng)穩(wěn)定性的關(guān)鍵技術(shù)

朱老師物聯(lián)網(wǎng)大講堂 ? 2024-06-24 08:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、獨(dú)立看門狗

獨(dú)立看門狗本質(zhì)上是一個(gè)定時(shí)器,這個(gè)定時(shí)器有一個(gè)輸出端,可以輸出復(fù)位信號。該定時(shí)器是一個(gè) 12 位的遞減計(jì)數(shù)器,當(dāng)計(jì)數(shù)器的值減到 0 的時(shí)候,就會產(chǎn)生一個(gè)復(fù)位信號。如果在計(jì)數(shù)沒減到 0 之前,重置計(jì)數(shù)器的值的話,那么就不會產(chǎn)生復(fù)位信號,這個(gè)動作我們稱為喂狗??撮T狗功能由 VDD 電壓域供電,在停止模式和待機(jī)模式下仍然可以工作。

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

從 IWDG 框圖整體認(rèn)知可得以下結(jié)論:

時(shí)鐘源:IWDG 的時(shí)鐘源通常來自一個(gè)低速內(nèi)部振蕩器(LSI),獨(dú)立于主系統(tǒng)時(shí)鐘,確保在主系統(tǒng)時(shí)鐘故障時(shí)仍能正常運(yùn)行。

分頻器:IWDG 使用分頻器來調(diào)整計(jì)時(shí)器的頻率。通過配置分頻器,可以改變 IWDG 的計(jì)時(shí)周期,從而靈活控制超時(shí)時(shí)間。

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

復(fù)位控制邏輯:當(dāng)計(jì)數(shù)器達(dá)到零時(shí),復(fù)位控制邏輯會生成一個(gè)復(fù)位信號,觸發(fā)系統(tǒng)復(fù)位。

控制寄存器:IWDG 包含一組控制寄存器,用于配置分頻值、計(jì)數(shù)器初始值以及控制 IWDG 的啟停狀態(tài)。

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

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

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

時(shí)鐘源供電:IWDG 通過低速內(nèi)部振蕩器(LSI)提供的時(shí)鐘信號進(jìn)行計(jì)時(shí),確保即使主系統(tǒng)時(shí)鐘發(fā)生故障,IWDG 仍然可以正常運(yùn)行。

配置分頻器:通過設(shè)置控制寄存器中的分頻器值,調(diào)整 IWDG 的計(jì)時(shí)頻率和超時(shí)時(shí)間。常見的分頻值范圍從 4 到 256 倍,以適應(yīng)不同的應(yīng)用需求。

初始化計(jì)數(shù)器:將計(jì)數(shù)器初始化為一個(gè)預(yù)設(shè)值,開始計(jì)時(shí)。計(jì)數(shù)器會根據(jù)配置的分頻值逐漸遞減。

系統(tǒng)定期“喂狗”:在系統(tǒng)正常運(yùn)行過程中,主程序或定時(shí)任務(wù)需要定期重置計(jì)數(shù)器,以防止計(jì)數(shù)器達(dá)到零。如果計(jì)數(shù)器未在設(shè)定時(shí)間內(nèi)重置,IWDG 將認(rèn)為系統(tǒng)出現(xiàn)了故障。

觸發(fā)復(fù)位:當(dāng)計(jì)數(shù)器遞減至零時(shí),復(fù)位控制邏輯生成復(fù)位信號,觸發(fā)系統(tǒng)復(fù)位。系統(tǒng)復(fù)位后,重新初始化 IWDG,并進(jìn)入正常工作狀態(tài)。

二、 窗口看門狗

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

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

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

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

窗口看門狗中有一個(gè)7位的遞減計(jì)數(shù)器T[6:0],它會在出現(xiàn)下述2種情況之一時(shí)產(chǎn)生看門狗復(fù)位:

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

當(dāng)計(jì)數(shù)器的數(shù)值從0x40見到0x3F時(shí),【T6位跳變到0】。(下窗口)

如果啟動了看門狗并且允許中斷,當(dāng)遞減計(jì)數(shù)器等于0x40時(shí),產(chǎn)生早期喚醒中斷(EWI),它可以用于喂狗以避免WWDG復(fù)位。

三、總結(jié)

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

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

    關(guān)注

    5146

    文章

    19597

    瀏覽量

    316207
  • 監(jiān)測
    +關(guān)注

    關(guān)注

    2

    文章

    3943

    瀏覽量

    45469
  • 看門狗定時(shí)器
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    16418
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    AT32單片機(jī)看門狗簡介

    看門狗通常用來提高系統(tǒng)穩(wěn)定性。當(dāng)因?yàn)橐恍┨厥獾那闆r導(dǎo)致程序跑飛,或者運(yùn)行邏輯錯誤,而沒 有及時(shí)喂狗時(shí),看門狗會將MCU重新復(fù)位,以達(dá)到自動從異常中恢復(fù)的效果。建議用戶在所有應(yīng)用中都使
    發(fā)表于 08-05 09:43 ?2982次閱讀

    STM32中的獨(dú)立看門狗和窗口看門狗是什么

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

    基于Keil C51的軟件看門狗系統(tǒng)設(shè)計(jì)

    介紹了一種基于Keil C51環(huán)境的軟件看門狗設(shè)計(jì)方法。通過設(shè)置程序、喂狗程序和中斷服務(wù)程序的有效配合,解決軟件模塊的穩(wěn)定性問題。設(shè)置程序在模塊開始處對看門狗系統(tǒng)進(jìn)行初值設(shè)定,喂狗程序
    發(fā)表于 03-04 14:25

    什么是看門狗電路

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

    stm32看門狗時(shí)間計(jì)算 獨(dú)立看門狗和窗口看門狗的特性是什么

    本文為您講解STM看門狗時(shí)間計(jì)算(時(shí)限)與頻率計(jì)算,獨(dú)立看門狗和窗口看門狗的特性、區(qū)別與聯(lián)系。
    發(fā)表于 10-10 10:41 ?8990次閱讀

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

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

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

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

    STM32:獨(dú)立看門狗、窗口看門狗的配置

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

    STM32中的獨(dú)立看門狗和窗口看門狗

    和窗口看門狗。 獨(dú)立看門狗:使用的是外部時(shí)鐘,即使主頻不工作了,看門狗也能正常工作。只要在到達(dá)喂狗時(shí)間的上限前喂狗即表示程序是正常的,這點(diǎn)和窗口看門狗是有區(qū)別的。另外獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?2529次閱讀

    STM32中的獨(dú)立看門狗和窗口看門狗

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

    什么是看門狗,工業(yè)路由器看門狗技術(shù)的功能優(yōu)勢

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

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

    看門狗芯片可以通過多種方式來保證系統(tǒng)穩(wěn)定性和安全性,從而提高系統(tǒng)的可靠性和可用性。在需要長時(shí)間穩(wěn)定運(yùn)行的場景中,
    的頭像 發(fā)表于 07-05 14:37 ?2678次閱讀

    嵌入式看門狗如何提高系統(tǒng)穩(wěn)定性?

    在嵌入式系統(tǒng)設(shè)計(jì)中,系統(tǒng)穩(wěn)定性至關(guān)重要,它決定了系統(tǒng)的價(jià)值及競爭力,而看門狗作為一種重要的穩(wěn)定性
    的頭像 發(fā)表于 02-20 16:14 ?1158次閱讀

    安利給工程師!看門狗相關(guān)知識

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

    看門狗,你真的會用嗎?

    嵌入式系統(tǒng)開發(fā)中,看門狗是一種重要的機(jī)制,用于在程序異常時(shí)自動重啟系統(tǒng),保障其穩(wěn)定性。本文將深入探討看門狗及其在程序
    的頭像 發(fā)表于 03-12 11:37 ?1611次閱讀
    <b class='flag-5'>看門狗</b>,你真的會用嗎?