1. 课程导入与安全关键系统认知

航空航天电子系统与普通消费电子最根本的差别,不在于器件是否昂贵,而在于失效后果的量级。一部手机死机,用户重启即可;而飞行控制计算机、发动机全权限数字电子控制(FADEC)、大气数据计算机或卫星姿态控制单元一旦在关键飞行阶段失去响应,后果可能是不可逆的。因此,本课程讨论的"看门狗"与"故障恢复",不是软件工程里可有可无的健壮性技巧,而是安全关键系统设计中必须被论证、被验证、被适航审查的一等公民。

一、失效后果决定了设计等级

要理解看门狗为什么重要,先要理解失效是怎么被分类的。在航空安全领域,通常按失效对飞机与乘员的影响程度划分等级,并对应不同的设计保证等级(DAL)。以常见的五级划分为例:

失效状态类别典型后果对应设计保证等级典型对象
灾难性(Catastrophic)机毁人亡A级主飞行控制计算机、电传操纵作动控制
危险性(Hazardous)大幅降低安全裕度、机组难以应对B级自动驾驶、部分显示与告警系统
重大(Major)明显增加机组负担或降低性能C级座舱显示、通信管理
轻微(Minor)轻微增加机组负担D级客舱信息、部分维护功能
无安全影响不影响飞行安全E级娱乐系统

这张表的意义在于:等级越高,对"失效必须被检测、被隔离、被恢复"的要求越严。A级系统往往要求失效概率低于每飞行小时 10⁻⁹ 量级,单靠元器件可靠性根本达不到,必须依靠冗余架构、监控机制与故障恢复共同支撑。看门狗正是这套机制中最靠近"最后一道防线"的部分。

二、看门狗与故障恢复在系统中的定位

很多初学者把看门狗理解为一个"超时复位定时器",这只是一部分。在航空航天电子中,看门狗承担的是独立于被监控任务的健康监视职责:它不参与正常控制律计算,只判断"系统是否还在按预期节奏活着、算得对不对、输出是否可信"。一旦判定异常,它触发的不只是复位,还可能是通道切换、降级运行、进入安全状态或点亮告警。

故障恢复则是看门狗判定之后的处置链条:从故障检测、故障隔离、重构/切换,到恢复到可用状态或安全降级。二者构成"监视—判定—处置"的闭环。下图给出本节最需要建立的整体认知:从失效后果出发,看门狗与故障恢复如何嵌入安全关键系统的防护层次。

安全关键系统的防护层次与看门狗定位 失效后果 灾难性 / 危险性 重大 / 轻微 决定设计保证等级 DAL A / B / C / D 要求失效概率 ≤ 10⁻⁹ / 飞行小时 单靠器件可靠性 无法达成 → 必须冗余+监控 + 故障恢复 机载电子系统防护层次 第1层:高可靠元器件与降额设计 降低单点失效率,但无法消除共因失效 第2层:冗余架构(双/三/四余度) 表决、比较监控、通道隔离 第3层:看门狗与健康监控 超时监视、逻辑监视、窗口看门狗 第4层:故障恢复与重构 通道切换、降级、安全状态 第5层:告警与机组处置 最后的人机接口防线 适航与安全标准 ARP4754A 系统研制流程 ARP4761 安全性评估 DO-178C 机载软件 DO-254 机载硬件 DO-160G 环境条件与试验 看门狗与恢复 须可追溯、可验证 失效证据反馈 → 重新评估安全性目标

三、适航与安全性标准概览

看门狗与故障恢复不是工程师"觉得该加就加"的功能,它必须落在适航审查认可的框架内。几个关键标准需要先建立印象:

  • ARP4754A:面向系统研制,规定从需求捕获、架构设计到验证确认的全流程,看门狗需求必须能追溯到顶层安全目标。
  • ARP4761:安全性评估方法,包括功能危害分析(FHA)、故障树分析(FTA)、失效模式与影响分析(FMEA)等,用来论证"为什么这个等级需要看门狗"。
  • DO-178C:机载软件开发保证,按A~D级规定软件生命周期活动与目标,看门狗软件通常属于高等级,需满足结构覆盖等要求。
  • DO-254:机载硬件设计保证,若看门狗由FPGA或ASIC实现,其设计验证同样受约束。
  • DO-160G:环境条件与试验程序,验证设备在温度、振动、电磁干扰等条件下的表现,直接影响看门狗是否会误触发。

这些标准共同回答三个问题:失效有多严重、防护是否足够、证据是否充分。看门狗与故障恢复的设计、实现、验证,都要能在这三个问题上给出可审查的答案。

四、课程任务地图

本课程围绕"监视—判定—处置—验证"这条主线展开,共30章,可归为五个阶段:

  1. 认知与标准(第1~4章):失效后果、看门狗定位、适航标准、安全性分析方法,建立判断依据。
  2. 看门狗原理与实现(第5~12章):超时看门狗、窗口看门狗、任务级监视、硬件看门狗与软件看门狗的配合、喂狗策略与误触发抑制。
  3. 故障检测与恢复机制(第13~20章):故障检测、隔离、通道切换、降级运行、安全状态进入、复位与重启策略。
  4. 工程实现与验证(第21~26章):需求分解、架构设计、代码实现、故障注入测试、覆盖率与证据链。
  5. 案例与复盘(第27~30章):典型失效事件分析、设计权衡、常见陷阱与改进方向。
学习建议:每学一个机制,都问自己三个问题——它检测什么失效?检测不到时会怎样?检测到之后系统进入什么状态?能回答这三问,才算真正掌握。
常见误区:把看门狗当成"防止程序跑飞的万能药"。实际上,看门狗本身也可能失效、可能被误喂、可能因共因失效与主任务同时失效。它必须被当作一个需要独立论证的安全机制来设计。