窗口看门狗

目录

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) |
| 应用场合 | 防止程序跑飞,死循环,死机 | 检测程序时效,防止软件异常 |

相关推荐
何粥学6 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_6 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY092007 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式10 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎19 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何1 天前
二进制和十六进制
stm32·单片机
国科安芯1 天前
长期在轨的计算底座:商业空间站与在轨服务飞行器健康管理中的抗辐射MCU—— 面向可维护空间平台的分层容错与安全通信综述
人工智能·单片机·嵌入式硬件·安全·低轨卫星·抗辐射
不昀1 天前
RMII切到10Mbps,50MHz参考时钟也要降到5MHz吗?
单片机·嵌入式硬件·硬件设计·以太网接口
路上有只喵1 天前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇6
单片机·嵌入式硬件