看门狗定时器是单片机的一个组成部分,在单片机程序的调试和运行中都有着重要的意义。它的主要功能是在发生软件故障时,通过使器件复位(如果软件未将器件清零)将单片机复位。也可以用于将器件从休眠或空闲模式唤醒,看门狗定时器对微控制器提供了独立的保护系统,当系统出现故障时,在可选的超时周期之后,看门狗将以RESET信号作出响应,像x25045就可选超时周期为1.4秒、600毫秒、200毫秒三种。当你的程序死机时,x25045就会使单片机复位。
大多数看门狗定时器IC产生一个单一的,有限的输出脉冲持续时间当看门狗超时。这适用于触发复位或中断微处理器,但有些应用需要输出(故障指示灯)的锁存器。
考虑到安全性问题,汽车电子系统需要监控电路监测故障容限或安全性。看门狗定时器可理想满足这类需求,通过对微控制器正常工作条件下产生的周期脉冲进行检测,侦测电路或IC的失效状态,一旦发生故障可立即切换到备份/冗余系统。
计算机高手解释一下硬件看门狗是啥意思?
硬件看门狗实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序正常,则过一段时间CPU会发一个指令让看门狗复位,计数重新开始。如果看门狗倒计数到0就认为程序不正常,强行复位系统。
看门狗对于恢复系统的正常运行及有效的监视管理器(具有锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值。
看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器。
游民下载的看门狗一点开就弹窗 说是游戏已停止工作
破解补丁失效,被杀毒软件拦截。
游戏安装目录必须全英文,且越短越好。
关闭杀毒软件。
(单片机)外部看门狗是怎么实现的?
外部看门狗的实现方法如下:
1、硬件看门狗的主体是一个定时电路,并由被监控CPU提供周期性“喂狗”信号,对定时器清零(俗称“清狗”)。CPU正常工作时,由于能定时“清狗”,看门狗内的定时器不会溢出。当CPU出现故障,则不能继续提供“清狗”信号,使得看门狗内定时器不断累加而溢出,从而触发一个复位信号对CPU进行复位,使CPU重新工作。
2、软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。
看门狗,是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
ecu看门狗故障怎么排除
故障有各样的原因,需要从外到内、从机械到电气、从软件到硬件逐步进行检查测试和判断。但更重要的是要注意防范,要改善不良的使用环境,改变不良的使用习惯,坚持按科学合理的使用程序开机、关机和操作。电脑工作时,尤其是读写数据时不能突然关机,否则可能会损坏驱动器(硬盘、软驱等);不能在机器工作时搬动机器。当然,即使机器未工作时,也应尽避免搬动机器,因为过大的震动会对硬盘一类的配件造成损坏。另外,关机时必须先关闭所有的程序,再按正常的顺序退出,否则有可能损坏应用程序。总而言之,电脑出现的故障,既有复杂故障也有简单故障,其中大部分故障都有一定的蛛丝马迹,甚至是一些十分明显的外观表现,比如电容器体积膨胀、未装散热片的非功率型集成块的表面出现严重发热现象等。实际上,只要我们能够通过“望、闻、听、切”并认真分析,其中的大部分故障完全可以采用简单的方法来顺利解决的。
STM32窗口看门狗WWDG,有关硬件复位清零的问题,教材一句话看不明白,如下:
也就是说,一旦开启了,没有办法再禁止了。除非重新掉电重启。这个为了防止你程序误操作的。一旦启动,只能喂狗。更多
也就是说带电reset,看门狗依然有效;如果停电了,再来电,看门狗就失效了?
嗯。STM32还有一个IWWDG这个是只要开启就只能重新断电的。
那我设计的设备,现场停电了,再来电看门狗就失效了??那看门狗还有什么意义?
停电了,都不工作了,怎么可能还有监控意义呢,这个看门狗只是防止你的程序跑飞而已。不是防止停电的。
我设计一块电路板,在公司测试正常,断了电寄给客户,客户通电,这时候看门狗就没有用了?如果我想客户上电也有看门狗运行,靠STM32本身的情况解决不了?
你程序开始的时候,就要开启一次啊,就是一上电就有看门狗啊,这个不正是你想给客户的功能吗?
我刷进程序,通电测试,然后断电。这时不就没有看门狗了吗?寄给客户他上电会启动狗?
1、掉电重启就会使看门狗失效,所以我测试后断电寄给客户,他们上电看门狗是无效的。
2、程序本身“开始的时候,就要开启一次啊,就是一上电就有看门狗”,所以停电并不能使看门狗失效。
以上两条信息都是今天咱们的谈话信息,哪个对?我怎么越来越糊涂好像?
STM32本身的看门狗是关闭的,除非你程序启动;
像你 1 中说的断电后再上电,只要你程序是有启动看门狗的,肯定看门狗是会被程序启动的。其实看门狗本身就是一个计数器而已,是需要你程序去启动的。就这么简单。
如果你给了客户一个有看门狗的程序,那么客户上电看门狗肯定会启动啊。
单片机中说的看门狗是什么
WDT是英语Watchdog Timer的缩写字母。 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的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。 51 系列有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复位.看门狗可设定溢出率,也可单独用来作为定时器使用. 看门狗使用注意:大多数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)写入"无条件转移"命令,把计算机拖回整个程序的第一行,对单片机重新进行初始化并获得正确的执行顺序。
例:pic16f877a控制led亮灭,程序中不喂狗,导致led亮时会闪。1为亮,0为灭。11111110000000变成1110111000000。
XSever是什么? 还有看门狗?
xsever是监视器的服务程序看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。
看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本身的错误。加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间内怠工。同时一些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要一笔软硬件的开销。
转载请注明出处51数据库 » 看门狗软件功能失效 看门狗定时器的功能作用
草莓roii
