看门狗定时器是什么_如何在嵌入式系统中实现看门狗定时器功能

电子说

1.2w人已加入

描述

  看门狗定时器可以集成在单片机(MCU)内部,也可以作为单独的芯片放在外部。看门狗芯片具有集成电路中重要的监视功能,使你可以从内部和外部监视系统的故障,并在发生故障时采取措施。

  看门狗定时器是什么?

  简而言之,看门狗定时器是一种在特定时间段内未收到来自处理器的周期性脉冲信号的断言复位输出的设备。一种实现方式是通过处理器的数字信号输出(GPIO)馈入外部看门狗定时器的看门狗输入(WDI)。比如EN8F156是具有看门狗定时器功能的芯片。

  处理器会定期向看门狗定时器发送一个脉冲,以指示系统软件运行正常。如果看门狗定时器未在指定的时间范围内接收到该脉冲(称为看门狗超时),则看门狗定时器将发出复位输出。此重置输出可用于通知系统处理器已挂起或冻结,或重置处理器本身。图2说明了在看门狗超时内接收到的脉冲以及在看门狗超时后到期后接收到的脉冲。

处理器

  看门狗计时器为何如此重要?

  看门狗定时器提供了一种警告系统或重置其软件已冻结或挂起的处理器的方法。尽管没有人故意设计冻结的软件,但是优秀的系统设计人员无论如何都要为故障做计划-因为总是为意外做好准备。没有此监视,处理器可能会无限期保持冻结状态,并导致进一步的系统故障。具有可调超时间隔的外部看门狗计时器可以在几毫秒内识别出这些软件死机,并适当地重置系统或处理器。在嵌入式系统或远程系统中,手动复位系统不可行甚至无法实现,该功能特别必要。

  如何在嵌入式系统中实现看门狗定时器功能?

  有两种实现监视计时器的主要方法:

  1.使用具有集成看门狗功能的处理器。现在许多单片机(MCU)都集成了看门狗功能。这很有价值,因为它非常易于实现,并且不需要其他IC。但是,它带有一个主要警告:集成的看门狗可能无法始终按预期运行,因为导致MCU出现故障的代码问题还可能无意中禁用了看门狗定时器。同样,软件的编写方式应使内部看门狗能够检测到任何冻结或挂起。但是,采取额外的步骤以冗余方式监视看门狗输入可以帮助解决代码中无法预料的错误。

  2.使用外部看门狗定时器。一些具有看门狗定时器功能的IC芯片(例如EN8P1111或EN8P2712)使你能够以外部方式监视电源电压和看门狗信号。如果单片机(MCU)的内部无法检测,则外部看门狗定时器将起到监测作用。

  原则上,看门狗定时器的功能不会过于复杂。但是,它在维护系统可靠性方面的重要性不言而喻。如果无法或难以在故障情况下由人启动的系统重置,则尤其如此。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分