ASIL 分解(ASIL Decomposition)

功能安全L2别名 ASIL decomposition · ASIL 分解 · ASIL inheritance · 安全等级分解 · 更新

本质与导读

本质 把一条 ASIL D 安全需求拆成两路更低 ASIL 子需求(典型 D → ASIL B(D) + ASIL B(D)),整体仍达 ASIL D,从而大幅省开发成本——但成立的唯一前提是两路真正独立、无共因失效;共用 MCU / 电源 / 算法会让分解形同虚设,系统实际只剩低 ASIL。

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

1. 为什么要分解

ASIL D 工程比 ASIL B 贵 5-10×——在 MCU 选型、工具链(certified compiler)、verification 强度、文档密度上都成倍上涨。但 OEM 给的安全目标常常就是 ASIL D。ASIL 分解是把"系统级 ASIL D"在两个独立路径上分担,各路降到 ASIL B,大幅减成本——前提是两路真独立。

1.1 成本对比

ASIL D 与 ASIL B 在 4 个开发维度上都成倍上涨——MCU 单价、编译器认证费、测试 effort、文档密度,合起来 5-10× 总成本差。

维度ASIL DASIL B倍数
MCU 选型TC397 / S32K344(锁步 + ECC + LBIST)普通 ASIL B MCU2-3× 单价
编译器认证版(LDRA / Polyspace)普通 GCC + 静态分析5-10× 工具费
测试覆盖率MC/DC + 边界条件 + 故障注入语句覆盖 + 分支5× test effort
文档密度Safety Case + FMEDA + DFA + FTA + Audit简化文档3-5×
总开发成本10015-255-10×

ASIL 分解 D → B + B 直接把 5-10× 的成本压回 2× 多一点(两路 ASIL B 各 ~25,合计 ~50)。


2. 五种合法分解组合

ISO 26262-9:2018 §5.4.9(配 Figure 2)给出合法的 ASIL 分解方案——D 族 3 种 + C 族 2 种共 5 种,任何分解都要落在标准方案里,否则不合规(2018 版正文并无 Table 1/3,老引用是 2011 版习惯,勘正 2026-07-10)。

ASIL D 与 ASIL C 的合法分解组合

2.1 ASIL D 分解的 3 种组合

ASIL D 可以分成 3 种合法组合——按"两路 ASIL 等级和"必须 ≥ D 的伪加法规则。最常用是 B + B(对称冗余),C + A 用于"主控复杂 + 简单监控"或反过来"简单主控 + 复杂监控"。注意:C(D)+A(D) 和 A(D)+C(D) 是同一种分解——只是 main/monitor 角色互换,标准 §5.4.9 把它当一个方案,不是两种。

原 ASIL子路径组合标记适用场景
DASIL D(D) + QM(D)D + QM一路完整 ASIL D 实施,另一路只做无关功能
DASIL C(D) + ASIL A(D)C + A不对称 —— 哪边 C / 哪边 A 视架构而定
DASIL B(D) + ASIL B(D)B + B最常用 —— 两路对称冗余
常见误解:很多人(包括国内一些教材)…

常见误解:很多人(包括国内一些教材)以为"D = A + C 不合法"——这是错的。标准 ISO 26262-9:2018 §5.4.9(Figure 2)明确列出 C(D) + A(D) 为合法组合,无论标 "C+A" 还是 "A+C" 都指同一种分解。误解源头通常是把 A(D) 当成普通 ASIL A 而忽略 (D) 括号的含义——见 §3.1。

2.2 ASIL C 分解的 3 种组合

ASIL C 同理可分 3 种组合——成本压力比 D 小,实务里很少真正分解 C(因为 C 本身开发成本不算高)。

原 ASIL路径 1路径 2标记
CASIL CQMC + QM
CASIL B(C)ASIL A(C)B + A
CASIL A(C)ASIL B(C)A + B

2.3 不允许的组合

