来源:发电厂智能系统 发布时间:2024-10-05 00:49:11 阅读量:1
MCU正常作业的时分,每隔一段时刻输出一个信号到喂狗端,给 WDT清零,假设超越规则的时刻不喂狗(一般在程序跑飞时),WDT守时超越,就会给出一个复位信号到MCU,使MCU复位,避免MCU死机。
硬件看门狗是使用了一个守时器,来监控主程序的运转,也就是说在主程序的运转过程中,咱们要在守时时刻到之前对守时器进行复位。假设渐渐的呈现死循环,或者说PC指针不能回来,那么守时时刻到后就会使单片机复位。常用的WDT芯片如MAX813,5045,IMP 813等。
而在某些情况下,也会选用纯软件的方法来设置看门狗,如在单片机体系中,使用搁置的守时器/计数器就可以规划一个软件看门狗。详细完成过程如下:
首要,在初始化程序中设置守时器/计数器的方法以操控寄存器(TMOD) 和守时时刻的初值,并且翻开中止。
然后,依据守时器的时刻,在主程序中按必定的时刻距离刺进复位守时器的指令(喂狗), 两条喂狗指令之间的时刻距离可以精确的经过体系时钟与指令周期计算出来,并且该时刻周期应该小于守时器的守时时刻。
最终,在守时器的中止服务程序中,设置一条无条件搬运指令,将程序计数器PC搬运到初始化程序的进口。
软件看门狗的长处是无需额定的硬件支撑,但当体系存在严峻的错误时(例如:中止服务犯错),则有或许导致软件看门狗失效。
看门狗芯片与MCU的衔接联系如下:其根本的原理是MCU要在固定的时刻内经过IO翻转去操控看门狗芯片的WDI引脚,不然看门狗芯片就会将WDO拉低,进而使CPU复位。