窗口看门狗

目录

1.什么是窗口看门狗?

2.窗口看门狗工作原理

3.WWDG框图

4.控制寄存器(WWDG_CR)

5.配置寄存器(WWDG_CFR)

6.状态寄存器(WWDG_SR)

7.超时时间计算

8.窗口看门狗实验

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


1.什么是窗口看门狗?

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

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

产生复位条件:

  • 当递减计数器值从 0x40 减到 0x3F 时复位(即T6位跳变到0)
  • 计数器的值大于 W[6: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寄存器设置的预分频系数值
  • T[5: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) |
| 应用场合 | 防止程序跑飞,死循环,死机 | 检测程序时效,防止软件异常 |

相关推荐
Hello_Embed7 分钟前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
VekiSon1 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
来自晴朗的明天2 小时前
14、光耦隔离电路(EL3H7)
单片机·嵌入式硬件·硬件工程
G***技2 小时前
杰和IB3-272:以低功耗高性能打造新一代工业智能交互核心
单片机·嵌入式硬件·物联网
czhaii3 小时前
STC AI8052U单片机特点
单片机
MAR-Sky4 小时前
keil5中数据的不同定义和单片机(以stc8为例)里的对应关系(idata,xdata,data,code)
单片机·嵌入式硬件
项目題供诗5 小时前
51单片机入门(八)
单片机·嵌入式硬件·51单片机
羽获飞6 小时前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
飞睿科技7 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天7 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程