下面这些组合ISO 26262 明确不允许——分解出的 ASIL 等级不能任意组合:

  • ❌ ASIL D → ASIL B(D) + ASIL A(D) (B + A 总和不够 D)
  • ❌ ASIL C → ASIL A(C) + ASIL A(C) (两个 A 不够 C)
  • ❌ ASIL B → A(B) + QM(B)(1+0=1 < 2,不够 B)——但 ASIL B 分解为 A(B) + A(B) 或 B(B) + QM(B)
  • ❌ ASIL A → QM(A) + QM(A)(0 < 1)——ASIL A 分解为 A(A) + QM(A)

关键认知:ASIL D 与 C 的分解等级数总和满足"D = 4 / C = 3 / B = 2 / A = 1 / QM = 0"的伪加法——D = D+QM(4+0)= C+A(3+1)= B+B(2+2)。注意这是按等级序数加,不是某些教材里"D=6"那种取 SPFM 百分比意会算法。


3. ASIL B(D) / A(D) 标记的含义

ASIL B(D) 是 ISO 26262 的特殊标记 —— B 是这一路开发的实际 ASIL,(D) 是 inherited(继承的)系统级 ASIL。两个含义都重要:

ASIL B(D) 标记拆解 — actual dev level 与 inherited system level

用 ASIL何时
B选 MCU / 编译器 / 验证策略时,按 B 等级流程
D(继承)DFA 时检查独立性,仍要按 D 标准做共因分析

最容易踩的坑:开发时按 ASIL B 跑工具链没问题,但 DFA / 独立性论证仍要按 ASIL D 严格度——否则两路共因失效让分解失效,系统降回 ASIL B。

3.1 (D) 是"独立性税"——A(D) 不等于普通 ASIL A

很多人看到 D = A + C 的 A 那一侧,以为可以"按 ASIL A 流程做就行"——。括号里的 (D) 不只是个标签,它带来一组实打实的额外义务,让 A(D) 的真实成本接近 D 而不是 A:

维度普通 ASIL AASIL A(D)是否减负
MCU / 工具链ASIL A 等级可用 ASIL A✓ 减负
单元测试覆盖率statementstatement✓ 减负
独立性论证(DFA)按 A按 D —— 与 C(D) 那侧的共因要全切断✗ 不减
集成 / 系统测试按 A按 D —— 联合通道仍走 ASIL D 测试✗ 不减
变更管理 / 配置管理按 A按 D —— 全程 ASIL D 流程✗ 不减
失效率账(SPFM/LFM)ASIL A 无量化要求(-)联合到 ASIL D 预算,不能单独脱钩✗ 不减
Safety case 文档密度简化按 D 走完整论证✗ 不减

结论:A(D) 的成本通常接近 ASIL B/C,而非 ASIL A。这就是为什么 industry 实务里 80% 项目选 B(D)+B(D) 而不选 A(D)+C(D)——B+B 对称带来的工程便利(同平台、同测试方法、同组织结构)远比"省几个 ASIL 等级"重要。

3.2 什么时候 A(D) + C(D) 反而更合算

不对称分解不是劣选,在两类场景下比 B+B 更合理:

  • 已有 ASIL C 成熟 SEooC 复用 —— 例如已有一颗 ASIL C SBC + driver IC 组合,直接当 C(D) 通道,再加一条便宜的 A(D) 监督路径,比从头做两套 B(D) 便宜
  • 物理上天然不对称 —— 比如 main 通道是大算力 SoC(自然到 C),monitor 通道是简单 lockstep MCU(做到 A 已够),强行做 B+B 反而要把 monitor 升级浪费

4. 4 个独立性硬约束

ASIL 分解的合法性完全建立在两路独立——独立性破坏时,分解 illusion 立刻碎。ISO 26262 列了 4 类必须独立的方面:

4 个独立性硬约束 — Hardware / Software / Data / Specification

4.1 硬件独立(no shared hardware)

两路必须用物理上分离的硬件资源——同一颗 MCU 的两个 core 一般不算独立(共时钟 / 共电源 / 共封装),除非特殊设计。

