- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
134讲:看门狗技术
WATCHDOG和系统支持 WATCHDOG和系统支持 WATCHDOG和系统支持 一、WATCHDOG的特性与工作原理 Watchdog的目的是当侵入的尖峰干扰使计算机“飞程序”陷入“死循环”中时,Watchdog能够帮助系统自动恢复正常运行。因此Watchdog必须具有以下特性: (1)本身能独立工作,基本上不依赖CPU。 (2)CPU在一个固定的时间间隔中和Watchdog打一次交道,以表明系统目前“尚正常”。 (3)当CPU掉入死循环后,Watchdog能及时发觉并使系统复位。 要达到Watchdog的真正目标,该系统必须包括一定的硬件部分,由一个与CPU形成闭合回路的定时器所构成的Watchdog如下图所示。 WATCHDOG的特性与工作原理 WATCHDOG的特性与工作原理 定时器的输出连到CPU的复位端或中断输入端。定时器的每一次溢出输出将引起系统复位,使系统重新初始化,即从头开始运动;或产生中断使系统进入故障处理程序,进行必要的处理,自动恢复正常的运行程序。 定时器受CPU控制,CPU可重新设置定时值或重新启动。只要在定时器的“定时到”以前,CPU访问定时器一次(主人喂一次狗),使定时器重新开始计时,该定时器就永远不会产生溢出脉冲(狗不叫);若在定时器的“定时到”以前CPU未访问定时器(主人没有喂狗),这即表明系统已陷入“死循环”中,那么“定时到”信号就会出现(狗会叫),从而引起系统复位或中断,以恢复正常运行。 WATCHDOG的特性与工作原理 采用Watchdog,无疑可大大提高系统实时运行可靠性。但遇到下述情况之一,就失去效用。 (1)Watchdog或CPU电路自身损坏。 (2)某个或几个有关Watchdog的关键数据虽已采取数据保护措施,但碰巧遇上了某种干扰而被改写。 (3)干扰使CPU执行一个重构的错误循环程序,该循环中正好包含了对Watchdog的访问,而且访问间隔小于Watchdog的溢出时间。 Watchdog技术主要用于周期性循环操作的实时测量和控制任务,’如分散型控制系统的前台机、智能仪表等。无论现场环境是否恶劣,采用以后都是利多弊少。但对于比较复杂的管理任务,如图形、打印、费时间的运算决策等,虽然不是绝对不可用,但考虑修复的程序设计繁难,效果也有限。这类事情应用通信方式送到后台机去做,后台机处于良好的环境中,而前台机的通信任务置于Watchdog的监视之下。 二、WATCHDOG的实现方法 Watchdog可由各种定时器构成。如振荡器加上可复位的计数器构成的定时器;各种可编程的定时器/计数器,像Intel8253/8254,单片机内部的定时器/计数器等。 (一)用可编程计数器实现Watchdog电路 下图是用8253计数器实现的Watchdog电路。CPU通过总线实现对8253计数器0的访问。可将8253计数器0设置成模式0,对计数器0的初值寄存器中高字节和低字节的写操作将启动计数器工作。计数值越大,定时的时间越长。如果在计数值减到。以前,CPU重写计数值,将重新启动计数器从所写的数值开始进行减1操作。如果在计数器减到0时CPU未刷新计数值,将产生溢出,经单稳电路产生复位或产生不可屏蔽中断。 用8253构成Watchdog电路 (一)用可编程计数器实现Watchdog电路 采用可编程定时器/计数器作为Watchdog应注意一个问题:由于这些芯片工作模式的方式字或控制字是靠执行程序写入到器件内部寄存器中的,如果电磁干扰恰好改变了方式字或控制字,可能导致不产生溢出,从而使Watchdog失效。像单片机MCS-51的定时器/计数器TO和T1,如果方式字或控制字被改写就会失效。从这个角度来看,用硬件定时器要比用可编程定时器可靠。基于同样的考虑,Watchdog输出一定要接到CPU的复位端或者不可屏蔽中断的输入端,而不应接到可屏蔽中断输入端。 但是,8253(包括8254)却不会因此而失效。这是因为当它工作于方式0时,在方式字被改写成任意其他内容时其输出端仍会产生一次突跳,达到采用Watchdog的目的。 (二)两级Watchdog PROLOG公司提出了一种两级Watchdog的连接方式,如右图的定时器有两个输出。第一个输出O1(第一级Watchdog)若定为10ms间隔,接到CPU的NMI;第二个输出O2(第二级Watchdog)则定为20ms(从RST脉冲启动开始算),其输出连到CPU复位端。每隔10ms,O1的输出引起一次NMI操作,而在10ms到20ms之间,CPU必须访问定时器以重新启动它;如果到20msCPU仍未访问定时器,定时器将溢出引起CPU复位。 * * 前述几项抗干扰措施是针对输入输出通道的;干扰还未作用到工控机的cpu本身,这时cpu还能正确无误地执行各种抗干扰程序,
文档评论(0)