看门狗电路应用经验整理

合集下载

嵌入式系统中看门狗的使用总结

嵌入式系统中看门狗的使用总结

嵌入式系统中看门狗的使用总结最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下:一、看门狗原理在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。

看门狗其实就是一个可以在一定时间内被复位的计数器。

当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对CPU产生一个复位信号使系统重启(俗称“被狗咬”)。

系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零(俗称“喂狗”),不让复位信号产生。

如果系统不出问题,程序保证按时“喂狗”,一旦程序跑飞,没有“喂狗”,系统“被咬”复位。

这就好比你的身边有一只时刻饥饿的狗,你不按时给它肉吃,它就会吃你的肉,你被吃了......挂了,投胎转世,彻底重新做人了。

不幸的是来世你还得喂狗-_-!!二、看门狗的种类在现在的嵌入式系统中主要可以分为两种类型的看门狗:1、CPU内部自带的看门狗:此类看门狗一般是将一个芯片中的定时器来作为看门狗,通过程序的初始化,写入初值,设定溢出时间,并启动定时器。

程序按时对定时器赋初值(或复位),以免被咬。

这种看门狗是可以被禁用的(只要停止这个定时器即可),好比对那只要咬你的狗来个“葵花点穴手”。

大部分CPU都内置看门狗,硬件原理可参考各芯片数据手册。

优点:可以通过程序改变溢出时间;可以随时禁用缺点:需要初始化;如果程序在初始化、启动完成前跑飞或在禁用后跑飞,看门狗就无法复位系统,这样看门狗的作用就没有了,系统恢复能力降低。

2、独立的看门狗芯片:这种看门狗主要有一个用于喂狗的引脚(一般与CPU的GPIO相连)和一个复位引脚(与系统的RESET 引脚相连),如果没有在一定时间内改变喂狗脚的电平,复位引脚就会改变状态复位CPU。

此类看门狗一上电就开始工作,无法禁用。

现在常用的芯片有:CAT705/CAT706、IMP706等等,溢出时间在1.6秒左右。

【zigbee看门狗】

【zigbee看门狗】

Zigbee 之旅(八):几个重要的CC2430基础实验——看门狗作者:秋水寒 文章来源:秋水寒 点击数: 366 更新时间:2011-4-19一、承上启下再好的操作系统,不管是现在的Win7还是以后Win8、Win9,总会出现BlueScreen 的时候,更何况是小小的单片机呢~ 电气噪声、电源故障、静电放电等不可预知的原因,都可能造成嵌入式系统的运行出现异常。

而看门狗(Watch Dog ),准确的说应该是看门狗定时器,则正是专门用来监测单片机程序运行状态的电路结构。

其基本原理是:启动看门狗定时器后,它就会从0开始计数,若程序在规定的时间间隔内没有及时对其清零,看门狗定时器就会复位系统(相当于重启电脑),如下图所示(word 画的,画得比较eggache~):下面我们就来介绍简单的看门狗应用方法:怎么放狗?怎么喂?若不喂,会出现什么情况?二、看门狗的故事(1)实验简介若喂狗,系统正常运行;若不喂狗,系统不断重启。

#include <ioCC2430.h>#define led1 P1_0#define led2 P1_1#define led3 P1_2#define led4 P1_3/*系统时钟初始化-------------------------------------------------------*/void xtal_init(void){SLEEP &= ~0x04; //都上电while(!(SLEEP & 0x40)); //晶体振荡器开启且稳定CLKCON &= ~0x47; //选择32MHz 晶体振荡器SLEEP |= 0x04;}/*LED初始化-------------------------------------------------------*/void led_init(void){P1SEL = 0x00; //P1为普通I/O 口P1DIR |= 0x0F; //P1.0 P1.1 P1.2 P1.3 输出led1 = 1; //关闭所有LEDled2 = 1;led3 = 1;led4 = 1;}/*看门狗初始化-------------------------------------------------------*/void watchdog_Init(void){WDCTL = 0x00; //看门狗模式,时间间隔一秒WDCTL |= 0x08; //启动看门狗}/*喂狗程序-------------------------------------------------------*/void FeetDog(void){WDCTL = 0xa0;WDCTL = 0x50;}/*延时函数(小于1秒。

看门狗电路原理范文

看门狗电路原理范文