共享项是否破坏独立
同 MCU 同 core✗ 完全不算独立
同 MCU 不同 core(非 lockstep)△ 视设计,共时钟 / 电源算共因
同 MCU lockstep 双核△ 实际是 ASIL D 单元,不是分解
不同 MCU✓ 真独立(典型 ASIL B(D) + B(D) 配置)
同电源域✗ 共因
同时钟源✗ 共因
同 reset 域✗ 共因

典型 ASIL D → B(D) + B(D) 实施:主 MCU + 监控 MCU(不同 vendor、不同电源、不同时钟、不同 reset)。

4.2 软件独立(no shared software)

两路代码必须没有共享 module / library / 算法逻辑

共享项是否破坏独立
同算法用两次✗ 同 bug 同时出错
同 OS / RTOS△ 取决于隔离机制(MMU / hypervisor)
同 compiler△ 编译器 bug 是共因
不同算法不同实现✓ 真软件多样性
不同语言 / 不同 compiler✓ 最强多样性

4.3 数据独立(no shared data / signal)

两路用的输入数据 / 信号不能完全相同来源——否则数据出错两路同时算错。

共享项是否破坏独立
同传感器同 ADC 通道✗ 单点故障
同传感器不同 ADC 通道△ 改善但仍共传感器
不同传感器(同信号)✓ 例:Resolver + Hall 双系统
CAN 消息△ 取决于 E2E 保护级别

4.4 规范独立(no shared specification)

两路的需求规范不能完全同源——同一个规范错误让两路同时实现错。

共享项是否破坏独立
同需求文档✗ 需求 bug 共因
同需求拆两个职能写△ 改善但仍同源
同需求由独立 team 写两次✓ 高级实施(航天用)

实务里规范独立要求最难达到——大多数车企 OEM 给一份规范,Tier1 自己实现两路。这种情况严格上算 partial independence,DFA 时要把"规范错误"列为共因风险。


5. 经典实例

5.1 EPS:主控 + 监控双 MCU

EPS 是 ASIL D → B(D) + B(D) 分解的教科书案例:

EPS ASIL D → B(D) + B(D) — 主控 MCU + 独立监控 MCU

路径角色ASIL
主控 MCU(如 TC275)计算扭矩 + 控制 PWMB(D)
监控 MCU(如 STM8AF)独立计算扭矩 + 比较 + 触发 STOB(D)

独立性论证:不同 vendor / 不同电源 / 不同时钟 / 不同 reset / 软件不同 team 写。

5.2 主驱:Lockstep 单 MCU + ASC 硬件双通道

主驱典型不用 D → B + B 分解,而用 D 单 MCU + 硬件 STO 通道:

主驱 ASIL D 单元 + 独立 ASIL D 监控通道(Lockstep + ASC)

路径角色
Lockstep MCU(TC397 锁步)单元素就是 ASIL D
SBC + Safety MCU(独立监控)不算分解,算冗余监控

这是另一种合法架构:ASIL D 单元 + 独立 ASIL D 监控通道。比 B+B 实施成本高但开发周期短

5.3 BMS:D + QM 分解

BMS 的 cell monitor 是 D + QM 分解的典型:

路径角色ASIL
主 BMS MCUSOC 计算 + 接触器控制ASIL D
HMI 显示 IC仅显示电量QM

关键:HMI 显示完全不影响安全(显示错误用户最多惊讶,不会触发 hazard),所以 QM 即可。


6. ASIL 分解的 4 步操作流程

把分解从概念变成可执行走 4 步——每步缺失或错误都让分解失效。

ASIL 分解 4 步操作流 — Identify → Propose → Argue (DFA) → Track

动作
1 识别候选需求哪条 ASIL D 安全需求适合分解(实施成本高 / 有自然双路结构)
2 提议分解组合D + QM / C + A / B + B / A + C 选哪种,看现有架构和成本
3 独立性论证DFA 走 4 类独立(HW / SW / Data / Spec)逐项验证
4 追踪分配后续 traceability 中明确每个低 ASIL 子需求继承的(D)标记

7. 5 个 ASIL 分解反模式

