看门狗电路应用经验整理
嵌入式系统中看门狗的使用总结
嵌入式系统中看门狗的使用总结最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下:一、看门狗原理在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。
看门狗其实就是一个可以在一定时间内被复位的计数器。
当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对CPU产生一个复位信号使系统重启(俗称“被狗咬”)。
系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零(俗称“喂狗”),不让复位信号产生。
如果系统不出问题,程序保证按时“喂狗”,一旦程序跑飞,没有“喂狗”,系统“被咬”复位。
这就好比你的身边有一只时刻饥饿的狗,你不按时给它肉吃,它就会吃你的肉,你被吃了......挂了,投胎转世,彻底重新做人了。
不幸的是来世你还得喂狗-_-!!二、看门狗的种类在现在的嵌入式系统中主要可以分为两种类型的看门狗:1、CPU内部自带的看门狗:此类看门狗一般是将一个芯片中的定时器来作为看门狗,通过程序的初始化,写入初值,设定溢出时间,并启动定时器。
程序按时对定时器赋初值(或复位),以免被咬。
这种看门狗是可以被禁用的(只要停止这个定时器即可),好比对那只要咬你的狗来个“葵花点穴手”。
大部分CPU都内置看门狗,硬件原理可参考各芯片数据手册。
优点:可以通过程序改变溢出时间;可以随时禁用缺点:需要初始化;如果程序在初始化、启动完成前跑飞或在禁用后跑飞,看门狗就无法复位系统,这样看门狗的作用就没有了,系统恢复能力降低。
2、独立的看门狗芯片:这种看门狗主要有一个用于喂狗的引脚(一般与CPU的GPIO相连)和一个复位引脚(与系统的RESET 引脚相连),如果没有在一定时间内改变喂狗脚的电平,复位引脚就会改变状态复位CPU。
此类看门狗一上电就开始工作,无法禁用。
现在常用的芯片有:CAT705/CAT706、IMP706等等,溢出时间在1.6秒左右。
【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 看门狗实验
计算机科学与技术学院
实验报告
课程名称:无线传感器网络原理与应用
实验七 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)的工作原理及其应用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单片机看门狗电路及程序设计方案院系:信息工程学院年级:2010级电子一班刘禹豪电子一班赵训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。
由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
(2)看门狗电路一般设计方式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计方式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的方法实现(即利用单片机*此处设计原理实际上为下文中硬件看门狗设计思路。
内部定时器资源,通过编程模拟硬件看门狗工作方式),以51系列为例:因在51单片机中有两个定时器,在利用内部定时器资源来对主程序的运行进行监控时。
最近也是要用到系统的看门狗电路
最近也是要用到系统的看门狗电路,由于单片机自身没有带看门狗,所以,选择了大家公认的MAX813这个IC,一直都感觉,MAXIM系统的IC都一直挺昂贵,但性能的确还可以。
下面就因在使用这个IC时所要注意的事项简单说下,但愿有用到这个IC的朋友,能够有帮助,看到网上也有很多关于MAX813的精典应用,都很不错,有还用到了电源监测和看门狗两个功能,手动与自动复位。
所以,由于我只用到了其中的看门狗,只对其这一块的应用作简单说明。
毕竟很多时候,大家贵在一起学习和进步。
一、MAX813简介(1)该IC主要有以下几个功能;1)独立的“看门狗电路”和“电源监测电路”,看门狗定时时间为1.6S2)具有手动复位输入端3)1.25V门限检测器,用于低压报警,适时监控5V以外的电源电压4)具有上电复位(相当于一般情况下一个电阻和一个电容时的上电瞬间复位),掉电、以及降压情况下具有RESET输出。
(2)MAX813是MAXIM公司推出的低成本微处理器监控芯片,封闭为8脚双列式直插式和小型式封闭。
引脚如下:(3)详情传述如下:1)系统上电、掉电以及供电电压降低时,第7脚产生复位输出,复位脉冲宽度的典型值为200ms,高电平有效,复位门限为4.65V。
2)如果在1.6s内没有触发该电路(即第6路无脉冲输入),则第8脚输出一个低电平信号,即看门狗电路输出信号。
3)手动复位输入,低电平有效,即第1脚输入一个低电平,则第7脚产生复位输出,如果手动复位,可以此直接接一个开关到地,作为手动复位。
4)具有1.25V门限值检测器,第4脚为输入(电源监测端输入),第5脚为输出。
实际应用时,将第1脚与第8脚相连,第7脚接CPU的复位脚,第6脚与CPU的一个I/O 口相连(假如为P1.2)。
在单片机运行过程中,P1.2不断输出脉冲信号。
如果因某种原因CPU进入死循环,则P1.2无脉冲输出。
于是1.6秒后在MAX813的第8脚输出低电平,该低电平加到第1脚,使 MAX813产生复位输出,使CPU有效复位,摆脱死循环的困境。
看门狗复位电路的基本原理
看门狗复位电路的基本原理门狗复位电路(Watchdog Reset Circuit)是一种用于检测和处理系统故障的重要电路。
它通常被用于嵌入式系统中,以确保系统正常工作,防止因软件故障或硬件冲突导致系统崩溃。
门狗复位电路的基本原理可以概括为以下几个方面:1. 监测系统状态:门狗复位电路会周期性地对系统进行状态检测,以确保系统正常工作。
这些检测可以包括对系统时钟、引脚状态以及其他关键信号的监测。
2. 设定复位计时器:门狗复位电路通常包含一个可调的计时器,用于确定系统的复位时间。
通过设定计时器的时间阈值,可以确保当系统在一定时间内没有出现故障时,门狗复位电路将保持系统正常运行。
如果系统在设定的时间内未能喂狗(故障),门狗复位电路会触发系统复位操作。
3. 喂狗操作:为了防止门狗复位电路触发系统复位,系统软件需要定期执行“喂狗”操作。
这个操作通常是通过写入一个特定的数值或状态到门狗复位电路中,以重置复位计时器。
如果系统在设定的时间内未执行喂狗操作,复位计时器将超时并触发系统复位。
4. 触发复位:当门狗复位电路检测到系统故障(如未喂狗操作),复位计时器超时之后,将触发复位操作。
这个操作会重置系统并恢复到出厂设置或预定义的初始状态,以确保系统能够重新启动和正常工作。
在实际应用中,门狗复位电路通常由一个定时器芯片或专用集成电路实现。
它可以直接与系统的主控芯片连接,通过复位引脚或其他输入引脚进行通信和控制。
门狗复位电路的内部逻辑会根据设定的参数和系统状态进行计时、监测和触发复位操作。
门狗复位电路的应用可以提高系统的可靠性和稳定性。
它可以有效地检测和处理软件故障、死锁、死循环等问题,并及时进行系统复位。
通过定期喂狗操作,系统软件可以确保门狗复位电路不会误判正常工作状态,从而避免不必要的复位操作。
总之,门狗复位电路是一种重要的电路设计,在嵌入式系统中具有广泛的应用。
它通过周期性的状态监测、设定的计时器和复位操作,保证了系统的可靠性和稳定性。
看门狗应用
看门狗应用看门狗:看门狗是单片机的一种超时复位机制。
实际上看门狗是一个硬件的计时器,在到达一定的时间后令单片机复位,即程序从头开始重新运行。
在很多种单片机中都有看门狗,除了STC89系列单片机,还有凌阳等。
看门狗的功能:在工业应用中由于一些意外的原因,如电磁干扰、内部硬件错误等,造成单片机死机或陷入死循环中,这样可能会出现很严重的后果,这就需要一种自我检测复位的功能。
在对看门狗进行设置之后,它便开始计时。
在程序运行的过程中对计时器的值定时清零,这就是通常所说的“喂狗”。
如果程序运行正常,则看门狗由于可以及时得以清零,所以不会出溢出。
但是如果程序停滞或进行死循环,就使得看门狗不能清零(看门狗是硬件实现的,与程序的运行是无关的),从而在到达设定的时间后产生溢出,使单片机复位。
STC89系列单片机看门狗的应用:表2.1 STC89的看门狗定时器特殊功能寄存器如表2.1所示,要使用STC89的看门狗只需对寄存器进行设置即可。
WDT_CONTR中的各位的功能详述如下:EN_WDT:Enable Watch Dog Timer,使能看门狗定时器,允许看门狗工作,1允许,0禁止。
CLR_WDT:Clear Watch Dog Timer,看门狗定时器清零,1清零,随后会硬件置0。
IDLE_WDT:Idle Watch Dog Timer,看门狗定时器在空闲模式时是否计时,1为计时,0为停止。
PS2、PS1、PS0:看门狗定时器的预分频,设置成不同的值,会影响到溢出时间。
如果预分频为1(即1分频)的时候,溢出时间为1s,那么当预分频为2时,溢出时间就是2s。
STC89的预分频如表2.2所示:表2.2 STC89的预分频值综上规律,预分频值P=2^(PS+1)。
那么具体的溢出时间是怎么样算出来的呢?这个溢出时间与所用的晶体震荡器频率是有关的,下面介绍其计算方法。
T_WDT=(N • P• 32768)/F_Osc其中参数意义如下:T_WDT:溢出时间N:单片机的时钟数(所谓时钟数就是外部时钟的频率经过N分频后作为单片机工作的时钟,比如外部时钟频率是12M,如果单片机的时钟数N=12的话,那么单片机内部的工作时钟频率便为1M,STC89系列单片机有两种时钟数模式,6时钟与12时钟,当然不同的单片机可能有不同的时钟数,这在相应的芯片文档中会有所说明,如STC12系列单片机的时钟数为1时钟,即外部时钟频率就是工作频率,我们在这里对STC12单片机不作详述)P:就是上面所提到的看门狗定时器的预分频值。
看门狗功能应用实训报告
一、实训背景随着微电子技术的不断发展,单片机在各个领域的应用越来越广泛。
为了保证单片机系统在运行过程中不会因为软件错误、硬件故障或电磁干扰等原因导致系统崩溃,看门狗(Watchdog Timer,WDT)功能应运而生。
看门狗是一种用于监控程序运行状态的设备,当程序因错误而无法正常工作时,看门狗会自动复位系统,从而保证系统的稳定运行。
为了提高对看门狗功能的理解和应用能力,本次实训旨在通过实际操作,掌握看门狗功能的原理、设置方法以及在实际应用中的调试技巧。
二、实训目标1. 理解看门狗功能的原理及作用。
2. 掌握STM32单片机看门狗功能的配置方法。
3. 学会使用看门狗功能防止程序跑飞和死循环。
4. 掌握看门狗功能在实际应用中的调试技巧。
三、实训内容1. 看门狗功能原理及作用看门狗是一种定时器,用于监控程序运行状态。
当程序正常运行时,需要定期对看门狗进行喂狗操作,以防止看门狗超时。
如果看门狗超时,则认为程序出现错误,看门狗会自动复位系统,使程序重新开始执行。
2. STM32单片机看门狗功能配置(1)硬件电路:在STM32单片机中,看门狗功能主要由独立看门狗(IWDG)和窗口看门狗(WWDG)实现。
IWDG使用独立的RC振荡器工作,适用于对时间精度要求不高的场合;WWDG则要求在精确的计时窗口内起作用,主要用于需要精确控制时序的应用。
(2)软件配置:在STM32CubeMX中,可以通过以下步骤配置看门狗功能:① 打开STM32CubeMX软件,选择相应的STM32单片机型号。
② 在“System Core”选项卡中,勾选“IWDG”和“WWDG”选项。
③ 在“IWDG”选项卡中,设置预分频系数、重装值等参数。
④ 在“WWDG”选项卡中,设置预分频系数、重装值、窗口值等参数。
⑤ 生成代码,并在Keil uVision中编译、下载程序。
3. 使用看门狗功能防止程序跑飞和死循环(1)程序跑飞:当程序进入死循环时,看门狗会因未进行喂狗操作而超时,系统自动复位,从而避免程序跑飞。
单片机看门狗电路的作用,看门狗系统设计技巧及其抗干扰措施
单片机看门狗电路的作用,看门狗系统设计技巧及其抗干扰措施在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗(watchdog)其作用是使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
单片机看门狗电路的作用看门狗的作用:看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。
看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断。
在定时器中断中执行一些复位操作,使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择的定时溢出归零,使处理器重新启动。
软件的可靠性一直是一个关键问题。
任何使用软件的人都可能会经历计算机死机或程序跑飞的问题,这种情况在嵌入式系统中也同样存在。
由于单片机的抗干扰能力有限,在工业现场的仪器仪表中,常会由于电压不稳、电弧干扰等造成死机。
在水表、电表等无人看守的情况下,也会因系统遭受干扰而无法重启。
为了保证系统在干扰后能自动恢复正常,看门狗定时器(Watchdog TImer)的利用是很有价值的。
看门狗原理与使用
outportb(address_port,0x30); // Enable the function of watchdog timer outportb(data_port,0x01);
outportb(address_port,0xf5); // Enable the WDTO# output value = inportb(data_port); value = value | 0x02; outportb(data_port, value); outportb(address_port,0xf7); // Enable watchdog timer to be reset by mouse value = inportb(data_port); // and enable the WDTO# output value = value | 0x80; outportb(data_port, value); outportb(address_port,0xaa); // Lock W83627HF printf("The Watchdog Timer to be reset by mouse\n"); return 0; }
Example1. Enable watchdog timer and set 10 sec. as timeout interval and issue KBRST# ;----------------------------------------------------------Mov dx,2eh ; Unlock W83627HF/EHG-A Mov al,87h Out dx,al Out dx,al ;----------------------------------------------------------Mov al,07h ; Select registers of watchdog timer Out dx,al Inc dx Mov al,08h Out dx,al ;----------------------------------------------------------Dec dx ; Enable the function of watchdog timer Mov al,30h Out dx,al Inc dx Mov al,01h Out dx,al ;----------------------------------------------------------Dec dx ; Set second as counting unit and enalbe the WDTO# Mov al,0f5h Out dx,al Inc dx In al,dx And al, 0f7h Or al,02h Out dx,al ;----------------------------------------------------------Dec dx ; Set timeout interval as 10 seconds and start counting Mov al,0f6h Out dx,al Inc dx Mov al,10 Out dx,al ;----------------------------------------------------------Dec dx ; lock W83627HF Mov al,0aah Out dx,al
手把手教你如何分析看门狗电路
手把手教你如何分析看门狗电路在工业控制中常使用MCS-51系列单片机,为了防止程序跑飞往往外接一个看门狗电路。
看门狗电路可完成加电复位和死机复位两种功能。
成品的看门狗集成电路如MAX813L等价格一般都较高。
现介绍一种由通用数字电路CD4011组成的廉价的看门狗电路。
上图是由与非门CD4011组成的看门狗电路,图2为有关引脚波形图。
由上图可以看出,在不考虑1脚的喂狗信号的情况下,三个与非门A、B、C、串接成一个环路。
由于VD1、R2、C2、和R3、C3两组延时电路的作用,它们将组成一个振荡器。
平时与非门A的2脚为高电平(见后面喂狗信号引起VDI、R2、C2充放电的说明),10时刻的喂狗信号(高电平至低电平的跳变)经R1、C1微分后送到1脚,其输出3脚变为高电平,经VDI给C2充电,C2很快充满至5V。
与非门B的输入端5脚和6脚为高电平,输出端4脚为低电平。
在喂狗脉冲沿过去后的t1时刻,1脚恢复为高电平,3脚变为低电平,该低电平经R2给C2放电,放电速度远远慢于充电速度。
当C2电压由5V降到约为2.5V时与非门B的4脚将由低电平变为高电平。
正常工作时在4脚变为高电平之前又有新的喂狗信号到来,3脚又变为高电平,C2又迅速充满到5V。
因此4脚一直保持为低电平,与非门C的10脚则一直保持为高电平。
一旦喂狗信号丢失,4脚将在延时一段时间(t2-t0')后的12时刻变为高电平,此高电平即为CPU复位。
该高电平还经R3、C3延时,使与非门C的输入端8脚和9脚在t3时刻变为高电平,输出端10脚变为低电平。
接着引起2脚为低电平,3脚为高电平,C2迅速充电。
在14时刻C2电压超过2.5V,5脚和6脚变为高电平,4脚变为低电平。
C3放电,经R3、C3延时,在t5时刻8脚变为低电平,10脚恢复为高电平,3脚恢复为低电平。
这样,在没有喂狗信号时4脚将输出周期l00ms、宽度约5ms的正极性脉冲串复位信号。
复位信号的宽度决定于R3、C3,周期决定于R2、C2,与非门C的10脚将输出负极性脉冲串复位信号。
独立看门狗接口的设计原理及应用场景分析
独立看门狗接口的设计原理及应用场景分析一、引言独立看门狗是一种硬件或软件实现的计时器,用于监测系统是否出现故障或异常情况。
它能够定期向系统发送一个重置信号,如果系统在特定时间内未能回应这个信号,独立看门狗将会重启系统,以恢复其正常运行。
本文将探讨独立看门狗接口的设计原理以及应用场景分析。
二、独立看门狗接口的设计原理1. 基本原理独立看门狗接口的基本原理是通过定时器和计数器实现的。
系统在运行时会定期向看门狗接口发送一个重置信号,相当于向看门狗喂食。
看门狗会开始计时,并将计数器的值从一个初始值开始递减。
如果系统在特定时间内未能喂食看门狗,计数器的值将会递减至零。
此时,看门狗检测到系统异常,触发重启操作,恢复系统正常运行。
2. 独立性设计独立看门狗接口与系统存在物理隔离,以确保其在系统故障时能够独立执行重启操作。
这意味着看门狗接口与其他系统组件相互独立,无法受到系统软件的控制。
当系统出现故障时,看门狗接口仍然能够工作并执行重启操作,从而提高系统的可靠性和稳定性。
3. 定时器设置独立看门狗接口的定时器设置是关键的设计因素之一。
通过设置定时器的初始值和计数频率,可以确定系统的喂食周期,即重置信号发送的时间间隔。
如果定时器的初始值过小或计数频率过高,会导致系统频繁重启;而如果定时器的初始值过大或计数频率过低,可能会导致系统无法及时响应异常情况。
4. 喂食机制为了保证看门狗接口正常工作,系统需要定期向看门狗发送重置信号以避免计数器递减至零。
这个重置信号可以是一个特定的数据包或命令。
系统软件需要在固定的时间间隔内发送这个重置信号,以确保看门狗接口能够及时收到并重置计数器。
三、独立看门狗接口的应用场景1. 嵌入式系统独立看门狗接口广泛应用于嵌入式系统中,特别是在对系统可靠性和稳定性要求较高的场景。
例如,工业控制设备、通信设备以及车载电子系统等。
在这些应用中,独立看门狗接口可以及时检测到系统故障并重启系统,以保证设备的正常运行。
看门狗应用小结
看门狗电路应用基本技巧和注意事项
看门狗电路应用基本技巧和注意事项
一、前言
在MCU、DSP等应用中,广泛用的看门狗(WatchDog)电路,又称电压监控器电路,比如,IMP813L、X25045等,本文总结了看门狗电路应用中的一些基本技巧和注意事项。
二、看门狗电路基本技巧
1、系统电压
选择看门狗依据系统内部的电压轨,也就是说,根据MCU或DSP 的驱动电压来选择电压监控器。
2、看门狗输入端(WDI)
一旦MCU无法正常工作时,而且其片内看门狗功能也无法复位,软件进入死循环。
这时,具有集成看门狗功能的监控器可触发复位,从而提高系统的可靠性。
3、手动复位(MR)功能
借助该功能,可对电路进行手动复位,或者通过应用中的另一个器件来主动控制监控器电路。
4、有效高电平输出
如果处理器需要采用有效高电平复位输入,无需增加额外的器件就可实现。
5、电源故障输入/输出(PFI/PFO)
利用该比较器能够提供更大的灵活性,例如用来实现电池电量的长时间监测和电压跌落预警。
6、延迟时间
一定的延迟时间使得电压和电路中的其它器件能够在正常操作重新开始之前先稳定先来,降低电压波动,提高系统的可靠性。
7、通道数
一般而言,系统中所需的监控器功能的数量取决于处理器及外围器件的电压。
例如,独立电压的处理器有可能需要对两个电源轨进行监控,与此同时,系统中的存储器可能也需要进行监控并工作在第三
个(不同的)电压轨上。
8、芯片启动选通作用
一旦电源电压处于欠压状态时,看门狗电路的芯片启动选通功能能够防止错误数据使CMOSRAM发生劣化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、通道数一般而言,系统中所需的监控器功能的数量取决于处理器及外围
器件的电压。
例如,独立电压的处理器有可能需要对两个电源轨进行监控,与。