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

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

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

獨立看門狗檢測及如何解決軟件錯誤導致故障

MCU開發(fā)加油站 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-01-23 09:14 ? 次閱讀

獨立看門狗(iwdg)1

簡介:

其用于檢測和解決由軟件錯誤導致的故障,當計數(shù)器達到設(shè)定的超時時間值時會產(chǎn)生系統(tǒng)復位。其特點為:1、其運用的時鐘是由獨立的RC振蕩器產(chǎn)生的,因此可以在待機和停止模式下運行。2、在看門狗激活后,如果遞減計數(shù)器的值達到0X000時會產(chǎn)生系統(tǒng)復位。

2

功能簡述:

通過向關(guān)鍵字寄存器(IWDG_KR)寫入0XCCCC啟動獨立看門狗,計數(shù)器會從復位值0XFFF,遞減計數(shù),當計數(shù)器的值達到0X000時,產(chǎn)生復位信號。在計數(shù)值還未達到0X000時,向IWDG_KR寄存器寫入0XAAAA,IWDG_RLR寄存器的值就會重裝載到計時器,從而可以避免產(chǎn)生復位(俗稱喂狗)。從而可以看出,當軟件運行出問題時,在一定的時間內(nèi)無法做到喂狗的功能時,就會產(chǎn)生系統(tǒng)復位,實現(xiàn)其對軟件故障的檢測和解決。

3

相關(guān)寄存器:

1、關(guān)鍵字寄存器:

關(guān)鍵字寄存器的有效位為位0到位15,位16到位31保留,前邊已經(jīng)介紹過通過向該寄存器中寫入0XAAAA,可以使IWDG_RLR寄存器中的值重裝載到計數(shù)器,避免系統(tǒng)復位。由于IWDG_PR(預分頻器寄存器)和IWDG_RLR(重載寄存器)是具有寫保護的寄存器,在該寄存器中寫入鍵值0X5555可使能對IWDG_PR和IWDG_RLR的訪問。

2、預分頻器寄存器:

該寄存器的有效位為位0到位2,其他位保留,通過設(shè)置PR[2:0]的值,設(shè)定相應的分頻系數(shù)。

3、重載寄存器:

上面已經(jīng)提到該寄存器中的值會重裝載到計數(shù)器中,計數(shù)器將會從該值遞減計數(shù),由此可見:該寄存器中的值和預分頻器寄存器中的值共同決定超時周期。

4、狀態(tài)寄存器:

該寄存器只有位0和位1為有效位,位0(RVU)為預分頻器寄存器的值更新標志位,位1(PVU)為計數(shù)器重載值更新標志。

4

相關(guān)代碼分析:

通過相關(guān)庫函數(shù)對獨立看門狗的配置還是相對簡單的,其中初始化的過程如下:

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能對IWDG->PR IWDG->RLR的寫

IWDG_SetPrescaler(prer); //設(shè)置IWDG分頻系數(shù)

IWDG_SetReload(rlr); //設(shè)置IWDG裝載值

IWDG_ReloadCounter(); //reload(喂狗)

IWDG_Enable(); //使能看門狗

窗口看門狗(wwdg)1

簡介:

對比獨立看門狗來看,所謂的窗口看門狗就是設(shè)定了一個窗口值(上限和下限值)。當遞減計數(shù)器值小于0X40(窗口下限值)時產(chǎn)生復位。在設(shè)置的窗口外重載遞減計數(shù)器也會執(zhí)行復位。窗口看門狗可以設(shè)置提前喚醒中斷,當遞減計數(shù)器等于0X40時會觸發(fā)該中斷,可以在該中斷中做喂狗等相關(guān)操作。

2

框圖:

窗口看門狗的框圖如下:對比的框圖來看下邊的相關(guān)介紹!

3

工作過程:

通過設(shè)置WWDG_CR寄存器的WDGA位可以使能看門狗,遞減計數(shù)器為控制寄存器的低7位,其中當?shù)?位(即T6)由1變?yōu)?(即由0X40遞減為0X3F)時就會復位,在配置寄存器低7位存放看門狗上限值,計數(shù)器中的值與上限值比較,如果在上限值之上喂狗也會執(zhí)行復位,這也是窗口看門狗與獨立看門狗的不同之處。由此可見,喂狗的時間只能在上限和下限值之間,否則就會執(zhí)行復位操作。

