窗口看门狗

目录

1.什么是窗口看门狗?

2.窗口看门狗工作原理

3.WWDG框图

4.控制寄存器(WWDG_CR)

5.配置寄存器(WWDG_CFR)

6.状态寄存器(WWDG_SR)

7.超时时间计算

8.窗口看门狗实验

9.独立看门狗和窗口看门狗的异同点


1.什么是窗口看门狗?

窗口看门狗用于监测单片机程序运行时效是否精准,主要检测软件异常,一般用于需要精准检测 程序运行时间的场合。

窗口看门狗的本质是一个能产生系统复位信号提前唤醒中断的6位计数器。

产生复位条件:

  • 当递减计数器值从 0x40 减到 0x3F 时复位(即T6位跳变到0)
  • 计数器的值大于 W6:0 值时喂狗会复位

产生中断条件:

  • 当递减计数器等于 0x40 时可产生提前唤醒中断 (EWI)。

在窗口期内重装载计数器的值,防止复位,也就是所谓的喂狗。

2.窗口看门狗工作原理

3.WWDG框图

4.控制寄存器(WWDG_CR)

5.配置寄存器(WWDG_CFR)

6.状态寄存器(WWDG_SR)

7.超时时间计算

  • Tout是WWDG超时时间(没喂狗)
  • Fwwdg是WWDG的时钟源频率(最大36M)
  • 4096是WWDG固定的预分频系数
  • 2^WDGTB是WWDG_CFR寄存器设置的预分频系数值
  • T5:0是WWDG计数器低6位,最多63

8.窗口看门狗实验

实验需求:

开启窗口看门狗,计数器值设置为 0X7F(127) ,窗口值设置为 0X5F(95)预分频系数为 8 ,程序启动时点亮 LED1 ,300ms 后熄灭。在提前唤醒中断服务函数进行喂狗,同时翻转 LED2 状态。

硬件接线:

  • LED1 -- PB8
  • LED2 -- PB9

编程实现思路:

打开cubemax

配置SYS:

配置RCC:

配置时钟:

配置WWDG:

打开NVIC:

生成代码之后打开keil5,加入下部分代码:

cpp 复制代码
//WWDG中断回调函数
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef *hwwdg)
{
	HAL_WWDG_Refresh(hwwdg);
	HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_9);
}

int main()
{
    MX_GPIO_Init();
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET);
    HAL_Delay(300);
    MX_WWDG_Init();

    while(1)
    {
    	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);
		HAL_Delay(40);
    }
}

9.独立看门狗和窗口看门狗的异同点

|---------|-----------------------|--------------------|
| 对比点 | 独立看门狗 | 窗口看门狗 |
| 时钟源 | 独立时钟,LSI (40KHz) ,不精确 | PCLK1或PCLK3,精确 |
| 复位条件 | 递减计数到0 | 窗口期外喂狗或减到0x3F |
| 中断 | 没有中断 | 计数值减到0x40可产生中断 |
| 递减计数器位数 | 12位(最大计数范围:4096~0) | 7位(最大计数范围:127~63) |
| 应用场合 | 防止程序跑飞,死循环,死机 | 检测程序时效,防止软件异常 |

相关推荐
布子麟5 分钟前
NodeMcu(ESP8266)之更新固件
单片机·物联网·iot
开发笔记-阿牛31 分钟前
CK6159A 可靠性测评:芯片工艺、环境测试与量产稳定性分析
stm32·单片机·嵌入式硬件
国科安芯39 分钟前
商业航天通信载荷数字处理单元供电架构研究——基于ASP7A84AS的高精度低压差线性稳压器技术分析
前端·单片机·嵌入式硬件·fpga开发·架构·安全性测试
嵌入式ZYXC1 小时前
第8篇:《面试题:模拟地和数字地为什么要分开?怎么接?》
stm32·单片机·嵌入式硬件·面试·职场和发展
头枝1 小时前
ARM Cortex-M DWT CYCCNT 必须显式初始化,jlink调试时正常,使用时异常的问题
arm开发·stm32·单片机·问题·cyccnt
开发笔记-阿牛1 小时前
CK6159A 主控开发:多模式手电筒硬件架构、接线规范及选型参考
单片机·嵌入式硬件
一目Leizi1 小时前
通信协议完全指南
stm32·单片机·嵌入式硬件
Zyed2 小时前
[STM32]Day11-Part2硬件实现SPI读写W25Q64
stm32·单片机·嵌入式硬件
渡码桑2 小时前
STM32 TinyML实战2026:3步在单片机上跑通AI推理——从TensorFlow到Edge Impulse的嵌入式进化
人工智能·stm32·单片机
HAPPY酷2 小时前
软件模拟 I2C vs 硬件 I2C:核心异同与工程选型指南
stm32·单片机·嵌入式硬件·物联网·microsoft