还剩1页未读,继续阅读
文本内容:
为何看门狗定时器对IoT至关重要物联网(IoT)设计非常重视安全性,却往往忽视了另一方面的重要性,即开发足够稳健的系统,无需人工干预系统也能从故障自动恢复为确保这种稳健性,设计人员应该仔细研究普通的看门狗定时器(WDT),目前这种设备各种各样,从简易型,到集成智能型,不一而足本文首先回顾内外部WDT的基本原理,然后介绍部分最新款的WDT设备,以及如何使用它们以确保系统稳健性为何看门狗定时器对IoT至关重要在系统现场部署了数十亿个IoT设备的情况下,如果发生故障,技术人员不可能及时进行维修因此,IoT系统必须能够自动检测故障并从中恢复,而无需任何人工干预看门狗具备多种不同的形状和尺寸,但通常可分为简易定时器、窗口式定时器和智能电子狗三种类型看门狗可作为硬件和软件用于微控制器内部,也可作为硬件用于微控制器外部,甚至还能够与硬件和软件谴件集成,用作独立的微控制器总而言之,不论是采用哪一种看门狗解决方案,唯一的目的都是监视和恢复系统为此,设计人员需要考虑各种看门狗的独特性能和设计挑战,以确保稳健的IoT系统设计内部看门狗基本原理内部看门狗定时器属于硬件外设,几乎是所有单片微控制器的一个组成部分,可与板载外设和系统时钟进行交互(图1)默认情况下,内部看门狗定时器设置为禁用启用看门狗之前,开发人员需要设置预定义周期如果软件锁定,或出现影响软件运行的硬件故障,看门狗定时器将超时,并强制微控制器复位在此过程中,看门狗定时器将清除错误,并允许微控制器重新初始化系统PiSPI4MOWerrupt图1看门狗定时器包含在大多数微控制圈中,例如Texas Instrument的的P430G2210,并且可在软件锁定时复位处理器(图片Texas Instruments)内部看门狗定时器虽然原理简单,但如果要正确执行,却需要花费很多心思例如,专为看门狗开发的软件不能简单地将看门狗定时器盲目清零该软件应该在清零看门狗之前,对系统执行检查,以确保所有任务和硬件都正常工作在开发内部看门狗解决方案时,开发人员应该尝试采纳下列几项建议切勿出于任何原因禁用看门狗事实上,在选择微控制器时,应确保看门狗一旦启用之后,就无法再被禁用切勿在周期性中断期间,在未进行软件功能检查的情况下对看门狗清零确保看门狗定时器为独立的看门狗独立的看门狗具有单独的时钟,能够检测系统时钟是否已停止使用具有窗口式看门狗特性的看门狗这类看门狗需要等待一段最短时间后才能被清零如果在窗口启动前尝试清零,看门狗将进行系统复位这样可防止失控软件超驰看门狗计时器内部看门狗朝着建立稳健的嵌入式系统迈开了重要的一步,但其本身并未提供一个非常稳固的解决方案要真正提高稳健性,开发人员需要考虑外部看门狗使用外部看门狗增强稳健性无论开发人员在内部看门狗实施过程中如何谨慎细致,内部看门狗都无法始终万无一失许多实施都存在缺陷,共享系统时钟和设有禁用选项就是其中两个例子当系统需要在现场自行工作时,使用外部看门狗可带来诸多优势,例如执行硬件系统复位,以确保重新启动微控制器电遮,进而重新启动内部外设电源将看门狗与微控制器振荡器电路分离为监视系统提供一个完全独立的进程所有这些优势都有助于实现系统的稳健性,但使用外部WDT仍然存在少许不足其中包括因增设IC引起的硬件成本增加,以及系统复杂性提高然而,正如我们所见,综合所有考虑因素时,这些缺陷都显得微不足道现在,我们来检验如何设计一个简单稳健的外部看门狗电路(图2)图2示例外部看门狗电路监视微控制器的特性和状态,而微控制器具有自己的内部看门狗定时器(使用Digi-Key Scheme-it®绘制的示意图)。