了解最新公司动态及行业资讯
看门狗定时器(WDT)强制嵌入式微处理器或微控制器响应无效的软件状态而进行复位(硬件复位)。这样的状态可能很简单,例如由软件错误、宇宙射线或EMI(电磁干扰)之类的事件引起的触发寄存器位。我们常见的联网设备中,串口服务器、DTU、工业路由器等都有看门狗保护功能。
防止微处理器锁定是WDT的典型应用。通常,嵌入式软件具有一个“主循环”,该主循环可调用多个子程序来指导各种活动。然后,在循环的顶部将WDT复位一次。如果循环由于任何原因无法正确执行,则看门狗将启动,并且设备将被重置。
具有WDT的系统特别适合检测误码。瞬时位错误是由中断引起的,包括软存储故障以及EMI放电到存储设备及其接口中。这些位错误会导致暂时的极性反转,导致数据进出嵌入式处理器。当在获取程序信息时发生此位错误时,微处理器将开始执行错误代码。潜在地,处理器可能开始执行操作数而不是操作码。当处理器开始执行此错误代码时,它将无法正确执行为看门狗服务的代码。在超时间隔之后,看门狗将导致处理器复位。在正确设计的系统中,此重置将更正原始错误。
还要注意,WDT无法立即检测到故障。根据定义,WDT必须在重置处理器之前达到预定时间间隔的末尾。这个事实解释了为什么在WDT可以纠正失控条件之前,应选择最短的超时间隔来到期。
WDT可以位于微处理器(例如MAXQ2000微控制器)内部,也可以作为独立IC外部使用,也可以作为支持ASIC的一部分嵌入。无论WDT是内部的还是外部的,每种设备类型都有其优点和缺点。内部计时器可以节省金钱,但可能会受到失控代码的影响。外部WDT的实现成本稍高,但它具有独立的时钟源,因此具有更好的可靠性。如果配置正确,则无法通过失控代码来绕过或禁用它。
下一篇:路由器与交换机的区别