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

合集下载

52单片机看门狗函数

52单片机看门狗函数

52单片机看门狗函数52单片机是一种常用的微控制器,它具有强大的功能和广泛的应用领域。

在许多嵌入式系统中,看门狗函数是一项重要的功能,用于保证系统的稳定性和可靠性。

看门狗函数是一种用于监控系统运行状态的机制,它可以在系统出现故障或死锁时自动重启系统,从而避免系统长时间处于不正常的状态。

52单片机的看门狗函数是一种硬件看门狗,通过定时器和中断来实现。

在使用52单片机的看门狗函数时,首先需要初始化看门狗定时器,并设置定时器的计数值。

通过设置计数值,可以控制看门狗定时器的溢出时间,并决定系统在多长时间内需要喂狗一次。

在系统正常运行时,需要定期喂狗,以防止看门狗定时器溢出。

喂狗的方法是在规定的时间内定时发送喂狗信号,这样看门狗定时器会被重置,系统会继续正常运行。

如果系统出现故障或死锁,无法定时喂狗,看门狗定时器就会溢出。

一旦看门狗定时器溢出,会触发看门狗中断,系统将自动重启,从而恢复到正常的工作状态。

通过使用52单片机的看门狗函数,可以有效地提高系统的可靠性和稳定性。

在一些对系统可靠性要求较高的应用中,如工业控制、医疗设备等,看门狗函数是必不可少的一项功能。

看门狗函数的实现原理是通过定时器和中断来实现的。

定时器用于计时,当计时器溢出时,会触发中断。

通过设置定时器的计数值,可以控制看门狗定时器的溢出时间。

在52单片机中,看门狗函数的实现方法是通过设置看门狗定时器的计数值,并在计时器溢出时触发中断。

在中断服务程序中,可以进行相应的处理,如重启系统等。

为了保证看门狗函数的正常运行,需要注意以下几点:1.合理设置看门狗定时器的计数值,以满足系统的实际需求。

计数值过小会导致系统频繁重启,计数值过大会导致系统响应速度下降。

2.在系统正常运行时,需要定期喂狗,以防止看门狗定时器溢出。

喂狗的方法可以是定时发送喂狗信号,也可以是在关键的代码段中插入喂狗指令。

3.在中断服务程序中,需要进行相应的处理,如重启系统等。

同时,还需要注意中断服务程序的优先级和执行时间,以免影响系统的正常运行。

看门狗技术与单片机应用系统抗干扰措施单片机

看门狗技术与单片机应用系统抗干扰措施单片机

看门狗技术与单片机应用系统抗干扰措施- 单片机1 引言随着工业自动化水平的不断提高,以MCS-51单片机为核心所构成的单片机应用系统得到了广泛应用,如水泥生料配料系统、电子皮带秤给料把握、各种现场智能测量仪表等。

但其工作现场条件恶劣,干扰多而且幅度大,严峻影响着应用系统的正常运行与牢靠性,甚至使应用系统计算机进入死循环而瘫痪,通常称为程序“跑飞”。

由此引出的计算机牢靠性问题,始终是人们争辩的重要课题。

接受屏蔽、滤波、退耦、隔离、接地等措施能有效地提高系统的抗干扰力量,但很难在强干扰发生时消退因程序“跑飞”而死机状况的发生。

“看门狗”技术能在程序“跑飞”时实现自我诊断并使系统恢复运行,是单片机应用系统抗干扰的有力武器。

当然,它是以系统的硬、软件设计开发的合理和成熟为条件的,否则将掩盖系统设计开发过程中的人为缺陷与不足。

2 “看门狗”技术及其对干扰的抑制2.1 程序“跑飞”对系统的攻击(1)程序计数器PC的值被攻击,成为一随机拼合的数据。

(2)系统设置的把握字与标志参数因“跑飞”后可能被访问而被攻击。

(3)数据存储器RAM内容被攻击等。

2.2 “看门狗”技术“看门狗”源于“Watch dog、Watch dog timer”,或称定时监视技术,其本质是一可复位的定时器,其原理如图1、2所示。

图1 原理框图图2 原理波形图在程序正常运行时,计算机通过程序以周期T1向定时器发送脉冲触发定时器(或通过软件以T1为周期初始化定时器),而由定时脉冲把握的定时器动作时间为T2(T3),在T1<T2(T3)时,定时器不会动作,处于休眠状态。

当计算机受到强干扰等作用破坏后,程序计数器PC中内容不再是程序的正确代码,而可能为一随机拼合的数据,这样会使取指不正确,必定导致程序运行混乱“跑飞”,进入死循环而死机。

反过来由于程序脱离正常循环,也使定时器触发脉冲丢失,在经过T2(T3)时间后,“看门狗”定时器被激活,向CPU发出Reset 信号使其复位,将“跑飞”的程序从PC=0000H开头,纳入正常轨道。

51单片机的看门狗

51单片机的看门狗

“看门狗”概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watch dog)。

