Fail-Operational 架构 — 单故障下不中断的系统设计

功能安全L4别名 Fail-Operational · Fail-Op · Active-Passive · Active-Active · Hot-Standby · 2oo3 Voting · Steer-by-Wire · L3 ADAS 架构 · MRC · Minimum Risk Condition

本质与导读

本质:当"关停 = 出事故"时,系统不能 fail-safe — 必须 fail-operational(单故障下继续工作直到达到 Minimum Risk Condition)。Fail-Op 的核心代价是 ×2 或 ×3 硬件冗余;选 Active-Passive / Active-Active / 2oo3 三种模式取决于"切换 glitch 容忍度 + 性能需求 + 成本预算"。ASIL 不决定要不要 Fail-Op,Hazard 决定——EPS 是 ASIL D 但 Fail-Safe(司机机械接管),L3 ADAS 是 ASIL D 必须 Fail-Op(司机注意力已转移)。

主线坐标:横轨 · 功能安全(跨站) · ↑ 全景主线

1. 何时必须 Fail-Op

判断准则不在 ASIL,而在 "是否存在安全态"。三种策略对比:

策略前提Voting通道典型
Fail-Safe存在安全态(可关停)1oo1 + 诊断单通道EPS / Airbag / STO
Fail-Degraded关停危险但可降级1oo1 + 多档单通道Limp-home / BMS 限功率
Fail-Operational关停即事故1oo2D / 2oo3双/三通道Steer-by-wire / L3 ADAS

口诀:故障检出后系统进入的状态 → 是否还在 Safety Goal 容忍范围内 → 在 → Fail-Safe / Fail-Degraded;不在 → 必须 Fail-Op。

经典反直觉案例:

  • 传统 EPS 是 ASIL D 但 Fail-Safe——失助力后司机用机械力转方向盘(汽油 EPS 还有液压备份)。
  • L4 自动驾驶哪怕 ASIL B 也必须 Fail-Op——司机注意力已转移,即使有警告也来不及 100 ms 接管。
  • L3 ADAS 必须 Fail-Op——L3 允许司机眼睛离开路面 10 s,handover 需要 10 s 量级,这段时间系统必须自己撑住。

2. 三种 Fail-Op 架构

具体的 Fail-Op 实现有 3 种主流模式,各自适合不同的硬件容忍度和性能需求。

Fail-Operational 三种架构对比

2.1 Active-Passive(Hot-Standby)

主 ECU A 正常输出,备 ECU B 同步运行但不输出。A 故障 → 切到 B。

  • 优点:B 平时无故障应力,B 输出路径可独立测试;切换无 voting 复杂度。
  • 缺点:切换瞬间输出可能 glitch(10-100 ms);B 平时浪费 50 % 资源。
  • 应用:L3 ADAS Plan ECU、传统 brake-by-wire 应急路径。

关键设计点:B 必须完全同步状态(state-sync),否则切过去后控制律要重新初始化,glitch 加重。Hot-Standby 通过持续状态镜像把 B 保持在"和 A 完全一致"的内部状态,切换只是改变输出 mux,不重启计算。

2.2 Active-Active(双路并行)

两 ECU 同时输出 50 %,合起来 100 %。任一故障,健康路升到 100 %。

  • 优点:无切换 glitch(只是降功率);两路始终同步;在线全测。
  • 缺点:需要执行器原生支持双路驱动(双绕组电机、双 inverter、双液压)。
  • 应用:EPS 6 相双 inverter PMSM、Steer-by-wire、Brake-by-wire 双路。

Active-Active 是车规 fail-op 最优雅的方案——单故障只意味着"性能减半",而不是"切换风险"。但代价是执行器层面就要双路,不能事后加。

2.3 2oo3 Voting(三路投票)

三 ECU 并行,Voter 比较输出,2/3 多数胜出。

  • 优点:容错最强(双故障可退到 1oo2);切换瞬时;检错隐含。
  • 缺点:×3 硬件 + Voter;Voter 自身成为 Single Point(必须 ASIL D 自检)。
  • 应用:航空飞控(Boeing 777)、未来 L4 自动驾驶规划架构。

