冗余架构与投票表决 — 1oo2 / 2oo3 / lockstep

功能安全L3别名 voting redundancy · 投票冗余 · 1oo2 · 1oo2D · 2oo2 · 2oo3 · 1oo1 · voting architecture · 表决架构 · majority voting · 多数表决 · common cause failure · CCF · beta factor · 共因失效 · lockstep · diverse redundancy · heterogeneous redundancy · 异构冗余 · safety architecture · 更新 相关[[topic-asil-decomposition]][[topic-dfa-fmeda-fta]][[topic-safety-mechanism-catalog]][[topic-e-gas-architecture]][[topic-iec-61800-5-2-stopping]][[topic-mcu-sbc-asil-d-integration]]

本质与导读

本质 单通道(1oo1)永远无法达到 SIL 2 以上,因为单点失效直接破安全功能。所有 SIL 2-4 / ASIL B-D 系统都必须用冗余架构:多个通道同时执行,通过 voting 逻辑决策输出。但冗余不是"加一个就好" —— 共因失效(CCF) 是真正的天花板:两个独立通道因为同一根本原因(同批 IC errata / 同电源 ripple / 同温度异常)同时失效,绕过整个冗余保护。本页拆解 5 种主流架构(1oo1 / 1oo2 / 1oo2D / 2oo2 / 2oo3)的物理含义 + 数学 PFH_d 公式 + β 因子(CCF 比例)+ 异构(diversity)降 β 的工程手段 + 实际工业 / 汽车 / 航空应用对比。

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

1. 5 种主流架构

冗余架构的命名规则:M out of N(MooN) 表示"N 个通道里至少 M 个同意才输出"。N 是总通道数,M 是触发条件。1oo2 表示"任一通道触发就停",2oo3 表示"3 选 2 多数同意才停"。

5 种冗余架构

1.1 1oo1 — 单通道(无冗余)

最简单,单 MCU 单通道。任何一个失效就完全失效。SIL 1 / ASIL A 上限,不能用于 SIL 2 以上系统。

适用:消费电子、低风险工业、QM 级汽车控制。

1.2 1oo2 — 任一触发(OR-gate)

双通道,任一通道认为危险就触发安全功能。voting 逻辑是 OR-gate。

  • 安全性高:两通道同时失效才漏检 — 概率 ,极低
  • 可用性低:任一误触发都让系统停 — 误停率高
  • 典型应用:工业 STO / E-stop(宁错杀不漏)

1.3 1oo2D — 双通道 + 诊断(降级)

1oo2 的升级版,增加 cross-check 诊断。当两通道结果不一致时:

  • 诊断判断哪通道错(通过自检 / 内置 BIST)
  • 错的通道排除,健康通道继续工作(degraded mode)
  • 报警 + 限时维护(几小时内修复)

1oo2D 的 "D" 表示 Diagnostics(诊断率 > 90%),是 SIL 3 / ASIL D 的主流方案。同时满足高可用 + 高安全。

1.4 2oo2 — 双通道一致(AND-gate)

双通道,两通道都同意才触发。voting 逻辑是 AND-gate。

  • 可用性高:不轻易误停 — 数据中心 / 通信典型
  • 安全性低:两通道协同失效就漏 — 实际 SIL 1
  • 典型应用:UPS、PLC 双热备份(防误停优先)

注意 2oo2 不能替代 1oo2 做安全,它的设计目标是"防误停",不是"防危险"。

1.5 2oo3 — 多数表决

三通道,3 选 2 多数同意才触发(majority voting)。可同时降级到 1oo2D。

  • 单通道失效仍正常(2oo2)
  • 双通道失效自动降到 1oo1(仍能工作)
  • 三通道失效才完全失效

代价:成本 3×,但安全性 + 可用性都最高。SIL 4(航空 / 铁路 / 核电)必需。

1.6 对比表

把上面 5 种架构横向对照,可以一眼看出通道数 / voting 逻辑 / 失效组合 / 可用性 / SIL 范围的对应关系——选型时按 SIL 等级反查右列,再判可用性约束。

架构通道voting安全失效条件可用性SIL 范围
1oo11直通单点SIL 1
1oo22OR两通道同时低(误停多)SIL 2/3
1oo2D2 + 诊断cross-check两通道同时高(降级)SIL 3
2oo22AND两通道协同高(不易停)SIL 1
2oo33majority两通道同时高(降级)SIL 3/4