加入看门狗电路的目的是使单片机可以在无人状态下实现连续工作,其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便将它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,从而单片机将从程序存储器的起始位置重新开始执行程序,这样便实现了单片机的自动复位。

通常看门狗电路需要一个专门的看门狗芯片连接单片机来实现,不过这样会给电路设计带来复杂,STC单片机内部自带有看门狗,通过对相应特殊功能寄存器的设置就可实现看门狗的应用,STC89系列单片机内部有一个专门的看门狗定时器寄存器,Watch Dog Timer 寄存器,其相应功能见下个知识点。

看门狗定时器寄存器(WDT_CONTR)STC单片机看门狗定时器寄存器在特殊功能寄存器中的字节地址为E1H,不能位寻址,该寄存器用来管理STC单片机的看门狗控制部分,包括启停看门狗、设置看门狗溢出时间等。

单片机复位时该寄存器不一定全部被清0,在STC下载程序软件界面上可设置复位关看门狗或只有停电关看门狗的选择,大家根据需要可做出适合自己设计系统的选择。

其各位的定义如表4.2.1所示。

表1看门狗定时器寄存器(WDT_CONTR)EN_WDT:看门狗允许位,当设置为“1”时,启动看门狗。

看门狗介绍

看门狗介绍

看门狗(watchdog)"看门狗"(watchdog) ,又叫 watchdog timer,是一个定时器电路,是在由单片机构成的微型计算机系统中,为了防止单片机的工作受到来自外界电磁场的干扰,造成程序的跑飞,陷入死循环,而设计的用于监测单片机程序运行状态的芯片。

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

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

看门狗可使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

◆分类和使用方法看门狗可分为硬件看门狗和软件看门狗两种。

硬件看门狗:硬件看门狗的主体是一个定时电路,并由被监控CPU提供周期性“喂狗”信号,对定时器清零(俗称“清狗”)。

CPU正常工作时,由于能定时“清狗”,看门狗内的定时器不会溢出。

当CPU出现故障,则不能继续提供“清狗”信号,使得看门狗内定时器不断累加而溢出,从而触发一个复位信号对CPU进行复位,使CPU重新工作。

常用的看门狗芯片有ADM706/MAX706,为了使硬件看门狗更可靠,使用起来更灵活,当今主流的设计方式都是看门狗芯片配合逻辑器件(CPLD)来使用。

此时,看门狗有三种清狗方式:1)正常工作时,CPU输出WDI信号清狗;2)CPU关闭看门狗(不输出WDI信号),由CPLD输出WDI清狗信号,此方法不推荐使用,容易出问题,有的设计规范中是严禁CPU关闭看门狗的;3)CPU挂死后,CPLD主动输出WDI清狗信号一段时间,如果CPU仍未恢复正常,则不再继续清狗,等待看门狗芯片内部定时器溢出后输出复位信号对CPU进行复位。

看门狗实验

看门狗实验

看门狗实验1. 为什么要看门狗?看门狗的原理是什么?外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)它的基本原理为,给看门狗设置一个时间周期,如果在这个周期内程序不能正常运行结束,定时器会自动益处,则系统会自动复位,使系统重新运行进而得到监控系统的作用。

假设程序运行的时间为Tp,定时器时间为Ti,Ti>Tp,在Ti时间内程序正常结束则不会发生益处的现象,如果受干扰等原因系统不能在Tp时刻内修改计数器的值,则在Ti时刻时系统会自动复位,引发系统重新运行。

一般情况下都是应用程序在运行结束后去喂狗,当应用程序出现异常而不能去喂狗时,在超过看门狗定时器的时间范围后,cpu会复位,起始喂狗的过程就是给看门狗的寄存器置位,当程序开始运行时,看门狗的计数器开始递减,在减到零之前必须喂狗,否则系统会复位,当减到零时还没有喂狗则系统复位。

2. 看门狗的功能1)作为常规功能可以产生中断,通用的中断用16bit定时器2)作为看门狗使用,当时钟计数器减为0时(超时),他将产生一个128个时(PCLK)钟的的复位信号我们常见的时钟有3个,FCLK,HCLK,PCLK,他们的工作频率分别是400MHz,400/3MHz,和400/6MHz,看门狗使用的是PCLK时钟。

下图为看门狗的电路示意图PCLK经过两次降频,prescaler的值从0到256-1,Division_factor的值为16,32,64,128。

看门狗定时器记数值的计算公式如下:t_watchdog的值是寄存计数器(WDTCNT)多长时间自减一次,他的单位是时间,一旦看门狗定时器被允许,看门狗定时器数据寄存器(WTDAT)的值不能被自动的装载到看门狗计数器(WTCNT)中,因此,看门狗启动前要将一个初始值写入看门狗计数器(WTCNT)中。

单片机的看门狗

单片机的看门狗

引言概述:
单片机的看门狗(二)是在第一篇文章中讨论的单片机看门狗的延伸,本文将深入探讨单片机看门狗的使用场景、工作原理、设置参数、使用注意事项以及常见问题等方面的内容。