车规 2oo3 极少见——成本太高。Tesla / Waymo 公开材料显示 L4 量产仍是 Active-Active 为主,2oo3 留给 robotaxi。

3. Steer-by-Wire 完整拓扑案例

Steer-by-Wire(SbW)是 Fail-Op 工程最严格的案例:没有机械连接到前轮,任何单故障都不能让转向丢失。

Steer-by-Wire 完整 Fail-Op 拓扑

SbW 的冗余层级要从源头一路覆盖到执行器:

冗余设计单故障表现
电源双电池(主 + 隔离备)主电池失,备电池撑 ≥ 10 s
通信CAN-FD(独立物理层)一条总线断,另一条接管
控制 ECU双前轴 ECU + 交叉监视一 ECU 故障,另一接 100 %
执行双绕组 PMSM 电机一绕组烧,另绕组 50 % torque
传感双 sensor(方向盘 + 角度)sensor 单点失,plausibility 检测

关键约束:任何单故障下,至少 50 % 转向能力 维持 10 s 以上,司机收到 HMI 警告 + 车速限到 50 km/h 进入 MRC(靠边停)。

为何不要求 100 %?因为单故障下 active-active 降到 50 % 是 Fail-Op 的本质——不是恢复完全功能,是"足够安全地到达 MRC"。OEM 通常给 "降级 limp-home" 5-15 min 容许时间。

4. L3+ ADAS E/E 多域冗余

L3 ADAS 的 Fail-Op 不只是某一子系统冗余,是 Sense / Plan / Act 三层都各自冗余 + 电源双路

L3 ADAS E/E Topology — 多域冗余

L3 与 L2 的本质差别是 接管假设:

  • L2 — 司机眼睛在路上;单故障 → 司机 100 ms 内接管;系统可以 Fail-Safe
  • L3 — 司机注意力可转移;单故障 → 系统继续自动驾驶 ≤ 10 s 直到 MRC 完成;必须 Fail-Op

L3 ADAS 关键架构决策:

子系统策略原因
Plan ECUFail-Op(A + B Fallback)失去 planning = 失去方向 → 必须续
EPSFail-Op(双 inverter)失去转向 = 不可控
BrakeFail-Op(双路 + 液压回退)失去刹车 = 撞
HMI(handover)Fail-Op(独立 ECU + 独立电源)警告失败 = 司机不知道接管
主驱(motor torque)Fail-Safe 3PO关停安全(车滑行减速),不必 Fail-Op
电源双路(主 + 备 isolation)失去电源 = 全失

注意主驱 motor torque 是 Fail-Safe 不是 Fail-Op——这是车规 fail-op 设计的一个微妙点。主驱的安全态是"无 torque"(3PO 短路态滑行),L3 ADAS 即使失主驱也能用 brake + steer 把车停下。所以主驱不需要双 inverter 做 Fail-Op,SoP 成本砍掉约 5000 RMB。

5. 切换时序预算

Active-Passive 架构的切换时序是 3 阶段:Detection → Switchover → Recovery,总和必须 < FTTI。

Active-Passive 切换时序

阶段典型时长主要耗时缩短手段
tdet Detection20-50 ms心跳间隔 + 滤波心跳缩到 5 ms(代价:总线负载 ↑)
tsw Switchover30-50 msB 唤醒 + 状态同步 + 命令切Hot-Standby(B 始终保持同步状态)
trec Recovery50-200 msB 输出 ramp + 控制律稳定Active-Active(B 已在输出)

计算举例:FTTI = 200 ms,需留 25 % margin → 总切换 ≤ 150 ms。tdet 30 + tsw 40 + trec 80 = 150 ms 刚好。若 FTTI 缩到 100 ms,Active-Passive 设计困难,必须改 Active-Active 或 2oo3。

输出 glitch 风险:tsw 窗口期 A 已停 B 未起,EPS torque 归零 = 司机突然失助力。所以切换必须 ramp-down + ramp-up 协调——A 渐降,B 渐升,中间总和保持 100 %。