ASIL 分解失败集中在 5 个反模式——这 5 个共同特征是"看起来合法但实际共因没消除",让 ASIL D 系统实际只是 ASIL B 保护

反模式表现修法
共 MCU 单 coreASIL D 拆成两个 ASIL B 软件模块跑同 core必须不同 core / 不同 MCU
共算法两路用同一个 control law 实现,只是输入不同用算法多样性(不同实现)
共电源 / 时钟 / reset"不同 MCU 但同 SBC 供电"DFA 必走,把电源 / 时钟 / reset 拆开
DFA 没做提议 B + B 但没系统性走 DFA 4 项独立强制每个分解都附 DFA 报告
规范独立失败OEM 一份规范,内部一个 team 写两路实现至少两个 team 独立 review,记录"规范错误"为共因风险
A(D) 当普通 A 做因为标 "A" 就用 ASIL A 流程,DFA / 测试 / 文档全走 A见 §3.1—— (D) 括号意味独立性 + 集成测试 + 文档全按 D 走

7.1 共 MCU 单 core 的隐蔽危险

最常见也最致命的反模式:工程师以为"两个 ASIL B 软件模块就是 D + D = D 等价"——其实两路跑在同 core 同 OS,单点 core 故障两路同时挂。这种"分解"完全是 illusion。修法:即使两个软件模块,也要跨 core(或者用 lockstep,但那时整体本来就是 ASIL D 单元,不算分解)。

7.2 规范独立失败的隐蔽成本

绝大多数车企项目里规范独立这条做不到——OEM 一份 TSR,Tier1 内部一个 system engineer 写,两路 dev team 都按这一份实施。这意味着规范本身的错误会同时传播到两路。修法:DFA 时把"规范错误"列为已知共因风险,在两路验证阶段加 specification cross-check(test team 用不同人独立 review)。

