首页 > 其他分享 >IWDG

IWDG

时间:2023-03-15 20:59:14浏览次数:40  
标签:分频器 IWDG KR 计数器 寄存器 RLR

一、IWDG 简介

  • IWDG的全称:Independent watchdog,即独立看门狗
  • IWDG的本质:能产生系统复位信号的计数器
  • IWDG的特性:
    • 递减的计数器
    • 时钟由独立的RC振荡器提供(可在待机和停止模式下运行)
    • 看门狗被激活后,当递减计数器计数到0x000时产生复位
  • 喂狗:在计数器计数到0之前,重装载计数器的值,防止复位

IWDG有什么作用?

  • 异常:外界电磁干扰或者自身系统(硬件或软件)异常,造成程序跑飞,如:陷入某个不正常的死循环,打断正常的程序运行
  • 作用:主要用于检测外界电磁干扰,或硬件异常导致的程序跑飞问题
  • 应用:在一些需要高稳定性的产品中,并且对时间精度要求较低的场合

独立看门狗是异常处理的最后手段,不可依赖,应在设计时尽量避免异常的发生!

二、IWDG 工作原理

三、IWDG 框图

四、IWDG 寄存器

1、键寄存器(IWDG_KR)

2、预分频器寄存器 (IWDG_PR)

3、重装载寄存器(IWDG_RLR)

4、状态寄存器(IWDG_SR)

5、寄存器配置操作步骤

  1. 通过在键寄存器 (IWDG_KR) 中写入 0xCCCC 来使能 IWDG。
  2. 通过在键寄存器 (IWDG_KR) 中写入 0x5555 来使能寄存器访问。
  3. 通过将预分频器寄存器 (IWDG_PR) 编程为 0~7 中的数值来配置预分频器。
  4. 对重载寄存器 (IWDG_RLR) 进行写操作。
  5. 等待寄存器更新 (IWDG_SR = 0x0000 0000)。
  6. 刷新计数器值为 IWDG_RLR 的值 (IWDG_KR = 0xAAAA)。

五、IWDG 溢出时间计算

1、IWDG最短最长超时时间(F1)

2、IWDG最短最长超时时间(F4/F7/H7)

六、IWDG 配置步骤

步骤 函数
取消 PR/RLR 寄存器写保护
设置 IWDG 预分频系数和重装载值
启动 IWDG
HAL_IWDG_Init()
及时喂狗,即写入 0xAAAA 到 IWDG_KR HAL_IWDG_Refresh()

1、HAL库相关函数介绍

标签:分频器,IWDG,KR,计数器,寄存器,RLR
From: https://www.cnblogs.com/lxd-koi/p/17049257.html

相关文章

  • STM32 独立看门狗(IWDG)
    1、定义:看门狗,又叫watchdog,从本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分的复位端,一般是连接到单片机。看门狗......