制定看门狗策略很容易。只需启用微控制器的内部看门狗定时器,并设置一个中断,偶尔清除定时器,让狗高兴,对不对?不完全是。看门狗有助于确保我们正在创建的嵌入式系统是健壮的,并且可以检测出是否有什么东西出了问题。单个设备在工作台上出错的可能性很小,但一旦生产开始,成千上万(如果不是数百万)的设备被部署到现场,产品粉碎故障发生的可能性就会大大增加。嵌入式开发人员在选择看门狗策略时需要做出很多决定,但可以通过确定系统需要的位置来确定整体策略,如下图所示:
在上图中,x 轴代表系统自行检测错误的能力,最左侧为无错误检测,最右侧为高能力。y 轴表示系统能够自行从错误中恢复的期望。轴越往上走,系统将自行从错误中恢复的期望就越高。轴越低,如果出现问题,人类干预的期望就越高。
根据一般的系统需求,图表可以分为四个主要部分:自主的、互动的、被监控的和被遗忘的。开发人员需要确定哪个区域最能代表他们的系统,以便确定他们的看门狗策略。以下是每个地区的定义。
自主的——这些系统预计会在没有人工干预的情况下自行运行。这些系统需要能够可靠地检测错误是否发生,并自行从错误中恢复。
互动的——这些系统预计会检测到错误,但不一定会自行恢复。在许多情况下,错误可能需要人工检查,因此错误必须是可检测的,然后嵌入式开发人员将与系统交互以解决问题。
被监控的——这些系统在运行时会被人持续观察。在这些系统中,人是