2. 1oo2D 详解 — SIL 3 / ASIL D 主流

1oo2D 是汽车 EPS / EV 主驱 / 工业高端 servo 的标准方案,因为它同时解决两个根本问题:安全检测(任一不一致就报警) + 服务连续性(降级运行)

1oo2D degradation

2.1 三个状态机

① 正常态(双通道一致)

  • CH-A 和 CH-B 输出一致
  • cross-check 通过 → 输出 = 双通道一致值
  • 系统状态:full operation
  • SIL 3 / ASIL D 满足

② 单 fault(诊断捕获)

  • CH-A 输出漂移 / CH-B 输出正常
  • cross-check 发现不一致 → 启动自检
  • 诊断判断 CH-A 错 → 输出 = CH-B
  • 系统状态:degraded mode
  • SIL 降到 SIL 2(单通道运行)
  • 报警 + 限时维护

③ 双 fault(完全失效)

  • 两通道都漂移
  • 进入 safe state(STO)
  • 系统状态:shutdown
  • 必须修复后重启
  • 概率 ,极低

2.2 异构通道(diversity)

1oo2D 真正起作用的前提是两通道异构:

  • CH-A = AURIX TC3xx,CH-B = NXP S32K3(不同 MCU)
  • CH-A = ARM Cortex-M7,CH-B = Cortex-R5
  • 不同时钟 / 不同电源 / 不同 PCB layer
  • 软件团队也独立,代码独立验证

原因:抗 systematic 失效(同 errata / 同 firmware bug),否则两通道同样的 bug 会同时被触发,冗余形同虚设。

2.3 cross-check 实现

cross-check 是 1oo2D 的灵魂——两通道必须实时互相验证,否则失效就漏检。工程上靠下面 4 个手段叠出 DC > 90%:

  • SPI / CAN 心跳 + checksum
  • 定期 challenge-response(类似 e-GAS Q&A WD)
  • 输出差异 > 容差(典型 + debounce)→ 触发降级
  • DC(诊断覆盖率)目标 —— 这是 "1oo2D" 名字中 D 的来源

2.4 PFH_d 估算

双通道 PFH_d 由两部分构成:

代入典型值:

  • (单 MCU,SIL 2 级)
  • (异构 + 物理分离)
  • (test interval)

得: — SIL 3 阈值 /h 余 10×。

注意:第二项 主导(CCF 是 PFH_d 的瓶颈),这是为什么 β < 1% 是 SIL 3 的硬约束。

3. CCF 与 β 因子 — 冗余的真正天花板

冗余架构的核心敌人是 Common Cause Failure(CCF) —— 两个独立通道因为同一根本原因同时失效。CCF 的概率由 β 因子量化,β = 共因失效率 / 总失效率

CCF 与 β 因子

3.1 CCF 三大类来源

物理 CCF

  • 同批 IC 同 EOS 烧毁(同一根原料 wafer)
  • 同温度异常击穿
  • 同振动 / 冲击疲劳

环境 CCF

  • 同一 EMI 干扰(雷击 / 电机近场)
  • 同一电源 ripple(共用 12V)
  • 同一温度环境(共用 PCB / 机箱)

软件 CCF

  • 同 errata 同时触发
  • 同 firmware bug
  • 同 OS 同 task scheduling

3.2 β 因子模型

IEC 61508-6 Annex C 给出 β 模型:

其中 是独立失效部分(可被冗余抓住), 是共因失效(冗余抓不住)。

典型 β 值:

架构 diversityβ 范围
同种 IC,同 PCB10-20%
同种 IC,异构 PCB5%
异构 IC,同 PCB2-3%
异构 IC,异构 PCB,异构电源0.5-1%
异构 IC + 异构软件团队 + 故障注入验证< 0.5%

3.3 β 决定 SIL 等级

PFH_d 关于 β 的曲线:

  • β = 0.1%:PFH_d ≈ /h → SIL 4
  • β = 1%:PFH_d ≈ /h → SIL 3
  • β = 5%:PFH_d ≈ /h → SIL 2
  • β = 10%:PFH_d ≈ /h → SIL 2 边缘

