STM32学习之看门狗(理论篇)

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨

📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852

📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉

📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处

看门狗是什么意思?

看门狗本质上是一种特殊的定时器

定时器的基本功能?

单片机中的定时器基本功能是在设定一定时间后自动触发某个动作。

定时器可以根据用户预先设定的时间,在时间到达后触发相应的动作。比如,设定定时器在 100ms 后触发中断,当定时器计时达到 100ms 时,会产生一个中断信号,CPU 会暂停当前正在执行的程序,转而去执行中断服务程序。在中断服务程序里,能够编写相应的代码来完成特定的任务,像控制 LED 灯的闪烁、读取传感器数据等。

喂狗操作会发生什么?

● 系统在正常运行期间,需要在计数器减到 0 之前,通过软件向 IWDG 发送复位信号,也就是 "喂狗"。这会让计数器重新加载初始值,继续递减计数,而避免系统发生复位。

那WDG跟一般定时器有何区别?

● WDG:主要用于监控系统运行状态,保障系统的稳定性和可靠性。当系统出现软件故障(如程序跑飞、死循环)或硬件异常,导致无法在规定时间内完成 "喂狗" 操作时,WDG 会触发系统复位,使系统重新启动,从而恢复正常运行。

● 一般定时器:主要用于实现定时功能,在设定的时间到达后触发特定的事件或任务。例如,定时触发中断服务程序、产生周期性的信号、控制设备的定时开关等。

复位后程序会怎么变化?

复位后,程序会从头开始执行,CPU 首先执行启动代码(Bootloader),初始化时钟、外设、内存等硬件资源。

看门狗种类

看门狗(Watchdog Timer)是一种用于监测系统运行状态、防止程序陷入死循环或异常状态的硬件或软件机制。以下是常见的看门狗种类及其特点的总结:

看门狗分类对比表

类型 工作原理 触发方式 应用场景 优缺点
硬件看门狗 独立于主CPU的专用硬件电路,通过外部晶振或RC电路提供时钟,计数溢出时触发复位信号。 硬件复位(Reset)或中断(IRQ)。 高可靠性系统(如工业控制、汽车电子、航空航天)。 优点 :完全独立于CPU,可靠性高; 缺点:需要额外硬件成本,配置灵活性低。
软件看门狗 由CPU执行的一段程序代码,通过定时器中断或系统调用实现计数,超时未刷新则触发复位或异常处理。 软件复位、跳转至特定处理函数或抛出异常。 资源受限的嵌入式系统(如单片机、低成本MCU)。 优点 :无需额外硬件,成本低; 缺点:依赖CPU运行,若CPU卡死则失效。
窗口看门狗 硬件看门狗的一种特殊类型,要求喂狗操作必须在指定的时间窗口内完成(早于上限且晚于下限)。 超时或窗口外喂狗均触发复位。 对时序要求严格的系统(如安全关键系统、实时控制系统)。 优点 :能检测程序跑飞或时序异常; 缺点:配置复杂,需精确计算窗口时间。
独立看门狗 硬件看门狗的一种,使用专用低速时钟(如STM32的LSI),不受主系统时钟影响,确保在时钟故障时仍有效。 独立时钟计数,超时触发复位。 对时钟稳定性要求高的系统(如通信设备、医疗仪器)。 优点 :抗干扰能力强; 缺点:计时精度较低,依赖内部低速时钟。
系统看门狗 操作系统级的看门狗服务,通过监控关键进程或系统资源(如CPU负载、内存使用)来判断系统状态。 终止异常进程、重启服务或触发系统复位。 复杂系统(如Linux服务器、Android设备)。 优点 :可针对特定进程监控; 缺点:依赖操作系统运行,内核崩溃时可能失效。
电源看门狗 监测电源电压或功耗,当电压低于阈值或波动异常时触发复位,防止系统在低电压下不稳定运行。 电压比较器触发硬件复位。 电池供电设备(如IoT设备、便携式仪器)或电压波动较大的环境。 优点 :保护硬件免受低电压损坏; 缺点:仅关注电源状态,无法检测程序逻辑错误。
相关推荐
sensen_kiss几秒前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.9 软件测试 (Software Testing)(下)
学习·软件工程
wu_ye_m9 分钟前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
ryanuo715 分钟前
Mac(M芯片)上进行嵌入式开发遇到的问题
嵌入式硬件·macos·开发板
清辞85323 分钟前
Coze从入门到实战---第一、二章
大数据·人工智能·学习·语言模型
伊布拉西莫43 分钟前
【流畅的Python】第20章:并发执行器 — 学习笔记
笔记·python·学习
机器视觉知识推荐、就业指导1 小时前
为什么同一个引脚不能同时做按键和串口
stm32·单片机·嵌入式硬件
jinglong.zha1 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
崇山峻岭之间1 小时前
单片机基本定时器实验
单片机·嵌入式硬件
闪闪发亮的小星星2 小时前
STK_00 学习方案路线
学习
DS小龙哥2 小时前
基于ESP32设计的智能养蜂监测系统
stm32·单片机·嵌入式硬件·物联网·华为云