嵌入式基础知识–选择正确的看门狗策略

设置看门狗策略很容易。只需启用微控制器内部的看门狗定时器并设置中断以偶尔清除定时器并使狗保持快乐吧?不完全是。看门狗有助于确保我们正在创建的嵌入式系统功能强大,并且可以检测出是否运行不正常。在单个装置上的工作台上出现问题的机会很小,但是一旦开始生产并且成千上万个(如果不是数百万个)设备部署到现场,则产品崩溃的机会将大大增加。选择看门狗策略需要做出很多决定,但是可以通过确定系统需求的位置来确定整体策略,如下图所示:

wdt_strategy

在上图中,x轴表示系统自行检测错误的能力,最左侧没有错误检测,最右侧是高检测能力。 y轴表示对系统能够自行从错误中恢复的期望。轴越远,对系统从错误中恢复的期望就越高。轴越低,人们在出现问题时会进行干预的期望就越高。

根据一般系统的需求,该图表可分为四个主要区域。自主,互动,受监控和遗忘。开发人员需要确定哪个区域最能代表其系统,以便确定其监视策略。以下是每个区域的定义。

自主性 –这些系统有望在没有人工干预的情况下自行运行。这些系统必须能够检测错误是否可靠地发生,并自行从错误中恢复。

互动 –这些系统有望检测到错误,但不一定能够自行恢复。在许多情况下,错误可能需要人工检查,因此错误必须是可检测的,然后人工将与系统进行交互以解决问题。

受监控 –这些系统在运行过程中会被人类不断观察。在这些系统中,人是错误检测系统。

遗忘的 –由于人们不在附近,但是由于设计原因,这些系统有望自行恢复,因此它们无法检测到是否发生了错误。如果实施适当的看门狗策略,则任何系统都不应属于此类。但是,许多急于设计的团队或不认为自己的设计会无意中落入这一类。

一旦确定了所需的看门狗策略,开发人员就可以使用简单的vien图来确定其看门狗实现的选项。下图为开发人员提供了一个基本思路,但是完整的细节超出了此基本讨论范围。请记住,每种策略都应遵循看门狗最佳实践,这可能会变得非常复杂。

wdt_implementation

使用上面的两个图表,开发人员可以了解他们在开发系统监视策略时应考虑的事项。例如,一个自治设备将需要所有三种策略的组合。每种策略本身都会更加详细,并且可能包含许多层,以便正确处理可能的错误模式。这些细节还有待时日,但是现在,仅确定正确的看门狗策略是朝正确方向迈出的一步。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.