跳转到主要内容

看门狗居然还有模拟的?

cathy /

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

<strong>啥是看门狗?</strong>

一般来讲,单片机的看门狗可简单看成相对独立的两部分,即计时单元和监控单元。计时单元实现计数与重装。在计数过程中,软件可以适时对计数器的初始值进行重装,以防溢出。监控单元监视计时器的溢出事件,若计数器因未被软件适时重装而发生溢出,看门狗通常会执行复位动作,比如复位处理器。

以STM32F4系列单片机独立看门狗IWDG( Independent watchdog)为例,看看其计时电路的功能架构:

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

cathy /

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

<strong>窗口看门狗</strong>

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

<center><img src="http://mouser.eetrend.com/files/2020-08/wen_zhang_/100051283-104732-1.j…; alt=“图1 窗口型看门狗”></center><center><i>图1 窗口型看门狗</i></center>

窗口看门狗的上窗口就是配置寄存器WWDG->CFR里设定的W[6:0];下窗口是固定的0x40;当窗口看门狗的计数器在上窗口值之外,或是低于下窗口值都会产生复位。

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

cathy 提交于

<strong>啥叫看门狗?</strong>

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

工作原理:

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

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

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

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

cathy /

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

<strong>1、系统电压</strong>

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

<strong>2、看门狗输入端(WDI)</strong>

一旦MCU无法正常工作,而且其片内看门狗功能也无法复位,软件会进入死循环。这时,具有集成看门狗功能的监控器可触发复位,从而提高系统的可靠性。

<strong>3、手动复位(MR)功能</strong>

借助该功能,可对电路进行手动复位或者通过应用中的另一个器件来主动控制监控器电路。

<strong>4、有效高电平输出</strong>

如果处理器需要采用有效高电平复位输入,无需增加额外的器件就可实现。

<strong>5、电源故障输入/输出(PFI/PFO)</strong>

利用该比较器能够提供更大的灵活性,例如用来实现电池电量的长时间监测和电压跌落预警。

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

cathy /

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

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。

硬件看门狗是利用一个定时器来监控主程序的运行,也就是说在主程序的运行过程中,要在定时时间到之前对定时器进行复位。如果出现死循环或者说PC指针回不来,那么定时时间到了后就会使单片机复位。

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

cathy /

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

<strong>什么是看门狗定时器?</strong>

简单来说,看门狗定时器是一种若在特定时间范围内未从处理器接收到周期性脉冲讯号,就会发出重设输出讯号的装置。其中一种应用这种装置的方法,是透过来自处理器的数字讯号输出(GPIO)回馈给外部看门狗定时器的看门狗输入(WDI),如图1所示。TPS3851便是具有整合看门狗定时器的监控器,能够监控微控制器的电源轨,并透过外部方式监控从微控制器(MCU)发出的数字脉冲。