物联网的设计非常重视安全性,但往往忽略了另一个方面的重要性,即开发足够稳健的系统,不需要人工干预,也能从故障中自动恢复。为了确保这种稳健性,设计师应该仔细研究普通的看门狗定时器(WDT),它不同于简单的智能。
本文首先回顾了内部和外部看门狗的基本原理,然后介绍了一些最新的定时器装置和如何使用它们来保证系统的稳健性。
为什么看门狗定时器对物联网至关重要
当系统中部署了数以十亿计的物联网设备时,如果发生故障,技术人员无法及时修复。因此,物联网系统必须能够在没有任何人工干预的情况下自动检测和恢复故障。
看门狗有许多不同的形状和大小,但它可以分为三种类型:简单计时器,窗口定时器和智能电子狗。监管机构可以作为微控制器的硬件和软件,或作为微控制器的外部应用程序的硬件,甚至集成的硬件和软件组件,作为独立的微控制器。总之,无论采用哪种看门狗解决方案,唯一的目的就是监视和恢复系统。为此,设计者需要考虑的独特性能和各监管机构的设计挑战,以确保一个强大的物联网系统设计。
内部看门狗的基本原理
看门狗定时器属于硬件外设。它几乎是所有单片微控制器的组成部分。它可以与机载外围设备和系统时钟交互(图1)。默认情况下,内部看门狗定时器被设置为禁用。在启用看门狗之前,开发人员需要设置一个预定义的周期。如果软件被锁定,或影响软件运行的硬件故障,看门狗定时器将退出并迫使微控制器复位。在这个过程中,看门狗定时器将清除错误,并允许微控制器重新初始化系统。
MSP430G2210,可以重置处理器当软件被锁定。
虽然内部看门狗定时器很简单,但是要正确执行它需要很多的思考。例如,为看门狗开发的软件不能简单地成为看门狗定时器的盲零。在清除看门狗之前,软件应该检查系统,以确保所有的任务和硬件正常工作。
开发内部看门狗解决方案时,开发人员应尝试采纳以下建议:
不要因为任何原因禁用看门狗。事实上,在选择微控制器时,您应该确保看门狗在启用后不被禁止。
在周期性中断期间不检查软件功能,请勿清洗看门狗。
确保看门狗定时器是独立的看门狗。独立看门狗有一个单独的时钟来检查系统时钟是否已停止。
具有看门狗功能的看门狗。这种看门狗需要等待很短的时间才能被清除。如果您试图在窗口启动前清理,看门狗将使系统重新设置。这可以防止失控的软件覆盖看门狗定时器。
内部看门狗在构建健壮的嵌入式系统方面迈出了重要的一步,但它并没有提供一个非常可靠的解决方案。要真正提高稳健性,开发者需要考虑外部看门狗。
使用外部看门狗增强稳健性
无论开发者在内部看门狗的执行过程中有多细心和细致,内部看门狗也不可能总是丢失。许多实现都有缺陷,共享系统时钟和禁用选项是两个例子。
当系统需要在现场工作时,使用外部看门狗可以带来许多好处,如:
硬件系统复位,以确保微控制器电源重新启动,并重新启动内部外设电源。
将看门狗与单片机振荡电路分开。
它为监控系统提供了一个完全独立的过程。
所有这些优点有助于实现系统的稳健性,但仍有点缺乏利用外部看门狗。它包括增加集成电路所带来的硬件成本和系统复杂性的提高。然而,正如我们所看到的,当所有的考虑因素都集成在一起时,这些缺陷是微不足道的。现在,让我们看看如何设计一个简单而可靠的外部看门狗电路。