β > 1% 时 SIL 3 失败,即使两通道完全独立运行也无济于事。

3.4 降 β 的工程手段

β 不是天生固定,工程上有 4 类干预,叠加使用可把 β 从 10% 压到 0.3%——这是 SIL 3 项目的常规组合,缺一条都可能在审计时被挑出来。

手段β 降低说明
异构(diversity)5-10×不同厂商 / 架构 / OS
物理分离3-5×不同 PCB / 机箱 / 电源 / 时钟
独立验证2-3×两团队独立开发 + 独立测试
故障注入测试验证 β主动制造 CCF 场景

实战推荐:三招同用,可把 β 从 10% 降到 0.3%,SIL 跨等级。

4. 实际应用 — 汽车 / 工业 / 航空

不同行业的成本 / 体积 / 寿命要求差异巨大,选择架构有强烈倾向性。

实际应用

4.1 汽车 — 1oo2D 占主流

汽车量产场景 cost 极度敏感,3 颗 MCU 的 2oo3 几乎不可行;1oo2D 用 lockstep + SBC 异构监控就能达 ASIL D,是当前主流方案。三个典型 case:

  • EPS(Electric Power Steering):AURIX TC3xx lockstep(2 个 TriCore 硬件同步)+ SBC TLE9263 异构监控 = 1oo2D(ASIL D)
  • EV inverter 主驱:e-GAS L1+L2 同芯片不同 task + SBC 异构 WD = 1oo2D(ASIL D)
  • BMS / OBC:ASIL D 主路 + ASIL B(D) 备路,ASIL 分解降成本

选 1oo2D 的原因:成本敏感(mass production),3 个 MCU 不划算。AURIX 内部 lockstep core 提供 1oo2 硬件级,SBC 提供 D(诊断)。

4.2 工业 — 1oo2 / 2oo3 看 SIL 等级

工业场景 SIL 等级跨度大(SIL 1-4),架构选择按等级走——SIL 2 用 1oo2 即可,SIL 3+ 化工 ESD 必上 2oo3,数据中心 UPS 偏可用性而非纯安全。

  • 工业 STO(SIL 2):1oo2 双 opto 通道 + 反馈
  • 化工 ESD(SIL 3-4):2oo3 PLC + majority voter
  • 数据中心 UPS:2oo2 + N+1 冗余(高可用优先)

详见 topic-iec-61800-5-2-stopping

4.3 航空 / 铁路 / 核电 — 2oo3 / 高阶

这些行业单价高、寿命长,成本约束几乎消失,可以直接走最高安全等级——异构 + 物理分离 + 多重 voter 全堆,2oo3 是入门,2oo4 / 高阶在核电常见。

  • 航空 FCS(DAL A):3 个异构计算机(不同 CPU + OS + compiler)+ 投票
  • 铁路 ATP(ETCS Level 3, SIL 4):2oo3 + 物理分离 + 异步时钟
  • 核电 SCRAM:2oo4 / 2oo3 多重(IEC 61513 / IEEE 603)

这些行业单价高(数千美元一台),成本不是约束 — 优先选最高安全等级。

4.4 为什么 EPS 选 1oo2D 不是 2oo3?

EPS 卡在量产成本 / PCB 面积约束上——SIL 3 / ASIL D 已达,再叠 2oo3 是 over-engineering。下面 5 维对比看清楚边界:

维度1oo2D EPS2oo3 EPS
MCU1 AURIX + 1 SBC3 AURIX + 仲裁
PCB~ 8 cm²~ 25 cm²
成本~ $25~$75
量产 OK?✗ 不划算
SILSIL 3 / ASIL DSIL 4 over-engineered

EPS 是 mass-production 件,1oo2D 是 sweet spot。

5. lockstep 是 1oo2 还是 1oo2D?

lockstep 是硬件级冗余:两个 CPU core 同步执行同代码,每周期硬件比对结果。AURIX TC3xx 在芯片内部实现,客户看到的是单个 MCU。

维度lockstep等价架构
通道2(同芯)1oo2(硬件)
检测硬件比对1oo2D 的诊断
diversity同 IC 内部β 较高(同 IC errata)
单芯能否 SIL 3?是,但 β 受限+ SBC 才能 ASIL D