深入 CCF (Common Cau…

深入 CCF (Common Cause Failure) 量化 + 7 类 DFI + lockstep 三重缓解 + 5 反模式 → 共因失效 CCF 深度


8. EPS B(D)+B(D) 完整 DFA Worked Design — 电动助力转向双 MCU 分解

ASIL 分解的完整操作包含 4 步:识别候选需求 → 提议分解组合 → DFA 独立性论证 → 追踪 ASIL B(D) 分配。本节以 48V EPS(电动助力转向)ASIL D → B(D)+B(D) 分解为对象,走完全部 4 步,并在每步给出「什么会让分解失效」的工程理由。

8.1 候选安全需求与分解选型

EPS 的 HARA 给出 SG-1:「避免意外转向扭矩超出 ±1.0 Nm」,ASIL D。这条安全需求需要落到架构实现。

选择 B(D)+B(D) 而非 C(D)+A(D) 的理由:

  • 主控和监控功能天然对称(两侧都要算扭矩并判断是否合理)
  • 同一 Tier1 工具链可复用 ASIL B 等级的工具,对称架构减少配置管理复杂度
  • 相比不对称 C+A,B+B 的两路在同一 MCU 家族(如 Infineon AURIX 产品线)有良好支持,集成测试体系成熟

分解声明:SG-1(ASIL D)分解为:

  • SR-1a:主控 MCU(TC275)计算并输出电机目标扭矩,ASIL B(D)
  • SR-1b:监控 MCU(CYPRESS CY8C4145)独立计算参考扭矩并对比主控输出,检测超偏则触发 STO,ASIL B(D)

8.2 DFA 独立性论证(4 维逐项)

DFA 的核心输出是「证明两路没有单一共因能同时让两路失效」。以下按 4 维展开。

维度 1:硬件独立性

检查项设计状态独立性结论
MCU 型号与厂商主:Infineon TC275(Tricore);监:Cypress CY8C4145(Cortex-M0+)✓ 不同 die,不同 fab
电源域主:TLF35584 SBC Ch1(5V);监:TLF35584 SBC Ch2(3.3V,独立 LDO)⚠ 同一 SBC!见 §8.3 讨论
时钟源主:板载 40MHz XTAL;监:内置 RC 振荡器(±2% 精度)校准用外部 32kHz 晶振(独立)✓ 物理不共享
Reset 电路主:TC275 内置 ESR + TLF35584 WD;监:CY8C4145 内置 POR⚠ WD 由同一 TLF35584 驱动主路
通信接口两路通过 SPI 互发 heartbeat + torque compare;该 SPI 是监控通道,非控制通道✓ 监控用途,不共用控制数据

维度 2:软件独立性

两路代码由不同 team 开发(主控:A 组;监控:B 组),但有以下需要 DFA 标记的项:

检查项设计状态独立性结论
算法实现主:Park 变换 + PI 电流环算目标扭矩;监:基于轴向力矩估算(不同方法)✓ 算法多样性
编译器主:TASKING V6.3r1(Tricore 认证版);监:IAR EWARM 8.50(Cortex-M 认证版)✓ 不共用
RTOS主:AUTOSAR OS on EB tresos;监:无 RTOS(裸机 ISR)✓ OS 不同,降低 OS-bug 共因风险
代码 review两 team 交叉 review 各自接口规范,不交叉看实现✓ 规范独立见维度 4

维度 3:数据/信号独立性

检查项设计状态独立性结论
转向轴转矩传感器主:Torque Sensor A(SPI 通道 1);监:Torque Sensor B(SPI 通道 2)—— 两个独立物理传感器
车速信号两路均来自同一 CAN 消息(VCU 广播)⚠ 共因:VCU CAN 广播故障两路同时丢
电流采样主:ADC-A 采样相电流;监:独立电流传感器 IC(不共 ADC)

维度 4:规范独立性

检查项设计状态独立性结论
安全需求文档主监两路的需求来自同一份 TSR(System Arch 写)⚠ 规范单一来源:规范错误为共因
需求 review两 team 独立 review,但 review 的是同一文档△ 部分改善

8.3 共因失效识别与缓解(CCF 分析)

DFA 识别出以下残留共因失效(CCF),并给出缓解措施:

CCF ID共因影响缓解措施缓解后状态
CCF-1TLF35584 同一 SBC 供电两路SBC 失效两路同时失电将监控 MCU 改为由独立 LDO(如 TPS7A16)供电,非 SBC 路径✓ 缓解后独立
CCF-2车速 CAN 消息单一来源VCU CAN bug 两路同时用错速度(a) 在两路分别加 E2E/CRC 保护;(b) 监控路可用独立轮速脉冲作 fallback△ ISO 26262 不强制双物理源——单源若经 E2E/超时检测能被两路各自识别、且检测到即各自进安全态即可接受,但共享源仍作 coupling factor 留在 DFA
CCF-3TSR 规范单一来源规范错误被两路同时实现在 Safety Case 中登记此项为 known CCF;系统级测试加「规范级别」的错误注入(独立测试工程师制独立测试规范)△ 部分缓解;DFA 报告中标 residual risk
CCF-4PCB 电磁场(同板相邻)辐射 EMI 同时干扰两 MCU主监 MCU 用物理屏蔽隔离(接地铜皮 + 独立 I/O 路径),EMC DV 测试覆盖✓(EMC DV 覆盖后接受)

8.4 SPFM / LFM 门槛与 CCF 失效率账

ISO 26262-5:2018 对随机硬件失效给出两个硬件架构度量门槛,ASIL D 的 item 整体须满足:SPFM ≥ 99%(§8.4.5 Table 4)、LFM ≥ 90%(§8.4.6 Table 5),并满足 PMHF < 10 FIT(< 1e-8/h,Table 6)。B(D)+B(D) 分解后,每路作为 ASIL B 要素只需达到 ASIL B 门槛——SPFM ≥ 90%、LFM ≥ 60%(注意不是 97%/80%,那是 ASIL C 的值;这一栏是 ASIL 分解最容易记混的载重数字)。

ASILSPFM(Table 4)LFM(Table 5)PMHF(Table 6)
B≥ 90%≥ 60%< 100 FIT
C≥ 97%≥ 80%< 100 FIT
D≥ 99%≥ 90%< 10 FIT

但降门槛的前提是两路的联合失效率仍达 ASIL D 目标——而这个账被共因失效(CCF)封顶。按 IEC 61508-6 Annex D 的 beta-factor 模型,冗余通道的共因贡献是单通道失效率乘一个 β 因子:

冗余把两路「独立」部分的联合失效压到二阶小量(近似正比于 λ 平方 × 检测窗口),但 CCF 项 一阶的,不随冗余下降——它是分解后系统残余危险失效率的地板。IEC 61508-6 Annex D 给 β 的典型区间:逻辑器件 0.5%–5%,传感器/执行末端 1%–10%,由约 40 项 checklist 打分定值。因此 §8.3 的 CCF 缓解不是走过场:每条缓解都在把 β 往下压,β 压不下去 就顶破 ASIL D 的 PMHF 预算。

注意 ISO 26262-9:2018 Clause 7 的 DFA 本身是定性分析(识别 dependent failure initiator 与 coupling factor),不强制给出数值 β;β 的量化沿用 IEC 61508 的 beta-factor 法。DFA 的定性结论(哪些 coupling factor 未消除)直接决定 β 落在区间的高端还是低端——所以 DFA 不是纸面 checklist,其结论要反馈进失效率预算。

8.5 追踪与 Safety Case 闭合

分解完成后,每个 SR-1a / SR-1b 都携带 (D) 标记进入需求追踪体系:

  • 需求追踪:DOORS 中 SG-1(ASIL D) → SR-1a ASIL B(D) + SR-1b ASIL B(D),双向可追溯
  • 测试:单元测试按 ASIL B 跑(代码覆盖率、MC/DC 部分放宽),集成和系统测试仍按 ASIL D 严格度(两路合并验证 + 故障注入全覆盖)
  • DFA 报告:每个 CCF 条目有 ID / 描述 / 缓解措施 / 验证方法 / 责任人 / 状态
  • 变更控制:任何对主控或监控 MCU/PCB/算法的变更,都触发 DFA 影响分析(不能只改一路忘了检查共因)

9. Gotcha 链(7 条 — ASIL 分解域高频陷阱)

ASIL 分解的 gotcha 大多在「看起来分解了但实际没有」的模式——DFA 跑了但漏了真正的共因。以下 7 条是从真实审计中总结的高频错误。

Gotcha-1: 同 SBC 供电「独立」双 MCU。工程师的两颗 MCU 用不同 PCB 区域、不同电源 pin,自认为「硬件独立」。DFA 复查后发现:两路都由同一颗 TLF35584 SBC 供电,SBC 是单点故障。真实案例:SBC 内部 LDO 出现短路(BOM 不一致导致降额失败),两颗 MCU 同时掉电,B+B「分解」失效,系统实际只有 QM 级保护。修法:监控 MCU 改用独立路径供电(独立 LDO 或独立 SBC),在 DFA 电源独立性检查表中明确标注每路的 power rail 来源,追溯到 PCB 物理铜皮和连接器。

Gotcha-2: 同 CAN 消息两路都订阅。两路 MCU 用来自同一 ECU(如 VCU)的同一帧 CAN 消息做算法输入(车速、加速度踏板信号)。VCU CAN node 故障时,两路同时丢失/错误接收。根本问题:数据源独立性被破坏。缓解方案有三:① 两路订阅物理上不同的传感器(如 Resolver + Hall 双传感器方案);② 若只有一路信号,在每路 MCU 上独立加 E2E 保护(不同 CRC 多项式),并且在 Safety Case 中登记「CAN 源单一为已知 CCF,通过 E2E+独立超时检测降低风险」;③ 最强方案:监控路不依赖 CAN,用独立物理信号(如 PWM 轮速脉冲)。

Gotcha-3: 锁步 MCU 当 B+B 分解。项目方选用 TC397 AURIX 锁步 MCU,声称「两个 CPU Core 构成 B(D)+B(D) 分解」。根本错误:锁步是单 ASIL D 元素的内部诊断机制(两 Core 执行相同代码、比较输出,检测 transient/random fault),不是 ASIL 分解。两 Core 共享 die、共时钟、共电源,本质是一个硬件单元。锁步的 SPFM/LFM 是 ASIL D 单元的失效覆盖度,不能拆开算 B+B 的独立两路。若想分解,主监必须是不同物理器件(不同封装)。

Gotcha-4: A(D) 路按 ASIL A 跑 DV 测试。D = A(D) + C(D) 分解,A(D) 路工程师看到自己负责的是「ASIL A」,用 ASIL A 的测试覆盖率跑 DV(statement coverage,不做 MC/DC,不做故障注入)。错误:(D) 括号在 DV 阶段意味着「与 C(D) 路的集成测试必须按 ASIL D 严格度」——联合验证要覆盖 D 级要求(含故障注入覆盖 ASIL D SPFM 目标)。每路单独测试按各自 ASIL(A 或 C),但系统集成测试不能简化为 A 级,否则 DFA 中的 CCF 缓解措施(需要系统级故障注入验证)根本没有覆盖到。

Gotcha-5: 变更后 DFA 未更新。M8 ECO:主控 MCU 因供货问题从 TC275 更换为 TC277(同平台但不同封装/supply variant)。工程师认为「只是封装变了,功能一样」,未更新 DFA。真实风险:TC277 与 TC275 的 PMIC 兼容性不同,更换后 TLF35584 的电流输出裕量降低,导致冷启动期间 SBC 过流——之前 CCF-1 已经「缓解」的结论在新硬件上失效。规则:任何 safety-relevant element 的变更(MCU、电源 IC、连接器、PCB stack-up)都必须触发 DFA 影响分析(change management checklist 中加 DFA-revisit 为 mandatory gate)。

Gotcha-6: 规范独立性只靠「分开 team」。DFA 声称:「我们两个 team 独立写了两个 Safety Requirements Specification(SRS),满足规范独立性」。审计发现:两个 SRS 都来自同一个上级 TSR 文档,TSR 本身没有经过独立 review。TSR 里有一个转矩限值写错(阈值单位混淆,mN·m 写成 N·m)——两个 SRS 都继承了该错误,两路 MCU 都按错误阈值实现。结论:规范独立不是「写两份文档」,而是「文档的错误不共传播」。最低要求:TSR 本身由独立人员做交叉 review,review 结论进 Safety Case;理想:监控路 SRS 由不同背景 engineer 从 SG 重新推导,而非从 TSR 复制。

Gotcha-7: 独立性证据只有纸面 DFA,缺运行态验证。DFA 报告写了「两路无硬件共因」,但未包含故障注入测试(将一路 MCU 主动断电/注入 stuck-at fault,验证另一路确实能检测并触发 STO)。实质:纸面 DFA 是假设,运行态故障注入才是地面真相。若监控 MCU 的 torque compare 窗口设置错误(阈值用了 mN·m 单位但实际阈值是 N·m,放宽了 100×),在正常运行中两路一起工作时绝不会发现,直到故障注入测试才能揭露。ISO 26262-9:2018 用 Clause 5 定义分解、Clause 7 的 DFA 提供「充分独立」的证据——独立性声明必须有对应验证活动(含故障注入)作为 evidence,否则分解在 Clause 7 层面根本不成立。


10. Corner 分析(3 条 — 边界工况下分解判断如何变化)

分解的判据不是二值的,几类边界工况会改变结论。以下 3 条是实务里最常引发争论的边界。

Corner-1: 工具链统一 vs 规范独立要求。Tier1 为了成本效率,主控和监控共用同一 IDE(Vector DaVinci + TASKING),同一版本控制系统(Git Monorepo),甚至同一 AUTOSAR BSW(EB tresos 双许可证)。表面上「两路独立」,实际上 IDE 本身的 bug(配置丢失、代码生成错误)是共因。结论:工具链是否算「共因」取决于 ISO 26262-8:2018 Clause 11(软件工具置信度)。TCL 由 Tool Impact(TI1 无影响 / TI2 可能引入或漏检错误)× Tool error Detection(TD1 高 / TD2 中 / TD3 低,能否检出或防止工具错误)推出 TCL1–TCL3:TI1 → TCL1(无需鉴定);TI2 时 TCL 随 TD 变差而升高,TCL2/TCL3 的工具需 qualification(增加使用信心、评估开发流程、验证、或按安全标准开发)。判据是:若共用工具达 TCL1(错误要么不影响安全功能、要么必被检出),共用可接受;若工具落在 TCL2/TCL3 且缺独立检出手段,共用同一版本就是 coupling factor,须版本/工具链分离或补独立验证。

Corner-2: ASIL D 系统降级为 ASIL C 后分解策略变化。项目中期,HARA 复审后某 SG 从 ASIL D 降到 ASIL C(E 重新评估降了一级)。原有 B(D)+B(D) 架构此时可简化为 ASIL B(C)+ASIL A(C),理论上节省监控路一档开发成本。实战建议:不要为降一档而重构——已有 B(D)+B(D) 架构在 ASIL C 场景下等价或超满足,重构引入的变更风险(DFA 重跑、认证重做)远大于节省的开发成本。这是「ASIL 过设计」的正面案例:设计选档略高于需求,变更稳定后才优化。

Corner-3: 供应链风险下的独立性(同 fab 两颗不同 MCU)。主监 MCU 来自不同品牌(Infineon + Cypress),但两者都在台积电 40nm 制程加工。fab 级别的工艺系统缺陷(如某批次 40nm 栅氧化层问题)理论上可同时影响两路。ISO 26262 的处理:制程级系统缺陷属 systematic failure,不在 FMEDA 随机失效范围,标准把它交由 DFA 定性排查 + 在 SEooC 的 AoU 中声明「不同 die / 不同设计的同 fab 共因不在本 DFA 范围内」,由 OEM 系统集成方承担这一已知 residual risk。需说明:ISO 26262 并不强制不同 fab——对最高关键项(如制动、转向),个别 OEM 出于商务要求主监使用不同晶圆厂的 die 以彻底消除 fab 共因,这非标准条款,会显著增加供应链管理成本,需 OEM 商务决策。


核心要点

  • ASIL 分解是架构层成本优化技巧——D → B + B 把开发成本压回 ~2× 而非 5-10×
  • 合法组合(ISO 26262-9 §5.4.9/Figure 2):D→D(D)+QM(D) / C(D)+A(D) / B(D)+B(D);C→C(C)+QM(C) / B(C)+A(C);不允许 A+A、B+A 等不足组合承接 D
  • ASIL B(D) 标记:B 是实际开发等级,(D) 是继承的系统级——DFA 仍按 D 严格度
  • 4 个独立性硬约束:no shared HW / SW / Data / Specification —— 任一破坏分解失效
  • 典型实施:主 MCU + 独立监控 MCU(EPS),Lockstep MCU + 硬件 STO 通道(主驱),D + QM(BMS HMI)
  • 4 步操作:识别候选 → 提议组合 → DFA 独立性论证 → 追踪 ASIL B(D) 分配
  • 5 反模式戒除:共 MCU / 共算法 / 共电源时钟 reset / DFA 没做 / 规范独立失败
  • 完整 DFA worked design(§8):48V EPS ASIL D → B(D)+B(D),4 维独立性矩阵 + 4 条残留 CCF(SBC 共电源 / CAN 单源 / TSR 单源 / PCB EMI)逐条缓解 + DOORS 追踪闭合
  • CCF 是失效率地板:每路降到 ASIL B 门槛 SPFM ≥ 90% / LFM ≥ 60%(非 97%/80%,那是 ASIL C),但 CCF 项(β·λ,IEC 61508-6 Annex D β=1–10%)是一阶失效率不随冗余下降,联合路径仍须达 ASIL D 的 PMHF < 10 FIT

Engineering Objects

引用此页的结构化 Engineeri…

引用此页的结构化 Engineering Object(v2.0 Copilot 自动生成,不要手动编辑此段)。

Cross-references