看门狗

看门狗居然还有模拟的?

对于看门狗大家或许不陌生,但对于模拟看门狗有的朋友可能就不甚了解了。本文来聊聊模拟看门狗,旨在梳理相应的概念,理解模拟看门狗原理、与常规看门狗的异同点以及工程应用价值。

啥是看门狗?

窗口看门狗是什么?与独立看门狗的区别?

STM32有两个看门狗,独立看门狗和窗口看门狗。其实两者的功能是类似的,只是喂狗的限制时间不同。

窗口看门狗

窗口看门狗,之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。

单片机编程:如何喂狗的灵魂拷问...

啥叫看门狗?

看门狗也称为看门狗定时器,本质上是一种定时电路或者软件定时器机制。

工作原理:

看门狗的硬件基础是一个计数器,该计数器被设置为某个定时初值,然后递减至零。软件负责经常将计数重置为其定时初值,以确保计数永远不会达到零。如果确实达到零,则意味着某种故障发生,该采取对应措施应对,或重启或进入失效安全状态,具体取决于系统的设计。

正常工作时,单片机、处理器或者线程,周期性重置看门狗定时器的定时值,定时器则在后台不断的计数,如果定时时间到了且没有再次喂狗,则狗叫,意味着一些不寻常的事情发生了!此时,狗狗对外发出指令,执行相应的动作。这里所谓的动作究竟是什么?取决于实际系统的设计。常见的看门狗芯片则会发出复位信号给单片机或者处理,对于软件定时器而言,具体会有何种动作,则灵活多变,具体取决于采用何种安全策略。

通俗讲也称为喂狗,这个定时值相当于狗粮,狗狗吃饱了,胃里不断消耗狗粮,如果在消耗完之前没有在喂狗粮,再狗狗饿得直叫唤,发出预警消息。反言之,一个一直正常工作的系统,其看门狗总是被喂养的很好,不会饿了狂叫。

注:看到有文章把重置看门狗定时器叫踢狗(kick watchdog),嗯嗯,这不太好,要对狗狗好一点,不要踢,叫喂吧~~~

看门狗电路应用基本技巧和注意事项

在MCU、DSP等应用中,广泛使用的看门狗(Watch Dog)电路,又称电压监控器电路。本文总结了看门狗电路应用中的一些基本技巧和注意事项。

1、系统电压

选择看门狗依据系统内部的电压轨,也就是根据MCU或DSP的驱动电压来选择电压监控器。

2、看门狗输入端(WDI)

看门狗的工作原理、应用和设计思路

看门狗(watchdog timer)是一个定时器电路。一般有一个输入叫喂狗,一个输出到MCU的RST端。MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零。如果超过规定的时间不喂狗(一般在程序跑飞时),WDT定时超过,就会给出一个复位信号到MCU,使MCU复位,防止MCU死机。看门狗的作用就是防止程序发生死循环,或者说程序跑飞。

解析看门狗定时器的重要性

就像一只住在名媛手提包中叫不停的小狗,看门狗定时器(watchdog timer)也时常被认为是不必要的多此一举。然而,若将两者一视同仁,是对看门狗的极大侮辱。不同于「手提包小狗」,看门狗具有关键的监控功能,能够帮助您监控系统里外的故障情形,并在故障发生时采取行动。

什么是看门狗定时器?