实践中:lockstep 提供"硬件层 1oo2",但 β 较高(同 IC errata 是 CCF 来源)。所以汽车 ASIL D 通常 lockstep MCU + 异构 SBC,SBC 提供"芯片间 diversity",β 降到 1% 以下。

详见 topic-mcu-sbc-asil-d-integration

6. 工程 cheat-sheet

下表组织冗余架构的选型决策。

场景推荐架构关键 SM
QM / ASIL A 控制1oo1单通道 + WDT
工业 STO SIL 21oo2双 opto + 反馈
汽车 ASIL D1oo2Dlockstep MCU + 异构 SBC
化工 SIL 31oo2D双 PLC + diagnostics
航空 DAL A2oo3 异构3 不同 CPU + 投票
铁路 ATP SIL 42oo3异构 + 物理分离
数据中心 UPS2oo2 + N+1高可用
核电 SCRAM2oo4 / 2oo3 多重极度冗余

β 因子降低:异构(diversity) > 物理分离 > 独立验证(按效果排序)。

7. 常见误区

工程实践中遇到的冗余架构陷阱,主要来自"理解 voting 但不理解 CCF"。

  • ❌ "两个 MCU 就 SIL 3 了" — 不对,β 决定,同种 IC 同 PCB β 太高
  • ❌ "lockstep = ASIL D" — 不对,lockstep 是 1oo2 不是 1oo2D,缺诊断 + diversity
  • ❌ "2oo2 比 1oo2 安全" — 反!2oo2 安全性低(协同失效),只是可用性高
  • ❌ "PFH_d 用独立公式 " — 不对,必须加 CCF 项,通常 CCF 主导
  • ❌ "异构很贵,可不可以省" — 不能,SIL 3 / ASIL D 硬要求 β < 1%
  • ❌ "voting 一定要硬件" — 软件 voting 可,但 voter 本身必须高 SIL

8. 48V EPS 1oo2D 端到端 Worked Design(ASIL D)

本节用 48V EPS(Electric Power Steering,电动助力转向)做端到端 1oo2D worked design,从器件 FIT 数字推到系统 PFH_d,验证 ASIL D 余量,并标出来自 SSOT(topic-aurix-tc3xx-asil-d)的数据锚点。

8.1 系统需求

EPS ASIL D 要求(典型):

  • ASIL D → PFH_d ≤ /h(ISO 26262-5 Table 4)
  • FTTI = 100 ms,分解:t_detect ≤ 2 ms / t_react ≤ 3 ms / tsafe ≤ 50 ms → 实际余量 ≥ 45 ms

8.2 通道配置

下表列出两通道的器件选择、失效率来源与诊断覆盖,所有 FIT 数值以 SSOT 为准。

参数CH-A(主通道)CH-B(监控通道)
器件AURIX TC397(lockstep)TLE9263 SBC(STO path)
工作电机 FOC 控制 + cross-check TX类比过流比较器 + cross-check RX
失效率 λ_D8.0 FIT(SSOT §7.1:CPU 3.0 + 外设 5.0)2.0 FIT(工程估算;TLE9263 STO path)
诊断覆盖 DC_SPF99%(lockstep 硬件比对)90%(模拟 OC 比较器)
λ_DU(未检出)8.0 × 0.01 = 0.080 FIT2.0 × 0.10 = 0.20 FIT
算法多样性FOC 数字控制模拟阈值比较
电源VDDP 1.25 V(内部 LDO)VBAT_SBC 5 V(独立轨)

TC397 λ_D = 8.0 FIT(SSOT: topic-aurix-tc3xx-asil-d §7.1,2022 IMTT submission).

8.3 β 因子评估

依 IEC 61508-6 Annex C 评分(5 类量化指标):

评分项得分说明
硬件异构−4不同厂商 / 不同架构 die(AURIX vs TLE9263 模拟 IC)
电源隔离−2独立轨(1.25 V vs 5 V SBC)
算法多样−2FOC 数字 vs 模拟 OC 比较器
物理分离−1不同 PCB 区域(间距 > 20 mm)
独立验证−1主控 SW 与 SBC FW 独立团队

β = 1%(异构 IC + 独立电源 + 多样算法 → Annex C 最低档 0.5–1%)。

8.4 PFH_d 计算

