看门狗设计的技巧和窍门

看门狗是开发健壮且故障安全的嵌入式系统的关键和重要组成部分。在许多情况下,我遇到了一些开发团队,他们要么没有完全考虑其监视程序策略,要么禁用了它们的监视程序。为了提高系统的鲁棒性并确保看门狗可以检测到系统故障,开发人员可以遵循以下十个简单技巧来改进其看门狗设计。

甘达瓜迪亚

  • 在启动时,确定系统为何启动。启动是由于看门狗定时器复位引起的吗?掉电检测?有例外吗用户交互还是其他未知原因?记录此信息对于调试偶尔以不定期且不可预测的方式出现异常的系统至关重要。
  • 选择微控制器时,请选择一个包含独立看门狗的微控制器。独立的看门狗具有独立于系统时钟生成的时钟,并提高了系统时钟故障或锁定时检测故障的机会。
  • 在初始化序列中尽早启用看门狗定时器。看门狗被禁用的时间越长,发生问题时看门狗将无法检测到它的机会就越大
  • 请勿在中断服务程序中盲目清理或爱护看门狗!创建一个监视程序任务,以监视其他软件任务,并可以在清除计时器之前确定系统的运行状况是否正常。
  • 对于连接到Internet或需要在没有人工干预的情况下自行运行的系统,请考虑添加一个外部看门狗,该看门狗可以定期重置微控制器以清除可能发生的任何故障或错误。
  • 使用外部智能看门狗或监控处理器来监视微控制器的行为是否符合预期。
  • 使用智能看门狗时,请提供足够的智能,以便它可以监视外部通信通道以接收重新启动命令并发送基本确认。
  • 尽可能使用窗口式看门狗。窗口式看门狗将确保通过尝试不断清除看门狗而发生故障的系统将触发看门狗。如果系统未通过在指定窗口中清除看门狗而导致系统失败,则看门狗将重置系统。
  • 设置外部看门狗的特定时间,并设置仅当处理器的健康状况可接受时才产生的微控制器心跳。
  • 不要忘记智能看门狗也是基于微控制器的系统,可能需要有自己的看门狗策略,例如启用内部看门狗定时器和添加外部哑看门狗定时器以确保它们正常运行。

这些只是开发人员可以遵循的几个简单步骤,以确保其看门狗正确执行。您能想到开发人员应该遵循的任何其他技巧吗?如果是这样,我很想听听您的消息。

发表评论

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

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