看门狗定时器可以集成在单片机(MCU)内部,也可以作为单独的芯片放在外部。看门狗芯片具有集成电路中重要的监视功能,使你可以从内部和外部监视系统的故障,并在发生故障时采取措施。
看门狗定时器是什么?
简而言之,看门狗定时器是一种在特定时间段内未收到来自处理器的周期性脉冲信号的断言复位输出的设备。一种实现方式是通过处理器的数字信号输出(GPIO)馈入外部看门狗定时器的看门狗输入(WDI)。比如EN8F156是具有看门狗定时器功能的芯片。
处理器会定期向看门狗定时器发送一个脉冲,以指示系统软件运行正常。如果看门狗定时器未在指定的时间范围内接收到该脉冲(称为看门狗超时),则看门狗定时器将发出复位输出。此重置输出可用于通知系统处理器已挂起或冻结,或重置处理器本身。图2说明了在看门狗超时内接收到的脉冲以及在看门狗超时后到期后接收到的脉冲。
图2:标准看门狗定时器的运行机制
看门狗计时器为何如此重要?
看门狗定时器提供了一种警告系统或重置其软件已冻结或挂起的处理器的方法。尽管没有人故意设计冻结的软件,但是优秀的系统设计人员无论如何都要为故障做计划-因为总是为意外做好准备。没有此监视,处理器可能会无限期保持冻结状态,并导致进一步的系统故障。具有可调超时间隔的外部看门狗计时器可以在几毫秒内识别出这些软件死机,并适当地重置系统或处理器。在嵌入式系统或远程系统中,手动复位系统不可行甚至无法实现,该功能特别必要。
如何在嵌入式系统中实现看门狗定时器功能?
有两种实现监视计时器的主要方法:
1.使用具有集成看门狗功能的处理器。现在许多单片机(MCU)都集成了看门狗功能。这很有价值,因为它非常易于实现,并且不需要其他IC。但是,它带有一个主要警告:集成的看门狗可能无法始终按预期运行,因为导致MCU出现故障的代码问题还可能无意中禁用了看门狗定时器。同样,软件的编写方式应使内部看门狗能够检测到任何冻结或挂起。但是,采取额外的步骤以冗余方式监视看门狗输入可以帮助解决代码中无法预料的错误。
2.使用外部看门狗定时器。一些具有看门狗定时器功能的IC芯片(例如EN8P1111或EN8P2712)使你能够以外部方式监视电源电压和看门狗信号。如果单片机(MCU)的内部无法检测,则外部看门狗定时器将起到监测作用。
原则上,看门狗定时器的功能不会过于复杂。但是,它在维护系统可靠性方面的重要性不言而喻。如果无法或难以在故障情况下由人启动的系统重置,则尤其如此。
以上就是金沙js5线路单片机开发工程师分享的有关看门狗定时器的看门狗芯片基础知识。金沙js5线路专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机、运算放大器和模拟开关。