在电子产品中,有时候需要看门狗定时器(WDT),看门狗芯片有外部和内置两种。在设计之初,要不要使用看门狗芯片?这是个值得考虑的问题。在本文中,我们对内部和外部看门狗定时器做下讲解,看看需不需要看门狗功能。
什么是看门狗定时器(WDT),为什么在设计中需要它?
看门狗定时器(WDT)是一种用于检测在嵌入式系统中的异常并复位单片机。它通常包含一个预装计时器,该计时器递减为零。当预装的看门狗定时器到预定的时间,单片机就会复位。在正常操作下,单片机会持续刷新计时器的值,以防止其进入复位状态,也就是“踢看门狗”。
单片机开发工程师在尝试完善硬件和程序的过程中,可能会发生错误。比如:电源不稳定,内存堆栈溢出或程序陷入永久循环是单片机停滞的原因。这些错误可能会导致系统崩溃,这对于停机时间几乎没有容忍的应用程序可能会造成问题。发生这种情况时,装有看门狗定时器继电器的系统将自动复位。这是因为WDT触发了系统重置,因此无需人工干预即可恢复正常运行。
内部WDT与外部WDT,应该怎么选择?
在选择WDT之前,重要的是要了解它们。内部WDT是单片机自身内置的看门狗定时器,通过将值写入WDT的相应寄存器来完成WDT的配置和刷新。
外部WDT是物理集成电路(IC),需要无源组件才能起作用。复位倒数的持续时间通常由电容器的值决定。外部WDT通常通过发送电压脉冲来刷新,不管是内部WDT还是外部WDT,它们都以相同的方式复位单片机。
选择内部WDT的优点是,可以通过最大程度地减少额外组件的成本来节省资金,并且可以使用更小的PCB。由于大多数现代MCU都配有内部WDT,这当然是个不错的选择,可以节约成本。
但是,如果内部WDT与单片机属于同一IC。当单片机可能发生故障时,那么WDT是否也可能发生故障?这点需要着重考虑。
以当今的单片机制造能力,遇到不可靠的内部WDT的可能性很小。但是,它们确实有可能因失控的代码错误地使计时器无效而出故障。此外,如果系统时钟发生故障,与单片机共享相同系统时钟的内部WDT更有可能发生故障。
在关键任务应用中,使用内部看门狗定时器总是比较安全的,你会发现使用少量组件的成本仍然比停滞的系统所造成的损害要小。
以上就是英锐恩单片机开发工程师分享的内部看门狗定时器(WDT)与外挂看门狗芯片的知识。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机、运放芯片和模拟开关。