看门狗电路原理范文一、看门狗电路的原理简介看门狗电路是一种特殊的计时器电路,能够周期性地产生一个定时器溢出中断信号,用于检测系统是否处于正常运行状态。

当系统持续运行时,需要定时清除看门狗计时器,以防止其溢出。

如果系统发生错误或停止响应,无法清除计时器,则看门狗电路会认为系统故障,并采取相应的措施。

二、看门狗电路的工作流程1.初始化:系统开始运行时,首先需要对看门狗电路进行初始化设置。

其中包括设置看门狗计时器的定时时间,及其工作模式(如看门狗电路是否使能)等。

2.计时器溢出中断:一旦看门狗计时器达到设定的定时时间,就会产生一个计时器溢出中断信号。

该中断信号会被发送到系统微处理器,表示系统运行出现异常。

3.清除计时器:系统正常运行时,需要定期清除看门狗计时器。

这可以通过向看门狗电路发送特定的信号或命令来完成。

清除计时器的操作需要在计时器溢出中断之前完成,以防止误报系统异常。

4.响应系统异常:如果系统正常运行,会按照设定的周期清除看门狗计时器,从而避免计时器溢出中断。

但是,如果系统出现错误或停止响应,无法清除计时器,看门狗电路会认为系统故障,并发送警报信号或采取相应的措施。

5.系统重启或报警:当看门狗电路检测到系统异常时,可以触发不同的操作,具体根据应用场景而定。

一种常见的操作是自动执行系统重启,以恢复系统的正常运行。

另一种操作是发送警报信号,通知系统管理员或用户发生了错误并采取相应的补救措施。

三、看门狗电路的应用场景1.工业控制系统:工业控制系统通常是实时性要求较高的,任何系统故障都可能导致严重的后果。

看门狗电路可以及时检测到系统异常并自动执行系统重启,保证工业控制系统的连续运行。

2.网络设备:网络设备需要稳定运行,以保证网络的畅通和数据的传输。

看门狗电路可以及时检测到网络设备的异常并采取相应的措施,防止因设备故障导致网络中断或数据丢失。

3.智能家居系统:智能家居系统中的各种设备需要稳定运行,以提供安全、舒适的居住环境。

实验7:CC2530 看门狗实验

实验7:CC2530 看门狗实验

计算机科学与技术学院
实验报告
课程名称:无线传感器网络原理与应用
实验七 CC 2530看门狗实验
一、实验目的
有些稳定性要求高的应用中,需要使用看门狗(Watchdog)机制来重启系统。

本实验主要介绍看门狗看门狗模式的使用方法及作用。

CC250 芯片中已集成看门狗硬件模块,无需插入扩展板。

二、实验内容
利用看门狗重启系统,实现 LED 的闪烁。

三、实验环境
硬件:鼎轩 WSN 实验箱(汇聚网关、烧录线),PC 机;
软件:IAR 软件。

四、实验步骤
1)打开鼎轩 WSN 实验箱,检查实验箱设备,确保实验箱设备完整、连接无误后,连接电源线,打开电源开关;
2)用烧录线连接汇聚网关上的烧录接口与电脑 USB 接口;
3)点击(\CC2530_simple_demo\cc2530-simple-demo\WATCHDOG)目录下的工程图标 watchdog.eww 打开工程;
4)点击 IAR 中的图标按钮编译程序;
5)完成编译后若没有错误信息,将实验箱节点编程开关上汇聚网关开关拨上去,点击调试并下载按钮将程序下载到汇聚网关上;
6)调试运行程序,可以看到,红绿灯闪烁,这是看门狗重启系统的效果。

7)加入喂狗函数,查看实验现象,验证看门狗的看门狗模式的工作原理,学生还可以配置 WDCTL 使看门狗工作与定时器模式。

程序代码
程序源文件路径为/cc2530-simple-demo/ DMA_Test/ watchdog.c
实验总结
本实验验证了看门狗重启系统的效果,while 循环中,注释掉的是喂狗函数,如果即时喂狗,系统便不会重启,小灯也就不会闪烁。

看门狗 知识总结

看门狗 知识总结

在该电路中SPC3的复位电路与89C52的复位电路应相互独立,这样在单片机复位时SPC3仍能够正常通信。