单片机看门狗是一种重要的硬件设备,在系统稳定性和可靠性方面起到关键作用,因此了解和掌握单片机看门狗的相关知识是非常有必要的。

正文内容:
一、单片机看门狗的使用场景
1.1实时系统
1.2长时间运行的设备
1.3类似于操作系统的应用
二、单片机看门狗的工作原理
2.1看门狗定时器
2.2看门狗计数器
2.3看门狗复位信号
三、单片机看门狗的设置参数
3.1看门狗定时器的预分频和计数器
3.2看门狗复位信号的触发条件
3.3看门狗溢出时间的设置
四、单片机看门狗的使用注意事项
4.1错误的看门狗设置
4.2看门狗溢出时间过短
4.3看门狗溢出时间过长
五、单片机看门狗的常见问题及解决方法
5.1看门狗复位问题
5.2看门狗延时问题
5.3看门狗定时器设置问题
总结:
单片机看门狗是一项重要的硬件设备,它在保证系统稳定性和可靠性方面起到关键作用。

本文从使用场景、工作原理、设置参数、使用注意事项以及常见问题等方面深入探讨了单片机看门狗的相关知识。

在实际应用中,我们应该根据具体情况,合理设置单片机看门狗的参数,避免错误的配置导致系统异常。

同时,我们也要注意单片机看门狗的溢出时间,不要设置过短或过长,以免影响系统的正常运行。

通过深入了解和掌握单片机看门狗的相关知识,我们可以更好地应用它,提高系统的稳定性和可靠性。

看门狗的作用和原理

看门狗的作用和原理

看门狗的作用和原理看门狗(Watchdog)是一种用于监控计算机系统正常运行的硬件或软件装置,其作用是在系统出现故障或崩溃时,能够自动重启系统,以保证系统的稳定性和可靠性。

看门狗的原理是通过定时检测系统的运行状态,一旦系统出现异常情况,如死机、卡死等,看门狗会及时检测到并进行相应的处理,以恢复系统的正常运行。

看门狗通常被应用在一些对系统稳定性要求较高的场合,比如工业控制系统、嵌入式系统、服务器等。

它可以监控系统的运行状态,一旦系统出现异常,就能够自动进行重启,从而减少系统因故障而停机造成的损失。

下面将详细介绍看门狗的作用和原理。

首先,看门狗的作用主要体现在系统的监控和保护方面。

它可以定时对系统进行检测,确保系统一直处于正常运行的状态。

一旦系统出现异常,比如程序死锁、死循环、硬件故障等,看门狗就能够及时检测到,并进行相应的处理,比如重启系统,以恢复系统的正常运行。

这样可以有效地保护系统不因故障而停机,提高系统的可靠性和稳定性。

其次,看门狗的原理是基于定时检测系统的运行状态。

它通常会设置一个定时器,定时对系统进行检测。

如果系统在规定的时间内没有收到看门狗的喂狗信号,就会认为系统出现了故障,从而触发相应的处理措施,比如重启系统。

这种原理可以有效地监控系统的运行状态,及时发现并处理系统的异常情况。

总的来说,看门狗在计算机系统中起着非常重要的作用,它可以保护系统的稳定性和可靠性,减少系统因故障而停机造成的损失。

通过定时检测系统的运行状态,一旦系统出现异常,看门狗就能够及时进行处理,确保系统能够持续稳定地运行。

因此,在对系统稳定性要求较高的场合,如工业控制系统、嵌入式系统、服务器等,都会广泛地应用看门狗技术,以保证系统的正常运行。

综上所述,看门狗的作用和原理是非常重要的,它可以有效地监控系统的运行状态,保护系统的稳定性和可靠性。

在实际应用中,我们可以根据具体的系统需求,选择合适的看门狗装置或软件,并合理设置参数,以达到最佳的系统保护效果。

看门狗

看门狗

看门狗(WatchDog)1.看门狗的作用•监测单片机程序的运行状态的芯片•看门狗(WatchDog)是计算机引入的一种专门的复位监控电路。

•一旦MCU运行出现故障,就强制对MCU进行硬件复位,确保MCU安全可靠运行。

复位嵌入式系统在无人值守的时候出现异常导致‘死机’现象看门狗的工作原理•MCU完成一次喂狗操作•在看门狗“饥饿”前等待下次操作•程序异常,喂狗超时,复位单片机•程序正常,狗被喂饱,等待再次喂狗•看门狗芯片和单片机的一个I/O口连接,该I/O口通过程序的控制定时的向看门狗送入高电平(低电平),这一程序分散的放在其他单片机控制程序之间,一旦单片机因为干扰跑飞进入死循环,写看门狗的程序就不能被执行,看门狗就会发出一个复位信号,复位单片机。

喂狗•看门狗就是一个计数器,由于位数有限计数器能够装的数值是有限的(比如8位的最多装256个数,16位的最多装65536个数),从开启看门狗那刻起,他就不停的数机器周期(12个时钟周期),输一个机器周期加1,加到计数器盛不下了(溢出)就产生一个复位信号,重启系统。