双通道 1oo2D PFH_d 公式(IEC 61508-6 Annex B):

代入数值(λ 单位 FIT = /h,τ = 1 年 = 8760 h):

独立项:

CCF 项:

合计:

(≈ /h = 0.0014 FIT)

余量核验:

指标计算值阈值(ASIL D)余量
PFH_d /h /h~7100×
CCF 项 / 独立项 比~×CCF 主导(独立项低 ~4 个数量级)

关键洞察:独立项 /h 受 的双 λ 乘积效应压到极低(比 CCF 低 ~4 个数量级),总 PFH_d 由 CCF 项 /h 主导(占 ~99.99%)。这正是 1oo2D 的本质:上了冗余 + 诊断后,单通道随机失效的乘积项已不是瓶颈,β 因子(共因比例)成为唯一天花板——所以把 β 从同种 IC 的 10–20% 用异构(diversity)压到 1%,才是这个架构真正的杠杆。

8.5 FTTI 时序分解

FTTI = 100 ms 拆分到各子时段:

t0: 失效发生
  → t_detect ≤ 2 ms:cross-check 差异检测(1 ms SPI + 1 ms 滤波)
  → t_react ≤ 3 ms:诊断判定 + SM 决策(软件 + RTOS tick)
  → tsafe ≤ 50 ms:TC397 发 STO 命令 → TLE9263 STO 路径执行 → 电机去激
  → 余量 ≥ 45 ms(FTTI 100 ms − 55 ms)

STO 路径走 CH-B(TLE9263)独立 SPI 接口,不依赖 CH-A FOC 软件,确保即使 CH-A 完全失效也能在 tsafe 内完成。

8.6 ASIL D 达成条件小结

满足 ASIL D 的 4 个充分条件均得到满足:

  1. PFH_d = /h << /h(余量 71×)
  2. β = 1%(异构 IC + 独立电源 + 多样算法,Annex C 最低档)
  3. DC_SPF = 99% / 90%:两通道均超过 IEC 61508 表格 SFF > 90% 要求
  4. FTTI 55 ms < 100 ms 要求

9. Gotcha 链

这些是真实项目审计中反复出现的 1oo2D 陷阱。

Gotcha 1:Lockstep ≠ 1oo2D

Lockstep 只是芯片内部 1oo2(同一 die 两 core 硬件比对),没有芯片间诊断通道。ISO 26262 要求 1oo2D 的 "D" 指独立通道间的诊断,锁步 MCU 单独使用最高只能声称 1oo2,需加 SBC 才能完成 D(异构监控 + cross-check)。把 lockstep 写成 "1oo2D" 在 TÜV 审计时直接被打回。

Gotcha 2:CCF 项漏算

PFH_d 只用独立项 而忘了加 。在同种 IC(β = 10–20%)时 CCF 项比独立项高 2–3 个数量级,漏算直接导致 SIL 等级虚报。

Gotcha 3:SBC 共电源等于单点失效

两通道共用同一 VBAT 节点:CH-A(MCU)和 CH-B(SBC)都从 12 V 总线拉电。若 12 V 欠压/过压,两通道同时掉——β 由 1% 跳回 20%,SIL 3 失效。正确做法是 SBC 有独立预调节轨(5 V LDO 或 dcdc),确保 12 V 单点失效时 SBC 的 STO 路径仍能动作。

Gotcha 4:β 从标准直接复制不重评

IEC 61508-6 Annex C 表格给出 β 范围,但具体数字需按项目实际填量化 checklist。项目 A 的 β = 0.5% 不能直接粘到项目 B——PCB layout / 电源拓扑 / 算法多样性都可能不同。审计员会索要量化评分表。

Gotcha 5:τ 用错单位

PFH_d 公式里 τ 是测试时间间隔,不是系统寿命。如果 Proof Test Interval = 1 年(8760 h),τ = 8760;如果是每次上电检测(τ = 操作时间 /year),要分清"连续运行系统"和"按需系统"的公式形式(IEC 61508-6 B.2 / B.3)。

Gotcha 6:1oo2 误标为 1oo2D

1oo2 只有 OR-gate,没有独立诊断通道。如果系统标"1oo2D"却没实现 cross-check 和 DC > 90%,在 FMEDA 审计时立即暴露:未检出失效率 λ_DU 用的是 1oo2 公式还是 1oo2D 公式?两者差一个数量级。

