窗口看门狗

目录

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

相关推荐
微信153237942434 小时前
离线语音识别 ( 小语种国家都支持)可定制词组
嵌入式硬件
weixin_508821655 小时前
1ms软延时,不用定时器,stm32
stm32·单片机·嵌入式硬件
月阳羊5 小时前
【无人机】无人机PX4飞控系统高级软件架构
嵌入式硬件·架构·系统架构·无人机
weixin_508821656 小时前
stm32 主频216MHz,写个ms延时函数,us延时函数
stm32·单片机·嵌入式硬件
华清远见IT开放实验室6 小时前
【新书上市】《STM32嵌入式系统开发—基于STM32CubeMX和HAL库》,高校教学推荐,STM32入门必读书籍!
stm32·单片机·嵌入式硬件·虚拟仿真·必读书籍·高校教学
智木芯语6 小时前
【58】编程技巧:单片机编程命名规范
单片机·嵌入式硬件·嵌入式·#stm32·#stc8
捷配datasheet7 小时前
OP2177运算放大器:高性能模拟信号处理的关键元件
嵌入式硬件·信号处理
逼子格8 小时前
五种音频器件综合对比——《器件手册--音频器件》
嵌入式硬件·音视频·硬件工程师·硬件测试·电子器件·硬件笔试真题·音频器件
niuTaylor10 小时前
STM32平衡车开发实战教程:从零基础到项目精通
stm32·单片机·嵌入式硬件