•我们在设计程序时,先根据看门狗计数器的位数和系统的时钟周期算一下计满数需要的时间,就是说在这个时间内看门狗计数器是不会装满的,然后在这个时间内告诉他重新开始计数,就是把计数器清零,这就是喂狗。

例子:•8051单片机选用12MHz晶振,一个机器周期为1us,如果看门狗是十六位的,最大计数65536个,那么从0开始计到65535需要65ms,所以我们可以在程序的50ms左右清零一次计数器(喂狗),让他从新从零开始计,再过50ms,再清,---,这样下去只要程序正常运行,计数器永远不会计满,也就永远不会被看门狗复位。

•看门狗都是启动之后就不能被关闭,只能系统复位(重新断电再上电)才能关闭。

看门狗的两个种类一般,看门狗主要是针对在实际应用环境中出现强烈干扰而导致程序意外跑飞的现象将看门狗的使用看为解决程序本身存在BUG导致跑飞的问题是一种误区AT89S52的看门狗定时器(WDT)•WDT由14位计数器和特殊功能寄存器中的看门狗复位存储器(WDTRST)构成。

watchdog原理

watchdog原理

watchdog原理Watchdog原理是一种常用的硬件或软件机制,用于监控系统或设备的状态,并在发生故障或异常情况时采取相应的措施。

本文将详细介绍Watchdog原理的工作原理、应用场景以及其在实际应用中的一些注意事项。

一、Watchdog原理的工作原理Watchdog原理的核心思想是通过定时器或计数器来监控系统的运行状态。

在系统正常运行时,Watchdog定时器会被定期重置,如果系统出现故障或异常情况,导致无法按时重置定时器,那么Watchdog定时器就会超时触发。

一旦Watchdog定时器超时触发,系统将会执行预先定义好的操作,例如重启系统或发送警报信息,以便及时处理故障。

二、Watchdog原理的应用场景1. 嵌入式系统:在嵌入式系统中,Watchdog原理常用于监控主控芯片或操作系统的运行状态。

一旦主控芯片或操作系统发生故障,Watchdog定时器会超时触发,从而重启系统或采取其他必要措施,以确保系统的稳定运行。

2. 服务器和网络设备:在服务器和网络设备中,Watchdog原理可以用于监控系统的各个模块或关键任务的运行状态。

当检测到关键任务或模块出现故障时,Watchdog定时器会触发相应的操作,例如重启故障模块或通知系统管理员。

3. 汽车电子系统:在汽车电子系统中,Watchdog原理可以用于监控各个电子控制单元(ECU)的运行状态。

当某个ECU出现故障时,Watchdog定时器会触发相应的操作,例如重启故障ECU或采取其他必要措施,以确保汽车的安全性和可靠性。

三、Watchdog原理的注意事项1. Watchdog定时器的定时周期需要根据系统的实际情况来设定,既不能过长导致无法及时响应故障,也不能过短导致误报。

2. Watchdog定时器的重置操作需要在系统正常运行的关键任务中进行,确保定时器能够按时重置,避免误报或延误。

3. 在设计和应用Watchdog原理时,需要充分考虑系统的可靠性和稳定性,避免Watchdog本身成为系统的单点故障。

watchdog的工作原理

watchdog的工作原理

watchdog的工作原理
Watchdog(看门狗)的工作原理:
一、什么是看门狗?
看门狗是一种软件或者硬件设备,能够定期检测操作系统的状态,确保系统正常运行。

它能够监控系统的状态,当发现不正常时启动相应的程序,如重启系统。

二、看门狗的工作原理
1. 定时器:看门狗利用定时器定期检测操作系统的状态是否正常,一旦发现无响应,即可以重启系统,确保系统的正常工作。

2. 触发器:看门狗启动后,每隔一段时间会触发一次,重复的发送信号,帮助操作系统自行恢复正常的运行。

3. 电机:当看门狗接收到信号后,会发动电机执行重启操作,即重新加载操作系统,确保系统正常运行。

4. 可编程接口:看门狗设置可以使用外设设置定时器,以实现一定的自动控制效果。

三、看门狗的作用
1.降低系统故障率:对系统中控制循环的死循环或者不断发出中断信号,看门狗能够及时发现并重启系统,有效的降低系统的故障率。

2.实时监控:看门狗可以实时监控系统的运行状态,及时重新加载操作系统,使得系统能够实现实时可靠的运行。

3.安全保护:看门狗能对系统进行安全保护,一旦发现异常情况,可以重启系统,防止恶意攻击和非法操作。

单片机看门狗

单片机看门狗

单片机看门狗简介单片机看门狗(Watchdog Timer,简称WDT),是一种常见于嵌入式系统中的硬件设备,用于监控系统的运行状态并在出现故障时采取相应措施。

该设备在单片机的内部,通过定时器和逻辑电路实现对系统的监控,一旦系统停止响应或发生意外情况,看门狗会自动执行预定义的操作,如复位系统等。