Gotcha 7:1oo2D 过度 diversity 反而增 PFH_d

有团队为降 β 叠加太多 diversity(3 个不同 MCU 异构),结果整体 λ_DU 反而增加(每个器件的 FIT 叠加),PFH_d 的独立项上升。optimal 点是"β 已够低(< 1%)后独立项反而是瓶颈"——此时增 diversity 无收益,应降 λ_DU(选低 FIT 器件或提升 DC)。

10. Corner 分析

Corner 1:晶圆批次级 CCF(fab-level CCF)

IEC 61508-6 Annex C 评分项中"同供应商"算一个 CCF 风险因子,但不覆盖同批次晶圆的系统性缺陷。当 CH-A 和 CH-B 使用同一代工厂同一 MPW 跑批的 IC(即使型号不同),若该批次有 HCI(Hot Carrier Injection)退化问题,两通道的同期退化破坏统计独立性。工程应对:安全手册要求两通道器件来自不同供应商或不同代工厂批次,或用 incoming inspection 抽测批次一致性。

Corner 2:低温启动 cross-check 误触发

−40°C 冷启动时 MCU PLL 锁定时间(典型 5–10 ms)与 SBC watchdog 首次服务时间窗口(典型 10–50 ms)存在竞争。若 CH-A 在 PLL 未锁定状态发出 cross-check 报文,CH-B 可能收到格式错误 → 误判 CH-A 失效 → 触发 STO。设计纪律:cross-check 使能必须在双通道启动完成、PLL 锁定、BIT 通过之后才开始计时,不能随上电立即启动。

Corner 3:FTTI < 10 ms 时 1oo2D 靠软件 cross-check 不够

软件 cross-check 的典型检测时间 = SPI 周期(1–2 ms)+ OS tick(1–5 ms)+ 滤波(1–3 ms),总计 3–10 ms。FTTI < 10 ms 的场景(如高速伺服 / 列车制动 AEB)靠软件 cross-check 检测到失效再触发 STO,FTTI 不满足。解:CH-B 必须是硬件监控路径(模拟比较器 / 硬件 WDT),在微秒级响应而不经过软件判断。TLE9263 的 STO 输入是直接模拟电平,正是为此设计。

核心要点

  • 5 种主流架构:1oo1(无冗余)/ 1oo2(任一停)/ 1oo2D(双通道+诊断)/ 2oo2(双通道一致)/ 2oo3(多数表决)
  • 可用性 vs 安全性:2oo2 高可用低安全,1oo2 高安全低可用,1oo2D 兼顾
  • β 因子模型:,β 越小冗余越有效
  • β 典型值:同种 IC 同 PCB 10–20%,异构 + 物理分离 + 异电源 < 1%
  • 降 β 三招:异构(不同 IC / OS)+ 物理分离(PCB / 电源)+ 独立验证(团队 / 测试)
  • PFH_d = /h(48V EPS TC397+TLE9263,β=1%)→ ASIL D 余量 71×
  • CCF 项随 β 上升迅速:β=1% 时 CCF 占比 1%;β=10% 时 CCF 主导(比独立项高 2 阶)
  • 汽车主流 1oo2D — AURIX lockstep + SBC,成本与安全的 sweet spot

Engineering Objects

符号含义本页取值来源
λ_D(TC397)危险失效率8.0 FITSSOT:topic-aurix-tc3xx-asil-d §7.1
DC_SPF(TC397)单点失效诊断覆盖99%Lockstep 硬件比对
λ_DU_ATC397 未检出危险失效率0.080 FIT8.0 × 0.01
λ_D(TLE9263)TLE9263 STO path 危险失效率2.0 FIT工程估算
DC_SPF(TLE9263)TLE9263 STO path DC90%模拟 OC 比较器
λ_DU_BTLE9263 未检出危险失效率0.20 FIT2.0 × 0.10
βCCF 比例1%Annex C 异构 IC 最低档
τ测试时间间隔(1 年)8760 h年度 Proof Test
PFH_d危险失效/小时概率 /h§8.4 计算
FTTI容错时间间隔100 msEPS ASIL D 典型需求

Cross-references