由MAX705组成的看门狗复位电路可以保证单片机系统在程序“跑飞”时能够可靠复位,MAX705的复位脉冲输出有正脉冲和负脉冲两种方式,当复位脉冲为负脉冲时,需要外接反相器后再连接到单片机的复位端,具体连接如图4。

图4 看门狗电路在正常情况下,P1.x引脚不超过1.6s就向WDI端发出“喂狗”信号,程序陷入死循环后,“喂狗”信号无法发出,当死循环运行时间超过1.6s时,MAX705的看门狗输出将变低并触发,复位信号从端输出。

1看门狗看门狗实际上是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号以使系统重新启动或建立一个非屏蔽中断(NMI)并执行故障恢复子程序。

大多数看门狗电路是沿触发,这样,无论是上升沿还是下降沿触发看门狗的输入端(WDI)通常都能够清计数器。

WDI引脚一般连接在处理器的一个I/0口,这条口线可由软件触发。

图1所示是微处理器通过在WDl脚发送脉冲清除看门狗定时器以防止复位的连接方式,实际上,清看门狗计数器的命令必须在主程序内。

如果看门狗没有被清零,复位后软件将从地址为0000(启动程序)的子程序处开始运行。

计算主程序的运行时间往往很困难,因为在此期间可能需要多次调用子程序,这与系统输入有关。

因此,设计人员常常选择看门狗延时周期远远高于测试到的或计算出的循环时间。

图2所示是正常工作情况下(看门狗在延时周期内被请零)的看门狗信号和复位信号。

图3所示为看门狗计数器溢出时引发一次复位的时序示意图。

工业标准的看门狗电路延时周期一般在l00ms~2s范围内,当然,也有些可调节或定制的看门狗电路能够覆盖更宽的延时范围(30ms至几分钟)。

如果主程序的执行时间对于看门狗电路而言过长,设计人员可以在主程序的不同部位多次执行看门狗触发命令,也可以选用看门狗延时周期更长的器件。

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

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

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

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

所以在使用有看门狗的芯片时要注意清看门狗。

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

那么定时时间到后就会使单片机复位。

常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等.软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。

我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。

对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。

在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。

而T1的中断正常与否我们再由。

单片机看门狗(Watchdog)的工作原理及其应用

单片机看门狗(Watchdog)的工作原理及其应用

单片机看门狗(Watchdog)的工作原理及其应用2010年05月16日星期日 23:00在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环。

程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果。

所以,出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)。

看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行。

这个时候,看门狗电路就会由于得不到单片机送来的信号。

便在它和单片机复位引脚相连的引脚上送出一个复位信号。

使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

看门狗,又叫 watchdog timer,是一个定时器电路。

一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU 正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零。

如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,是MCU复位,防止MCU死机。

看门狗的作用就是防止程序发生死循环,或者说程序跑飞。

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

所以,在使用有看门狗的芯片时要注意清看门狗。

C51单片机看门狗电路及程序设计方案解读

C51单片机看门狗电路及程序设计方案解读

C51单片机看门狗电路及程序设计方案院系:信息工程学院年级:2010级电子一班刘禹豪电子一班赵训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。

由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

(2)看门狗电路一般设计方式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计方式。

硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。

如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。

常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的方法实现(即利用单片机*此处设计原理实际上为下文中硬件看门狗设计思路。

内部定时器资源,通过编程模拟硬件看门狗工作方式),以51系列为例:因在51单片机中有两个定时器,在利用内部定时器资源来对主程序的运行进行监控时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

下面的图 1 为IMP813L 的内部电路框图,图 2 为X25045 的内部电路框图。

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

2、看门狗输入端(WDI)一旦MCU 无法正常工作时,而且其片内看门狗功能也无法复位,软件进入死循环。

这时,具有集成看门狗功能的监控器可触发复位,从而提高系统的可靠性。

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

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

5、电源故障输入/输出(PFI/PFO)利用该比较器能够提供更大的灵活性,例如用来实现电池电量的长时间监测和电压跌落预警。

6、延迟时间一定的延迟时间使得电压和电路中的其它器件能够在正常操作
重新开始之前先稳定先来,降低电压波动,提高系统的可靠性。

7、通道数一般而言,系统中所需的监控器功能的数量取决于处理器及外围
器件的电压。

例如,独立电压的处理器有可能需要对两个电源轨进行监控,与。

相关文档
最新文档