工作原理单片机看门狗的工作原理是基于定时器和逻辑电路的组合。

在系统正常运行时,定时器会周期性地进行倒计时,并通过逻辑电路的判断来确认系统是否正常。

如果系统一直能够及时喂狗(喂狗指的是定时器的计数周期内向看门狗喂入脉冲),看门狗认为系统处于正常状态,并在每次喂狗后重新计时。

如果在设定的时间内没有喂狗,看门狗会判断系统发生故障,进而执行相应的操作,如复位系统。

应用场景单片机看门狗在嵌入式系统中的应用场景非常广泛,特别是对于那些对系统可靠性要求较高的应用。

以下是几种常见的应用场景:1. 实时操作系统(RTOS)在实时操作系统中,单片机看门狗经常被用来监控任务的运行状态。

通过设定适当的看门狗定时器,并在每个任务执行的过程中定时喂狗,可以确保系统在出现任务堵塞或死循环等情况时得以及时恢复。

2. 工业控制系统在工业控制系统中,单片机看门狗常用于监控各个任务的运行状态,并保证系统的稳定性和可靠性。

例如,对于PLC (可编程逻辑控制器)等系统,单片机看门狗能够在检测到系统堵塞或故障时及时进行恢复,避免生产过程中的停机等问题。

3. 汽车电子领域在汽车电子领域,单片机看门狗被广泛应用于汽车电子控制模块(ECM)等关键系统。

通过监控系统的运行状态,单片机看门狗可以在检测到系统故障时进行自动恢复,并确保汽车电子系统的稳定性和可靠性。

优势与注意事项单片机看门狗作为嵌入式系统的重要组件,具有以下优势:1.提高系统可靠性:通过定期检测系统状态并自动执行相应操作,单片机看门狗可以在系统发生故障时迅速恢复系统的正常运行。

2.简化系统设计:单片机看门狗可以作为一个独立的硬件设备存在,与系统的其他部分相互独立,从而简化了系统设计和整合的复杂性。

单片机任务型软件_看门狗_原理及应用

单片机任务型软件_看门狗_原理及应用

借助单片机中的定时器中断机制, 每个任务分配计时单元 和运行标志位,由定时中断依据运行标志位状态独立计时, 任 务正常完成时, 运行标志位和计时单元均恢复到非运行状态描 述。在主程序循环中, 任务的限时判断模块独立于原任务处理 它只是对任务运行的时间进行判断, 如 模块之外, 如图 2 所示, 果服务时间超过了正常的运行时间, 则复位这个任务, 即将其 使用的有关资源, 恢复到任务开始前的初始状态, 供下一次任 务使用, 从而实现了任务型软件“ 看门狗” 的功能, 避免了相同 任务之间的干扰。
器的控制命令, 如重起操作系统等。 以下是统计管理程序和中央监控程序通信数据报的结构:
9:; 应 用 程 序 到 目 录 7 <=> 7 ?@AB? 7 C:;+ 后 , 在 文 件 7 :DA 7 :EF@>D=
中添加 一 行 7 <=> 7 ?@AB 7 C:;= ( , 这表明这个目录可以在装载 >C ) 并有读写权限。在每个真实服务 56+ 的任何远程系统上使用, 器上, 在其文件 7 :DA 7 G=DB; 中添加下面一行: &"$&&$3$’ : 7 <=> 7 ?@AB? 7 C:;= 7 <=> 7 ?@AB? 7 D@HABD 7 C:;BFF= 7 IJJK 7 CLMN=@GD, 将 C:;= 映射为本地目录 7 <=> 7 ?@AB? 7 D@HABD 7 C:;BFF= 7 IJJK 7
文章编号 &""!12%%&1( !""# ) %#1"&!!1"!
!"#$%#&’( )$* +&&’#%),#-$ -. /-.,01),%2*-3 4(%2$-’-35 .-" 6)%2 4)78 #$ 9:;

看门狗

看门狗

