软硬件看门狗技术研究
- 格式:pdf
- 大小:269.63 KB
- 文档页数:3
看门狗分硬件看门狗和软件看门狗。
硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。
如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。
软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。
当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。
看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本身的错误。
加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。
看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间内怠工。
同时一些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要一笔软硬件的开销。
在单任务系统中看门狗工作原理如上所述,容易实现。
在多任务系统中情况稍为复杂。
假如每个任务都像单任务系统那么做,如图1(a)所示,只要有一个任务正常工作并定期“喂狗”,看门狗定时器就不会溢出。
除非所有的任务都故障,才能使得看门狗定时器溢出而复位,如图1(b)。
而往往我们需要的是只要有一个任务故障,系统就要求复位。
或者选择几个关键的任务接受监视,只要一个任务出问题系统就要求复位,如图2(a)所示,相应的看门狗复位逻辑如图2(b)所示。
在多任务系统中通过创建一个监视任务TaskMonitor,它的优先级高于被监视的任务群Task1、Task2...Taskn。
TaskMonitor在Task1~Taskn正常工作情况下,一定时间内对硬件看门狗定时器清零。
如果被监视任务群有一个Task_x出现故障,TaskMonitor就不对看门狗定时器清零,也就达到被监视任务出现故障时系统自动重启的目的。
看门狗芯片原理
看门狗芯片是一种用于监控系统运行状态的硬件设备。
它通过定时检测系统的运行情况,以确保系统在出现故障或崩溃时能够自动重启或采取其他应急措施,从而提高系统的稳定性和可靠性。
看门狗芯片的工作原理如下:
1. 看门狗计时器:看门狗芯片内置了一个计时器,其作用是定时检测系统的运行情况。
通常,看门狗计时器的定时周期较短,例如几十毫秒或几秒钟。
2. 系统运行状态监测:看门狗芯片会周期性地向系统发送一个重启信号,例如通过触发系统复位信号。
只要系统正常运行,系统会在短时间内清除重启信号,以示系统正常。
但如果系统发生故障或崩溃,就无法及时响应和清除重启信号。
3. 看门狗定时器复位:当看门狗芯片向系统发送重启信号后,在一个设定的时间内,看门狗芯片会不断检测系统是否给出相应的回应。
如果系统未能及时回应或清除该信号,看门狗芯片会认为系统出现故障,并产生一个复位信号。
4. 系统复位:当看门狗芯片检测到系统出现故障时,它会向系统发送复位信号,强制系统重新启动。
这样,系统就可以在发生故障时快速恢复运行,从而减少故障造成的影响。
总之,看门狗芯片通过定时检测系统运行状态,并根据系统的
响应情况采取相应的动作,确保系统能够及时发现并处理故障,从而提高系统的可用性和可靠性。
nxp看门狗安全机制
看门狗,全称WatchDog Timer,是一种安全机制,用于监视和控制系统的运行状态。
NXP(NXP Semiconductors,前身为Philips Semiconductors)是一家半导体公司,也提供了一些具有看门狗安全机制的芯片和解决方案。
NXP的看门狗安全机制通常包括硬件看门狗和软件看门狗。
硬件看门狗是一种独立的芯片,可以监控系统的运行状态,如果系统出现异常或死机,硬件看门狗会自动重启系统,以恢复系统的正常运行。
软件看门狗则是一种程序,可以在系统运行时监视系统的状态,如果系统出现异常或死机,软件看门狗可以通过发送复位信号或执行特定操作来恢复系统的正常运行。
NXP的看门狗安全机制通常具有以下特点:
1. 可编程性:NXP的看门狗安全机制通常支持可编程控制,用户可以根据自己的需求设置看门狗的超时时间和复位阈值等参数。
2. 灵活性:NXP的看门狗安全机制可以与不同的微控制器或处理器配合使用,以适应不同的应用场景。
3. 可靠性:NXP的看门狗安全机制具有高可靠性和稳定性,可以保证系统的正常运行和安全性。
4. 低功耗:NXP的看门狗安全机制在正常工作时处于低功耗状态,不会对系统造成过多的功耗负担。
总之,NXP的看门狗安全机制是一种可靠的、可编程的、灵活的和低功耗的安全机制,可以用于各种需要系统监控和保护的应用场景。
看门狗原理看门狗原理可以被定义为一种用于在主机中实现软件超时保护的技术,它可以防止计算机处于悬空模式(hang)状况而无法响应用户操作请求,从而使整个系统失去响应。
由于系统的故障恢复成本较高,因此必须接受看门狗原理的解决方案来防止和修复系统的失效情况。
看门狗原理最初是在1980年代由工程师Gary Kildall开发在Intel 8086 CPU上使用的技术。
现在,它已经被广泛应用于嵌入式系统,个人计算机,服务器,自动化和财务系统等。
看门狗原理的主要原理是,它可以在一定时间间隔内开启一个称为“看门狗定时器”的硬件计时器。
当计时器的时间超过预定的阈值时,就会触发看门狗程序,使其执行一定的操作,以重置计时器,如果定时器在某一特定时间内没有被重置,它就会重新启动系统,以解决问题或重新恢复正常。
看门狗定时器的工作原理是,在指定的时间间隔内,它会发出一个触发信号来重新启动计算机,从而解决系统失效的问题。
因此,它不仅能够自动重启计算机,而且可以检测到系统故障,并执行必要的操作来修复它。
它通常可以重置系统,重新启动应用程序,重新加载硬件和软件设置,以及进行故障排除等。
看门狗原理的实现方式有多种,大多数使用的是异步看门狗定时器,它可以实现精确的时间间隔,可根据看门狗重启系统的时间来调整看门狗定时器的触发时间。
此外,也可以使用同步看门狗定时器,它可以每隔一定时间检查系统的状态,如果检测到有错误,它就会执行故障排除步骤来修复系统,同时可以用它来重置看门狗定时器,以便下次重启时不必重新启动系统。
看门狗原理在计算机系统中的应用十分广泛,它可以保护系统免受严重的故障,提高系统的可靠性,充分利用计算机系统的可用性,降低维护和管理成本,并且可以提高系统的可控性。
综上所述,看门狗原理是一种用于实现系统故障恢复和超时保护的重要技术,它可以帮助系统及时发现问题,并有效地恢复系统,确保系统稳定可靠地运行,为用户提供健康的计算机环境。
看门狗原理
看门狗(Watchdog)原理是一种计算机软件或硬件的保护机制,用来在发生软件或硬件故障时重新启动系统或某个应用程序,而不需要人工处理。
看门狗(Watchdog)原理具有检测功能以及处理功能,可以在系统检测到某种异常情况时采取合适的处理措施,避免造成进一步损害。
看门狗原理在类型上可分为硬件看门狗(HardwareWatchdog)和软件看门狗(SoftwareWatchdog),硬件看门狗是系统硬件板上安装的一种独立模块,而软件看门狗则是操作系统或应用程序中实现的一种保护机制。
硬件看门狗的工作原理主要是采用一个独立的定时计数器来控
制系统中的动作时间,如果一段时间内没有收到来自处理器的某种信号,即认为处理器出现异常,立即重新启动系统。
软件看门狗的工作原理和硬件看门狗相似,也是运行在系统中的一种独立服务,其主要功能是检测系统的运行情况,如果发现系统或某个程序或数据处理器出现错误,就会进行重新启动。
软件看门狗的优点是能够根据不同的需求,进行定制的设置,可以更好的满足不同的需求,而且不需要考虑硬件看门狗的空间限制。
看门狗原理是一种有效的系统保护机制,它能够及时发现系统故障,采取相应的处理措施,防止系统崩溃,损坏数据,从而节省人力物力投入和时间成本,让系统更加安全可靠,降低用户的风险。
- 1 -。
新型纯硬件看门狗电路设计分析研究作者:谷智明来源:《无线互联科技》2019年第07期摘; ;要:看门狗电路是电子电路中一种非常常见的电路,常用的看门狗电路在喂狗进程工作,CPU死机的状态时,可以重新复位CPU,防止CPU跑飞。
但是在一些极端条件下,看门狗进程也会挂死,例如温度过高等,此时看门狗无法重启CPU,设备死机。
文章提出一种全新的看门狗电路,解决软件设备完全死机后CPU的复位问题。
关键词:看门狗;死机;复位由CPUhttps:///item/%E5%8D%95%E7%89%87%E6%9C%BA/102396构成的电子系统中,CPU的工作常常会受到外界因素的干扰,这些干扰造成各种寄存器和内存的数据混乱,导致程序跑飞,使软件陷入死循环,此时CPU无法正常工作,整个电子系统将陷入停滞状态,发生不可预料的后果。
1; ; 常见的看门狗电路看门狗就是定期地查看芯片内部的情况,一旦发生错误就向芯片发出重启信号的电路。
看门狗命令在程序的中断中拥有最高的优先级。
但是现在市面上绝大多数的看门狗电路都是软件看门狗电路,即CPU在完全死机的情况下(看门狗模块也死机)(见图1),无法进行看门狗复位。
图1; 纯软件看门狗电路后期有人改进了纯软件的看门狗电路,在CPU看门狗与CPU复位管脚之间增加了复位芯片(类似MAX706),具体如图2所示。
图2; 增加复位芯片的看门狗电路增加了复位芯片MAX706后,当CPU完全死机时,CPU的WDT_RST_OUT信号不喂狗,MAX706的WDI信号接收不到喂狗信号后会通过RST_OUT输出一个复位信号给CPU,在没有Switch的情况下,该复位信号直接到CPU的复位管脚,完成CPU的复位。
但是CPU只有在软件完全启动后才会给MAX706提供喂狗信号,在设备刚上电时,MAX706要比CPU早启动,此时,CPU无法给MAX706提供喂狗信号,在没有Switch的情况下,MAX706会频繁的复位CPU,造成CPU无法正常启动。
单片机看门狗(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死机。
看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以,在使用有看门狗的芯片时要注意清看门狗。
基于CD4060的硬件看门狗技术引言多年来,围绕着单片机应用系统的抗干扰技术以及其受干扰后的自我恢复,在硬件和软件等方面积累了多种方法,这些方法相互结合,配合使用,有效地提高了系统的可靠性与抗干扰性。
看门狗(Watch Dog Timer,简称为WDT)技术就是最常见的抗干扰技术。
看门狗WDT有硬件看门狗和软件看门狗之分,无论是硬件看门狗还是软件看门狗实际上都是一个可清零的定时计数器。
如果该定时计数器用MCU芯片外部电路实现,则为硬件看门狗,如果该定时计数器用MCU芯片内部定时器/计数器实现,则称为软件看门狗。
本文介绍硬件看门狗技术,并给出了实用的基于CD4060的硬件看门狗电路。
1 硬件看门狗电路及其工作原理基于CD4060的硬件看门狗电路如图1所示,它是针对工程项目所设计的一个实用电路,并且该电路实际使用情况良好。
下面介绍电路的组成及其工作原理。
看门狗电路由14位二进制计数器CD4060和三极管VT1、VT2等组成。
单片机AT89C51的P1.7口设计成输出口,由AT89C51的CPU向看门狗电路发送喂狗信号——正脉冲,在两个正脉冲间隔内,P1.7保持为低电平(此功能要结合软件才能实现,相应的软件设计在下面介绍)。
我们知道,单片机AT89C51的I/O口带灌电流负载的能力比较大,每个引脚低电平时的吸入电流为20 mA,带拉电流负载的能力却很小,实测情况是,每个引脚高电平时的输出电流仅25μA,现在P1.7口被设计成带拉电流负载的方式,为了提高P1.7口带拉电流负载的能力,所以,电路中设置了上拉电阻R3。
14位二进制计数器CD4060的计数脉冲由其内部振荡器和外接阻容元件R1、R2、C1组成的电路产生,振荡周期为T0SC=2.2×R1×C1=0.22 ms振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从CD4060的10个输出端Q4~Q10和Q12~Q14得到不同分频系数的方波输出,各方波输出信号的周期如表1所示。