0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

独立看门狗检测及如何解决软件错误导致故障

MCU开发加油站 来源:互联网 作者:佚名 2018-01-23 09:14 次阅读

独立看门狗(iwdg)1

简介:

其用于检测和解决由软件错误导致的故障,当计数器达到设定的超时时间值时会产生系统复位。其特点为:1、其运用的时钟是由独立的RC振荡器产生的,因此可以在待机和停止模式下运行。2、在看门狗激活后,如果递减计数器的值达到0X000时会产生系统复位。

2

功能简述:

通过向关键字寄存器(IWDG_KR)写入0XCCCC启动独立看门狗,计数器会从复位值0XFFF,递减计数,当计数器的值达到0X000时,产生复位信号。在计数值还未达到0X000时,向IWDG_KR寄存器写入0XAAAA,IWDG_RLR寄存器的值就会重装载到计时器,从而可以避免产生复位(俗称喂狗)。从而可以看出,当软件运行出问题时,在一定的时间内无法做到喂狗的功能时,就会产生系统复位,实现其对软件故障的检测和解决。

3

相关寄存器:

1、关键字寄存器:

关键字寄存器的有效位为位0到位15,位16到位31保留,前边已经介绍过通过向该寄存器中写入0XAAAA,可以使IWDG_RLR寄存器中的值重装载到计数器,避免系统复位。由于IWDG_PR(预分频器寄存器)和IWDG_RLR(重载寄存器)是具有写保护的寄存器,在该寄存器中写入键值0X5555可使能对IWDG_PR和IWDG_RLR的访问。

2、预分频器寄存器:

该寄存器的有效位为位0到位2,其他位保留,通过设置PR[2:0]的值,设定相应的分频系数。

3、重载寄存器:

上面已经提到该寄存器中的值会重装载到计数器中,计数器将会从该值递减计数,由此可见:该寄存器中的值和预分频器寄存器中的值共同决定超时周期。

4、状态寄存器:

该寄存器只有位0和位1为有效位,位0(RVU)为预分频器寄存器的值更新标志位,位1(PVU)为计数器重载值更新标志。

4

相关代码分析:

通过相关库函数对独立看门狗的配置还是相对简单的,其中初始化的过程如下:

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能对IWDG->PR IWDG->RLR的写

IWDG_SetPrescaler(prer); //设置IWDG分频系数

IWDG_SetReload(rlr); //设置IWDG装载值

IWDG_ReloadCounter(); //reload(喂狗)

IWDG_Enable(); //使能看门狗

窗口看门狗(wwdg)1

简介:

对比独立看门狗来看,所谓的窗口看门狗就是设定了一个窗口值(上限和下限值)。当递减计数器值小于0X40(窗口下限值)时产生复位。在设置的窗口外重载递减计数器也会执行复位。窗口看门狗可以设置提前唤醒中断,当递减计数器等于0X40时会触发该中断,可以在该中断中做喂狗等相关操作。

2

框图:

窗口看门狗的框图如下:对比的框图来看下边的相关介绍!

3

工作过程:

通过设置WWDG_CR寄存器的WDGA位可以使能看门狗,递减计数器为控制寄存器的低7位,其中当第7位(即T6)由1变为0(即由0X40递减为0X3F)时就会复位,在配置寄存器低7位存放看门狗上限值,计数器中的值与上限值比较,如果在上限值之上喂狗也会执行复位,这也是窗口看门狗与独立看门狗的不同之处。由此可见,喂狗的时间只能在上限和下限值之间,否则就会执行复位操作。

4

相关寄存器:

1、控制寄存器(WWDG_CR):

前面已经介绍过了,其中有效位为位0到位7,位7(WDGA)为看门狗激活位,位0到位6做计数器。

2、配置寄存器(WWDG_CFR):