6. Fail-Op 与 ISO 26262 的耦合点

Fail-Op 在 ISO 26262 流程中影响多个 Part:

PartFail-Op 相关产出
Part 3 HARA识别"无安全态"的 Hazard,触发 Fail-Op 需求
Part 3 FSC写明每个 Safety Goal 的"Safe State 是 ON or OFF"
Part 4 系统选 Active-Passive / Active-Active / 2oo3 + 切换时序预算
Part 5 硬件FMEDA 单故障下 B 路径独立性证明 + SPFM
Part 6 软件Handover 状态机 + ramp 控制律 + state-sync
Part 9 DFAA 和 B 共因失效(共享电源 / 总线 / 时钟)分析

最容易出问题的是 Part 9 DFA:工程组喜欢说"A 和 B 是独立 ECU",但忘了它们共享同一根 CAN-FD 总线,或共享 12 V 电源。DFA 必须穷举共因失效路径并证明已隔离;评估员严格的项目要求 A 和 B 走物理上分离的线束 + 不同电源域

7. 常见误区

Fail-Op 的常见误区集中在"以为做了冗余就是 Fail-Op",忽略隔离和共因。下面 5 条是评估员常拿来推翻设计的点。

  • 冗余 ≠ Fail-Op。"A 和 B 都在,B 顶上"只是冗余;Fail-Op 需要满足"切换时间 < FTTI"+ "B 独立性证明"+ "DFA 通过"+ "在线全测"。
  • B 平时不输出 = 不能在线测。Hot-Standby 容易陷入"B 早就坏了,故障后才发现"——必须给 B 设计 in-flight self-check(周期切到主路验证)。
  • 共享电源 / 总线 = 共因。A + B 接同一根 12 V 是 DFA 重大违规;必须独立电池 + isolation diode 或独立 DC/DC。
  • Voter 是 Single Point。2oo3 的 Voter 自身故障 = 系统失效。Voter 必须 ASIL D + 自检,或用 Hardware-Comparator 双 Voter 互监。
  • Fail-Op 不等于 100 % 功能保留。单故障后系统通常只到 50 % 功能(Active-Active)或有 glitch(Active-Passive);"Fail-Op" 的目标是"足够安全到达 MRC",不是"完全没事"。
深入 L3 量产实战(Mercede…

深入 L3 量产实战(Mercedes / Honda / Tesla 三家拓扑对比)+ 3 种内部模式(Doer-Checker / Primary-Secondary / 2oo3 SCP)+ 6 相双绕组 PMSM 30° 偏移 + Brake-by-Wire DREHB 3 层级联 + L3 vs L4 MRC 状态机 + 5 类隐藏共因 → Fail-Operational Architecture 深度

核心要点

  • Hazard 决定 Fail-Op 不是 ASIL 决定。问"系统失效后有没有安全态" → 没有 → Fail-Op。
  • 三种架构:Active-Passive(切换 glitch)、Active-Active(性能减半)、2oo3(航空,车规罕见)。
  • L3 / L4 ADAS 必须 Fail-Op——司机注意力已转移,没法 100 ms 接管。
  • MRC = Minimum Risk Condition——失效后系统应自主到达的最终状态(靠边停)。
  • 切换时序 3 阶段:Detection + Switchover + Recovery ≤ FTTI(留 25 % margin)。
  • 多域冗余:Sense / Plan / Act 各自双路 + 电源双路(L3 ADAS)。
  • Steer-by-wire 是 Fail-Op 工程最严格案例:双电池 + 双总线 + 双 ECU + 双绕组。
  • 主驱 motor torque 是 Fail-Safe 不是 Fail-Op(L3+ ADAS 也是),因为无 torque = 安全态。
  • DFA 必须证 A/B 独立——共享电源 / 总线 = 共因,严重违规。
  • Voter 是 Single Point——2oo3 必须给 Voter 加自检或双 Voter。

Cross-references