(单片机)外部看门狗是怎么实现的?

核心提示你应该看一看一款具体的外部看门狗芯片的内部结构图,比如MAX706,他有一个引脚WDI,是看门狗计数器输入引脚,看门狗芯片不会去统计单片机输出的脉冲数,而是只检测在这个引脚上是否发生了电平翻转。单片机需要控制这个引脚的电平保持高低不停的跳变

你应该看一看一款具体的外部看门狗芯片的内部结构图,比如MAX706,他有一个引脚WDI,是看门狗计数器输入引脚,看门狗芯片不会去统计单片机输出的脉冲数,而是只检测在这个引脚上是否发生了电平翻转。

单片机需要控制这个引脚的电平保持高低不停的跳变。

一但看门狗启用,看门狗芯片内部的1.6秒计数器开始计数,如果WDI引脚上现在了电平反转,则复位计数器,如果在1.6秒的时间内没有在WDI引脚上检测到电平反转,看门狗芯片就会在RST引脚上输出一个200ms的低电平,复位目标MCU,然后复位他自己的计数器,重新开1.6秒计数,然后以上过程无限重复。

硬件看门狗实际上就是一个定时器,有一个输入和输出,它的功能是定期检查芯片内部的情况,一旦发生错误就向芯片发出重启信号。实际上,就是监控芯片。

由于单片机系统在工作的时候,容易受到外界电磁场的干扰,造成数据混乱,程序出错,导致死循环,影响单片机的正常工作,从而导致单片机控制系统发生不可预料的后果。

使用硬件看门狗,可以预防程序发生死循环。应用看门狗电路后单片机可以在无人状态下连续工作。硬件看门口电路,利用一个定时器来监控主程序的运行。

扩展资料

注意事项:

大多数51 系列单片机都有看门狗,当看门狗没有被定时清零时,将引起复位。这可防止程序跑飞。也可以防止程序在线运行时候出现死循环。

设计者必须清楚看门狗的溢出时间以决定在合适的时候,清看门狗。清看门狗也不能太过频繁否则会造成资源浪费,程序正常运行时,软件每隔一定的时间(小于定时器的溢出周期)给定时器置数,即可预防溢出中断而引起的误复位。

百度百科--看门狗 (监控芯片)

百度百科--看门狗(监控软件)

 
友情链接
鄂ICP备19019357号-22