端口初始化程序如下:
片不带喂狗端口
方式1中所采用的是带WDI端口的看门狗芯片,但有些芯片是不带WDI端口的,这时看门狗用于电源检测,当低于设定电压时,输出复位信号,使系统复位。第二种方法也采用2812的引脚配合方式,但不需要时时刻刻喂狗。图3为所采用的看门狗芯片MAX708。图4为MAX708与2812的接口电路。
{
EALLOW;
SysCtrlRegs.WDCR= 0x0068;//0110 1000
EDIS;
}//使看门狗无效
void KickDog(void)
{
EALLOW;
SysCtrlRegs.WDKEY = 0x0055;
SysCtrlRegs.WDKEY = 0x00AA;
这里利用while(1)的死循环等待看门狗的计数器超过设定值,然后WDRST信号输出低电平;而WDRST接到XRS上,所以整个系统复位,重新开始执行程序。
看门狗程序如下:
结 语
第一种和第二种方式基于硬件的实现,更加可靠些,第三种方式则可以节约电路板的空间和成本。需要注意的是,采用软件看门狗时调用喂狗程序的间隔不能大于设定值。
TMS320F2812(以下简称2812)是TI公司2000系列的新型DSP芯片,具有32位低功耗定点处理器,最高主频150 MHz,有强大的操作能力和快速的中断响应处理能力。片内有18 K字高速RAM,128 K字的可加密Flash ROM。片上还集成了丰富的片内外设.有SPI、SCI、eCAN和McB—SP等多个串口外围设备,16通道的12位模数转换器(ADC),2个事件管理器(EVA、EVB),56个独立的可编程、多用途通用I/O口(GPIO)。该DSP芯片集成了大量工业控制领域应用的外设接口,能大大简化电路设计,同时它也具有足够的处理能力,是应用于控制领域的一款高性能DSP处理器。

看门狗的原理和应用

看门狗的原理和应用

看门狗的原理和应用1. 什么是看门狗?看门狗(Watchdog)是一种硬件或软件机制,用于监控和保护系统的稳定运行。

它类似于一个定时器,定期检查系统的状态,并在系统出现故障或崩溃时采取必要的措施,例如自动重启系统。

2. 看门狗的原理看门狗的原理主要基于以下几个方面:•计时器:看门狗通常内置一个计时器,用于记录系统的运行时间。

•喂狗操作:软件需要定期向看门狗发送喂狗信号,告诉它系统正常运行。

如果喂狗信号未及时发送,看门狗会认为系统出现问题。

•复位信号:当看门狗认为系统出现问题时,它会触发一个复位信号,导致系统重新启动。

3. 看门狗的工作流程看门狗的工作流程可以描述如下:1.系统启动时,看门狗开始计时。

2.软件定期发送喂狗信号,重置看门狗的计时器。

3.如果系统正常运行,重复步骤2。

4.如果软件未及时发送喂狗信号,看门狗的计时器将超时。

5.看门狗将触发复位信号,导致系统重新启动。

4. 看门狗的应用看门狗在许多领域都有广泛应用,以下是一些常见的应用场景:•嵌入式系统:嵌入式系统通常需要长时间稳定运行,看门狗可以在系统崩溃或死锁时自动重启系统,保持系统的稳定性。

•服务器管理:服务器是运行24/7的关键设备,看门狗可以检测服务器的状态,并在出现故障时重新启动服务器,确保服务的连续性。

•物联网设备:物联网设备通常地处边缘环境,稳定性是非常重要的。

看门狗可以监控设备状态,并在设备失效时采取必要的措施。

•工业自动化:在工业自动化过程中,看门狗可以监控设备运行状态,并在设备故障时采取措施,以防止生产线停机。

5. 注意事项在使用看门狗时,需要注意以下几点:•喂狗频率:喂狗信号的频率应根据系统的实际情况来确定。

喂狗频率过低可能导致系统误判为故障,喂狗频率过高则可能浪费系统资源。

•信号丢失:由于各种因素,喂狗信号有可能丢失。

在设计系统时,应考虑如何处理喂狗信号丢失的情况,以避免误判系统故障。

•重启过程:由于看门狗的触发会导致系统重新启动,因此需要谨慎处理重启过程中的数据保存和恢复操作,以免造成数据丢失或损坏。

基于watchdog的应用与原理

基于watchdog的应用与原理

基于WatchDog的基本原理和使用方法的实训报告看门狗的工作原理:嵌入式控制系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个系统瘫痪。

为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(Watchdog)电路。

看门狗电路的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。

设本系统程序完整运行一周期的时间是tp,看门狗的定时周期为ti,且ti>tp,在程序运行一周期后就修改(再重新设定看门狗的定时周期)定时器的计数值(俗称“喂狗”),只要程序正常运行,定时器就不会溢出。

若由于干扰等原因使系统不能在tp时刻修改定时器的计数值,定时器将在ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。

期中PXA270提供了5种复位方式:上电复位:当VCC_BATT管脚第一次上电时产生,是一种完全复位。

硬件复位:也是种完全复位,当nRESET管脚置位时产生。

看门狗复位:看门狗控制器触发,是一种部分复位,详见PXA270芯片手册。

GPIO复位:是硬件复位的一种形式,可以由外部信号触发。

也是一种完全复位。

睡眠退出复位:复位那些在睡眠和深度睡眠时断电的模块(在这里我们主要探讨PXA270看门狗的复位方式)从下图1-1中,我们可以看到看门狗的电路示意图:WTCON[15:8]看门狗定时器计数值的计算公式如下:输入到计数器的时钟周期:t_watchdog=1/( PCLK/(Prescaler value+1)/Division_ factor) 其中,PCLK为系统时钟频率;Prescaler value为预分频值(值0~255 );Division_ factor 为四分频值,可以是16、32、64或128。

看门狗的定时周期: T = WTCNT×t_Watchdog,其中WTCNT是看门狗定时器的计数器,它的值表示该定时器的当前计数值。

其中芯片里面的OSMR3的作用如下图:其中OWER寄存器的作用如下图:从图1-1,我们也可以看到,在整个watchdog电路图中,有不少的寄存器:定时器控制寄存器WTCON、定时器数据寄存器WTDAT,期中:定时器控制寄存器WTCON 是可以使能/禁止看门狗、选择输入时钟源、使能/关闭中断、使能/关闭输出,该寄存器及其控制位的定义如表12-1和12-2所列。

利用单片机内部定时器实现软件看门狗

利用单片机内部定时器实现软件看门狗

利用单片机内部定时器实现软件看门狗利用单片机内部定时器实现软件看门狗勤镐工控(05/09/04)软件看门狗(WATCH DOG)也叫做程序运行监视系统。

当程序运行受到干扰,程序飞到一个临时构成的死循环中时,系统将完全瘫痪,软件陷阱也无能为力了,这时就需要人工复位或硬件复位;如果没有人工操作和硬件复位系统,我们采用软件看门狗技术同样也能使系统复位,恢复正常。

这种程序监视系统就好比主人家养了一条狗,主人总要定时喂狗,如果主人忘了喂狗(程序受到干扰,跑飞掉了),狗就会大叫起来,提醒主人(程序重新运行)。

软件看门狗的特性如下:1、本身独立工作,基本上不依赖CPU;2、CPU在一个固定的时间间隔内和系统打一次交道(喂一次狗),以表明系统目前工作正常。

3、当CPU陷入死循环后,能及时发觉并使系统复位。

当系统陷入死循环后,怎样才能从死循环中跳出来呢?只有比这个死循环更高级的中断程序才能夺走CPU的控制权。

为此,可以用一个定时器来做软件看门狗,因为定时器在运行时不占用CPU资源,它是独立工作的,所以,将它的溢出中断设定为最高优先级中断,系统的其它中断均设为比它低级的中断优先级。

然后根据看门狗的定时时间来设定定时器初值。

软件看门狗启动后,系统工作程序必须经常“喂它”,且每两次之间的间隔不得大于定时器的定时时间。

程序中只要设立一个设置定时器初值的子程序,喂它时只要调用这个子程序即可。

当程序陷入死循环后,定时器溢出,产生高优先级中断,从而跳出死循环。

我们还可以在定时器中断服务程序中放置一条LJMP ERR 指令,即可使程序转向出错处理程序;由出错程序来完成以后的工作,并用软件的方法使系统复位。

以下是一个用定时/计数器T0作软件看门狗的完整程序:ORG 0000HAJMP MAINORG 000BHLJMP ERR MAIN :MOV SP , #60HMOV PSW , #00HMOV SCON , #00HMOV TMOD , #01H ;设置T0为16位定时器SETB ET0 ;允许T0中断SETB PT0 ;设置T0中断为高级中断MOV TL0, #00H ;设定T0的定时初值,定时时间约为16ms(6M 晶振)MOV TH0, #0B0HSETB EA ;开中断SETB TR0 ;启动T0 LOOP:...... ;主程序开始LCALL WATCH DOG ;调用喂狗子程序......LJMP LOOP WATCHDOG:MOV TL0, #00H ;喂狗子程序MOV TH0, #0B0HSETB TR0RET ERR:POP ACC ;定时器中断POP ACC ;看门狗软件复位程序CLR APUSH ACCPUSH ACC RETI在程序中,由于执行了中断服务程序后,PC 的指针已经指向0000H ,从而实现了软件复位的目的。

看门狗芯片工作原理

看门狗芯片工作原理

看门狗芯片工作原理什么是看门狗芯片看门狗芯片(Watchdog Chip)是一种用于控制电子设备正常运行的硬件组件。

它能够监测设备的运行状态并自动重启设备,以保证系统的稳定性和可靠性。

本文将详细介绍看门狗芯片的工作原理以及其在不同领域的应用。

看门狗芯片的工作原理看门狗芯片的工作原理可以分为以下几个步骤:1. 监测运行状态看门狗芯片首先监测设备的运行状态,例如CPU的运行状态、外部时钟信号等。

通过定时检测这些状态,看门狗芯片能够判断设备是否处于正常工作状态。

2. 计时器启动一旦看门狗芯片监测到设备的异常状态,它会启动一个内部计时器。

这个计时器会开始倒计时,并在预设的时间内持续运行。

3. 喂狗操作在设备正常运行期间,程序会定期向看门狗芯片发送一个“喂狗”操作,以重置内部计时器的计数。

这个操作可以是向看门狗芯片发送一个特定的信号、写入一个特定的寄存器或执行其他设定的操作。

4. 重启设备如果设备出现了异常状态,看门狗芯片在内部计时器倒计时结束时会执行一个重启操作。

这个操作会强制设备重新启动,以期恢复到正常的工作状态。

看门狗芯片的应用领域看门狗芯片广泛应用于各个领域,以确保设备的稳定性和可靠性。

以下是一些典型的应用领域:1. 嵌入式系统在嵌入式系统中,看门狗芯片可以确保设备长时间运行而不崩溃或死锁。

它能够检测到嵌入式系统的异常状态,如软件错误、死循环等,并自动重启设备,从而保障设备的正常工作。

2. 服务器在服务器领域,看门狗芯片通常被用来监测服务器的运行状态。

如果服务器出现故障或崩溃,看门狗芯片可以触发重启操作,以保证服务器的高可用性和稳定性。

3. 汽车电子系统在汽车电子系统中,看门狗芯片起到了相似的作用。

它能够监测汽车电子系统的运行状态,防止由于软件错误或硬件故障导致汽车系统崩溃或无响应的情况发生。

看门狗芯片的存在能够提高汽车的安全性和可靠性。

4. 工业控制系统在工业控制系统中,看门狗芯片被广泛使用,以确保工控设备的稳定运行。

看门狗的作用和原理

看门狗的作用和原理

看门狗的作用和原理
看门狗是一种用于监控和保护计算机系统的程序或硬件设备。

它的作用是在系统出现异常或崩溃时能够自动重启或采取相应的措施,以确保系统的稳定运行。

看门狗的原理是基于定时重置的机制。

它通过一个定时器来监控系统的运行情况,每隔一段时间就会向系统发送一个重置信号。

如果系统正常运行并响应这个信号,那么看门狗会继续等待下一次重置信号。

但是如果系统异常或崩溃,那么它就无法响应这个信号,此时看门狗会认为系统出现了问题,并采取相应的措施,比如重启系统或执行其他预设的操作。

通过这种方式,看门狗能够对计算机系统进行持续的监控,及时发现并处理系统故障。

它可以防止系统在异常情况下长时间停机,减少系统故障对用户的影响。

同时,看门狗也可以通过监控系统的运行情况来发现潜在的问题,帮助系统管理员进行故障诊断和排查。

总之,看门狗是一种有效的系统保护工具,通过定时重置的机制对计算机系统进行监控和保护,确保系统的稳定运行。

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

单片机看门狗(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死机。

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

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

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

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

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

常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等。

软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。

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

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

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

而T1的中断正常与否我们再由T0定时中断子程序来监视。

这样就够成了一个循环,T0监视T1,T1监
视主程序,主程序又来监视T0,从而保证系统的稳定运行。

51 系列有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复位。

看门狗可设定溢出率,也可单独用来作为定时器使用。

凌阳61的看门狗比较单一:一个是时间单一;第二是功能在实际的使用中只需在循环当中加入清狗的指令就OK了。

AVR系列中,avr-libc 提供三个API 支持对器件内部Watchdog 的操作,它们分别是:
wdt_reset() // Watchdog 复位
wdt_enable(timeout) // Watchdog 使能
wdt_disable() // Watchdog 禁止
C8051Fxxx单片机内部也有一个21位的使用系统时钟的定时器,该定时器检测对其控制寄存器的两次特定写操作的时间间隔。

如果这个时间间隔超过了编程的极限值,将产生一个WDT复位。

-----------------------------------------------------------------------------------------------------
看门狗使用注意:大多数51 系列单片机都有看门狗,当看门狗没有被定时清零时,将引起复位。

这可防止程序跑飞。

设计者必须清楚看门狗的溢出时间以决定在合适的时候,清看门狗。

清看门狗也不能太过频繁,否则会造成资源浪费。

程序正常运行时,软件每隔一定的时间(小于定时器的溢出周期)给定时器置数,即可预防溢出中断而引起的误复位。

看门狗运用:看门狗是恢复系统的正常运行及有效的监视管理器(具有锁定光驱,锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值。

系统软件"看门狗"的设计思路:
1. 看门狗定时器T0的设置。

在初始化程序块中设置T0的工作方式,并开启中断和计数功能。

系统Fosc=12 MHz,T0为16位计数器,最大计数值为(2的16次方)-1=65 535,T0输入计数频率为Fosc/12,溢出周期为(65 535+1)/1=65 536(μs)。

2. 计算主控程序循环一次的耗时。

考虑系统各功能模块及其循环次数,本系统主控制程序的运行时间约为16.6 ms。

系统设置"看门狗"定时器T0定时30 ms(T0的初值为65 536-30 000=35 536)。

主控程序的每次循环都将刷新T0的初值。

如程序进入"死循环"而T0的初值在30 ms内未被刷新,这时"看门狗"定时器T0将溢出并申请中断。

3.设计T0溢出所对应的中断服务程序。

此子程序只须一条指令,即在T0对应的中断向量地址(000BH)写入"无条件转移"命令,把计算机拖回整个程序的第一行,对单片机重新进行初始化并获得正确的执行顺序。

看门狗也有对计算机危害之处。

如果用看门狗软件加密并发送到环形网络内(如学校机房),将会造成每发送一次,两台电脑同时中毒一天,还会持续一周蔓延。

如:运行速度超慢,桌面背景变换,画图软件要黑色出绿色等等。

还会造成每台电脑少几个文件。

相关文档
最新文档