24小时联系电话:18217114652、13661815404
中文
技术专题
设计智能看门狗的5条提示
设计智能看门狗的5条提示
从系统故障或软件故障中恢复并非易事。故障发生的时间越长,识别和恢复故障就越困难。外部看门狗的使用是嵌入式系统工程师工具箱中的重要工具。设计看门狗系统时,应考虑五个技巧。
提示#1 –监视心跳
外部看门狗可以具有的最简单功能是监视由主应用程序处理器产生的心跳。监测心跳应有两个不同的目的。首先,微控制器应仅在对软件执行功能检查以确保其正常工作后才生成心跳。其次,心跳应该能够揭示系统的实时响应是否受到威胁。
可以使用简单的“哑”外部看门狗来监视心跳中的软件功能和实时响应。外部看门狗应具有分配心跳周期以及心跳必须出现在其中的窗口的功能。心跳窗口的目的是允许看门狗检测到系统的实时响应受到损害。如果功能检查或实时检查失败,则看门狗然后尝试通过重置应用程序处理器来恢复系统。
技巧2 –使用低性能的MCU
可以监视心跳的外部看门狗的成本相对较低,但会严重限制看门狗系统的功能和恢复可能性。低能力的微控制器的成本与外部看门狗定时器的成本几乎相同,因此为什么不向看门狗添加一些智能并使用微控制器。可以开发微控制器固件,以实现窗口式心跳监视功能,而且还要增加更多功能。像这样的“智能”看门狗有时被称为主管或安全看门狗,实际上已经在诸如汽车等不同行业中使用了很多年。通常,微控制器看门狗已被保留用于安全关键型应用,但是考虑到开发工具和硬件成本,它在其他应用中也可能具有成本效益。
提示#3 –监督关键的系统功能
使用小型微控制器作为看门狗的决定为看门狗的使用方式提供了几乎无限的可能性。智能看门狗的第一个角色通常是监督关键的系统功能,例如系统电流或传感器状态。看门狗如何监视电流的一个示例是进行独立测量,然后将该值提供给应用处理器。然后,应用处理器可以将自己的读数与看门狗的读数进行比较。如果两者之间存在分歧,则系统将执行一棵认为适合该应用程序的故障树。
提示#4 –观察交流渠道
有时,嵌入式系统似乎可以按看门狗和应用程序处理器的预期运行,但是从外部观察者来看,它们处于无响应状态。在这种情况下,将智能看门狗绑定到诸如UART之类的通信通道可能会很有用。当看门狗连接到通信通道时,它不仅监视通道流量,而且还监视看门狗的特定命令。一个很好的例子是为小型卫星设计的看门狗,它监视飞行计算机和地面站之间的无线电通信。如果飞行计算机对无线电无响应,可以向看门狗发送命令,然后执行该命令并将其用于重置飞行计算机。
提示5 –考虑外部定时复位功能
当使用微控制器作为看门狗时,毫无疑问,谁在看门狗的问题在许多工程师的脑海中浮现。使用微控制器实现额外的功能会增加系统的复杂性和新的软件元素。如果看门狗掉入杂草中,看门狗将如何恢复?一种选择是使用前面讨论过的外部看门狗定时器。智能看门狗将生成心跳,以防止自己被看门狗定时器重置。另一种选择是让应用处理器充当看门狗的看门狗。需要仔细考虑最好的方法,以确保两个处理器都保持预期的功能。
智能看门狗的目的是监视系统和主微控制器,以确保它们按预期运行。在系统看门狗的设计过程中,允许支持的功能数量不断增加可能非常诱人。开发人员需要记住,随着智能看门狗的复杂性增加,看门狗本身将包含潜在的故障模式和错误的可能性也随之增加。保持看门狗简单并尽可能减少必要的功能集,将确保可以对它进行详尽的测试并证明其可以正常工作。