今天给大家介绍一种硬件应用技术。看门狗技术。不是真的看家护院的小狗呀。
看门狗,⼜叫watchdog timer,主要⽤来监控、管理CPU的运⾏状态,并对处于异常状态中的CPU进⾏复位操作,使其能重新⼯作。看门狗可分为硬件看门狗和软件看门狗两种。
硬件看门狗的主体是⼀个定时电路,并由被监控CPU提供周期性“喂狗”信号,对定时器清零(俗称“清狗”)。CPU正常⼯作时,由于能定时“清狗”,看门狗内的定时器不会溢出。当CPU出现故障,则不能继续提供“清狗”信号,使得看门狗内定时器不断累加⽽溢出,从⽽触发⼀个复位信号对CPU进⾏复位,使CPU重新⼯作。
软件看门狗原理上⼀样,只是将硬件电路上的定时器⽤处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性⽅⾯不如硬件定时器,⽐如系统内部定时器⾃⾝发⽣故障就⽆法检测到。当然也有通过双定时器相互监视,这不仅加⼤系统开销,也不能解决全部问题,⽐如中断系统故障导致定时器中断失。
硬件看门狗是一个简单的程序,不会出现异常。 所以,一旦主程序出现异常,而软件看门狗无法唤醒,硬件看门狗会断电重启,将整个设备的程序复位。可见看门狗技术是保障工业路由器正常传输的重要组成部分。