【STM32】IWDG独立看门狗【原理】

前注:本文章主要讲解【原理】

内容为 'Jojo'编写,日常学习总结,内容如有不足、不妥之处请私信告知,谢谢!

实验 

独立看门狗实验

简介

        MCU可能工作在一些复杂环境,可能受到某些电磁干扰出现程序跑飞,导致死循环无法继续执行工作,看门狗的作用就是为了避免这种情况。看门狗的本质也是一个定时器,在启动后,需要在一定时间内再给它一个信号,俗称“喂狗”,如果没有按时“喂狗”,说明MCU可能处于非正常状态,这时看门狗就向 MCU发送个复位信号,使整个系统重启,重新进入正常的工作状态。

框图

1. 时钟、预分频器

独立看门狗的时钟源来自 LSI (内部低速时钟)

分配器(具有写保护功能)

2.重装载值、计数器、键值寄存器

计数器

独立看门狗的计数器是一个 12 位的递减计数器,最大值为 0XFFF ,当计数器减到 0 时,
会产生一个复位信号 :IWDG_RESET ,让程序重新启动运行,如果在计数器减到 0 之前刷新
了计数器的值的话,就不会产生复位信号,重新刷新计数器值的这个动作我们俗称 喂狗

重装载值

重装载寄存器是一个 12 位的寄存器,里面装着要刷新到计数器的值,这个值的大小决
定着独立看门狗的溢出时间。超时时间 Tout = (4*2^prv) / 40 * rlv (s) prv 是预分频器寄存  
器的值, rlv 是重装载寄存器的值。

键值寄存器

3.IWGH复位

溢出时间 Tout = prv/40 * rlv (s)

prv 可以取 IWDG_Prescaler_64 ,rlv 取 625 IWDG_SetPrescaler (IWDG_Prescaler_64 ,625)。 Tout=64/40*625=1s

4.状态寄存器

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值