冗余架构与投票表决 — 1oo2 / 2oo3 / lockstep
本质与导读
本质 单通道(1oo1)永远无法达到 SIL 2 以上,因为单点失效直接破安全功能。所有 SIL 2-4 / ASIL B-D 系统都必须用冗余架构:多个通道同时执行,通过 voting 逻辑决策输出。但冗余不是"加一个就好" —— 共因失效(CCF) 是真正的天花板:两个独立通道因为同一根本原因(同批 IC errata / 同电源 ripple / 同温度异常)同时失效,绕过整个冗余保护。本页拆解 5 种主流架构(1oo1 / 1oo2 / 1oo2D / 2oo2 / 2oo3)的物理含义 + 数学 PFH_d 公式 + β 因子(CCF 比例)+ 异构(diversity)降 β 的工程手段 + 实际工业 / 汽车 / 航空应用对比。
核心要点
- 5 种主流架构:1oo1(无冗余)/ 1oo2(任一停)/ 1oo2D(双通道+诊断)/ 2oo2(双通道一致)/ 2oo3(多数表决)
- 可用性 vs 安全性:2oo2 高可用低安全,1oo2 高安全低可用,1oo2D 兼顾
- β 因子模型:,β 越小冗余越有效
- β 典型值:同种 IC 同 PCB 10-20%,异构 + 物理分离 + 异电源 < 1%
- 降 β 三招:异构(不同 IC / OS)+ 物理分离(PCB / 电源)+ 独立验证(团队 / 测试)
- SIL 3 PFH_d /h 要求 β < 1%,CCF 是真正天花板
- 汽车主流 1oo2D — AURIX lockstep + SBC,成本与安全的 sweet spot
1. 5 种主流架构
冗余架构的命名规则:M out of N(MooN) 表示"N 个通道里至少 M 个同意才输出"。N 是总通道数,M 是触发条件。1oo2 表示"任一通道触发就停",2oo3 表示"3 选 2 多数同意才停"。
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 范围 |
|---|---|---|---|---|---|
| 1oo1 | 1 | 直通 | 单点 | 高 | SIL 1 |
| 1oo2 | 2 | OR | 两通道同时 | 低(误停多) | SIL 2/3 |
| 1oo2D | 2 + 诊断 | cross-check | 两通道同时 | 高(降级) | SIL 3 |
| 2oo2 | 2 | AND | 两通道协同 | 高(不易停) | SIL 1 |
| 2oo3 | 3 | majority | 两通道同时 | 高(降级) | SIL 3/4 |
2. 1oo2D 详解 — SIL 3 / ASIL D 主流
1oo2D 是汽车 EPS / EV 主驱 / 工业高端 servo 的标准方案,因为它同时解决两个根本问题:安全检测(任一不一致就报警) + 服务连续性(降级运行)。
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 的概率由 β 因子量化,β = 共因失效率 / 总失效率。
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,同 PCB | 10-20% |
| 同种 IC,异构 PCB | 5% |
| 异构 IC,同 PCB | 2-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 冗余(高可用优先)
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 EPS | 2oo3 EPS |
|---|---|---|
| MCU | 1 AURIX + 1 SBC | 3 AURIX + 仲裁 |
| PCB | ~ 8 cm² | ~ 25 cm² |
| 成本 | ~ $25 | ~$75 |
| 量产 OK? | ✓ | ✗ 不划算 |
| SIL | SIL 3 / ASIL D | SIL 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% 以下。
6. 工程 cheat-sheet
下表组织冗余架构的选型决策。
| 场景 | 推荐架构 | 关键 SM |
|---|---|---|
| QM / ASIL A 控制 | 1oo1 | 单通道 + WDT |
| 工业 STO SIL 2 | 1oo2 | 双 opto + 反馈 |
| 汽车 ASIL D | 1oo2D | lockstep MCU + 异构 SBC |
| 化工 SIL 3 | 1oo2D | 双 PLC + diagnostics |
| 航空 DAL A | 2oo3 异构 | 3 不同 CPU + 投票 |
| 铁路 ATP SIL 4 | 2oo3 | 异构 + 物理分离 |
| 数据中心 UPS | 2oo2 + N+1 | 高可用 |
| 核电 SCRAM | 2oo4 / 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. 自检题
前 3 题考 5 种架构,4-6 考 CCF 与 β,7-10 考实际应用。
- 1oo2 和 2oo2 的 voting 逻辑各是什么?哪个安全性高?
- "1oo2D" 的 D 表示什么?要求 DC 达到多少?
- 单通道 1oo1 能做到什么 SIL?为什么不能更高?
- 写出双通道 PFH_d 公式(包含 β 项)
- 同种 IC 同 PCB 时 β 约多少?异构 + 物理分离 + 异电源时 β 约多少?
- 想做 SIL 3 系统,β 上限是多少?需要哪三类手段?
- AURIX TC3xx 内部 lockstep 等价于什么架构?够 ASIL D 吗?
- 为什么 EPS 选 1oo2D 而不是 2oo3?
- 工业 STO SIL 2 / 化工 ESD SIL 3 / 航空 DAL A 各选什么架构?
- 2oo2 适合什么场景?它的设计目标是什么?
Cross-references
- ← 索引
- topic-functional-safety — 总框架(SIL / ASIL / PMHF / PFH_d)
- topic-iso26262-part9-asil-analyses — ASIL 分解与 DFA
- topic-fit-fmeda-calculation — FIT / PFH_d 计算方法
- topic-dfa-fmeda-fta — DFA(Dependent Failure Analysis,CCF 工程化)
- topic-asil-decomposition — ASIL D = B + B 分解
- topic-mcu-sbc-asil-d-integration — lockstep MCU + SBC 实际集成
- topic-iec-61800-5-2-stopping — 工业 STO 双通道实现
- topic-e-gas-architecture — 汽车 3 层监控(1oo2D 的具体形式)
- topic-safety-mechanism-catalog — 各级 SM 选择