该寄存器的有效位为位0到位9,位0到位6前面已经介绍过存放的是计数器的上限值,位7和位8用来设置定时器时基,从而选定相应的时钟分频器。其中位9就是上边介绍到的提前唤醒中断(EWI)。

3、状态寄存器(WWDG_SR):

该寄存器中的有效位只有位0,用来做提前唤醒中断的标志位(EWIF)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    559

    浏览量

    70739
  • 寄存器
    +关注

    关注

    31

    文章

    5317

    浏览量

    119999
  • 时钟控制
    +关注

    关注

    0

    文章

    17

    浏览量

    6812

原文标题:stm32f10x中iwdg和wwdg的区别

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    独立看门狗(IWDG)的基础知识

      STM32F10xxx系列内置两个看门狗(独立看门狗和窗口看门狗),提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(
    发表于 10-19 17:10 4187次阅读
    <b class='flag-5'>独立</b><b class='flag-5'>看门狗</b>(IWDG)的基础知识

    独立看门狗的特点及功能描述

    2.3 窗口看门狗功能说明2.4 如何设置看门狗超时2.5 调试模式3、区别1、IWDG1.1 独立看门狗简介IWDG(Independent watchdog)
    发表于 07-30 07:27

    看门狗基本介绍

    我采用得是STM32F10RC 参考得是STM32普中科技的给出得例子:(这里给出网址)1、基本介绍 包含有两个看门狗独立看门狗:IWDG 窗口看门狗:WWDG 用来
    发表于 07-30 08:25

    看门狗的作用

    一、看门狗的作用此器件具有一个嵌入式看门狗外设,具有安全性高、定时准确及使用灵活的优点。此独立看门狗外设可用于检测并解决由
    发表于 07-30 07:23

    stm32f10x独立看门狗 精选资料分享

    一、IWDG介绍1.1、独立看门狗简介STM21F1芯片内部含有两个看门狗外设,独立看门狗(IWDG)与窗口
    发表于 08-02 09:10

    STM32F4——独立看门狗与窗口看门狗 精选资料分享

    独立看门狗一、简介: 其用于检测和解决由软件错误导致故障,当计数器达到设定的超时时间值时会产生
    发表于 08-02 06:30

    独立看门狗、窗口看门狗的作用

    独立看门狗、窗口看门狗作用:可用来检测和解决由软件错误引起的
    发表于 08-02 09:25

    看门狗的相关资料分享

    (十三)看门狗(13.1)独立看门狗1.用途与窗口看门狗一样,均可用于检测并解决由软件
    发表于 02-11 06:35

    stm32看门狗时间计算 独立看门狗和窗口看门狗的特性是什么

    本文为您讲解STM看门狗时间计算(时限)与频率计算,独立看门狗和窗口看门狗的特性、区别与联系。
    发表于 10-10 10:41 8733次阅读

    什么是stm32看门狗独立看门狗和窗口看门狗工作原理解析

    stm32有两个看门狗独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立
    的头像 发表于 11-06 11:48 2.7w次阅读
    什么是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。看门狗主要作用是可用来检测
    发表于 11-09 17:17 8414次阅读
    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单片机的看门狗独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同。
    发表于 02-08 16:15 18次下载
    STM32:<b class='flag-5'>独立</b><b class='flag-5'>看门狗</b>、窗口<b class='flag-5'>看门狗</b>的配置

    详解MM32F0140的独立看门狗

    独立看门狗(IWDG)的设计初衷是为了检测和解决由软件错误所引起的故障,与窗口
    的头像 发表于 07-15 10:30 1525次阅读

    STM32中的独立看门狗和窗口看门狗

    一、前言 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立
    的头像 发表于 12-22 16:58 2058次阅读

    软件看门狗和硬件看门狗的区别

    软件看门狗和硬件看门狗都是用于监控系统崩溃的工具,它们的作用是在系统出现故障或异常情况时自动恢复系统。  软件
    的头像 发表于 04-16 15:10 948次阅读