4

相關(guān)寄存器:

1、控制寄存器(WWDG_CR):

前面已經(jīng)介紹過了,其中有效位為位0到位7,位7(WDGA)為看門狗激活位,位0到位6做計數(shù)器。

2、配置寄存器(WWDG_CFR):

該寄存器的有效位為位0到位9,位0到位6前面已經(jīng)介紹過存放的是計數(shù)器的上限值,位7和位8用來設(shè)置定時器時基,從而選定相應的時鐘分頻器。其中位9就是上邊介紹到的提前喚醒中斷(EWI)。

3、狀態(tài)寄存器(WWDG_SR):

該寄存器中的有效位只有位0,用來做提前喚醒中斷的標志位(EWIF)。

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

    關(guān)注

    10

    文章

    562

    瀏覽量

    70813
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120385
  • 時鐘控制
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    6828

原文標題:stm32f10x中iwdg和wwdg的區(qū)別

文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    獨立看門狗(IWDG)的基礎(chǔ)知識

      STM32F10xxx系列內(nèi)置兩個看門狗(獨立看門狗和窗口看門狗),提供了更高的安全性、時間的精確性和使用的靈活性。兩個看門狗設(shè)備(
    發(fā)表于 10-19 17:10 ?4263次閱讀
    <b class='flag-5'>獨立</b><b class='flag-5'>看門狗</b>(IWDG)的基礎(chǔ)知識

    獨立看門狗的特點及功能描述

    2.3 窗口看門狗功能說明2.4 如何設(shè)置看門狗超時2.5 調(diào)試模式3、區(qū)別1、IWDG1.1 獨立看門狗簡介IWDG(Independent watchdog)
    發(fā)表于 07-30 07:27

    看門狗基本介紹

    我采用得是STM32F10RC 參考得是STM32普中科技的給出得例子:(這里給出網(wǎng)址)1、基本介紹 包含有兩個看門狗,獨立看門狗:IWDG 窗口看門狗:WWDG 用來
    發(fā)表于 07-30 08:25

    看門狗的作用

    一、看門狗的作用此器件具有一個嵌入式看門狗外設(shè),具有安全性高、定時準確及使用靈活的優(yōu)點。此獨立看門狗外設(shè)可用于檢測并解決由
    發(fā)表于 07-30 07:23

    stm32f10x獨立看門狗 精選資料分享

    一、IWDG介紹1.1、獨立看門狗簡介STM21F1芯片內(nèi)部含有兩個看門狗外設(shè),獨立看門狗(IWDG)與窗口
    發(fā)表于 08-02 09:10

    STM32F4——獨立看門狗與窗口看門狗 精選資料分享

    獨立看門狗一、簡介: 其用于檢測和解決由軟件錯誤導致故障,當計數(shù)器達到設(shè)定的超時時間值時會產(chǎn)生
    發(fā)表于 08-02 06:30

    獨立看門狗、窗口看門狗的作用

    獨立看門狗、窗口看門狗作用:可用來檢測和解決由軟件錯誤引起的
    發(fā)表于 08-02 09:25

    看門狗的相關(guān)資料分享

    (十三)看門狗(13.1)獨立看門狗1.用途與窗口看門狗一樣,均可用于檢測并解決由軟件
    發(fā)表于 02-11 06:35

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

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

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

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

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

    stm32自帶兩個看門狗模塊,獨立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測
    發(fā)表于 11-09 17:17 ?8448次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(<b class='flag-5'>獨立</b><b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

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

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

    詳解MM32F0140的獨立看門狗

    獨立看門狗(IWDG)的設(shè)計初衷是為了檢測和解決由軟件錯誤所引起的故障,與窗口
    的頭像 發(fā)表于 07-15 10:30 ?1593次閱讀

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

    一、前言 在早期的MCU中是沒有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機,跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨立
    的頭像 發(fā)表于 12-22 16:58 ?2156次閱讀

    軟件看門狗和硬件看門狗的區(qū)別

    軟件看門狗和硬件看門狗都是用于監(jiān)控系統(tǒng)崩潰的工具,它們的作用是在系統(tǒng)出現(xiàn)故障或異常情況時自動恢復系統(tǒng)。 ?軟件
    的頭像 發(fā)表于 04-16 15:10 ?1090次閱讀