3. 标准框架对比:ISO 26262与ISO 21448的异同点、适用范围与接口分析

好,咱们进入第三个章节。说实话,每次给团队做内训,讲到标准对比这块,大家最容易犯晕。两个标准长得像,但脾气完全不同。我刚开始接触SOTIF时也踩过坑——拿着26262的思维去套21448,结果评审被怼得哑口无言。

今天咱们就把这两兄弟掰开揉碎了讲。你想想看,一个管“功能安全”,一个管“预期功能安全”,名字就差两个字,但背后的逻辑天差地别。

3.1 适用范围:一个管“故障”,一个管“场景”

先看最核心的区别——它们管的事不一样。

维度 ISO 26262 ISO 21448
核心关注 系统故障(硬件随机失效、系统失效) 预期功能不足 + 触发条件
适用范围 E/E系统(电子电气) 所有涉及预期功能的系统(含机械、软件、算法)
触发条件 故障发生(如短路、断路、软件bug) 场景超出设计范围(如暴雨、逆光、罕见障碍物)
典型场景 刹车踏板断裂、传感器内部失效 摄像头被强光致盲、雷达没识别到白色卡车

说白了,26262管的是“东西坏了怎么办”,21448管的是“东西没坏但不好使怎么办”。

我记得有一次做ADAS项目,客户坚持说“传感器没坏,所以不需要做SOTIF”。我当时就反问了一句:“那如果传感器没坏,但算法把行人识别成路灯呢?这算不算安全风险?”对方沉默了。嗯,这就是21448要解决的问题。

3.2 核心差异:危害来源不同,应对策略也不同

咱们再深入一层。两个标准对“危害”的定义完全不同。

ISO 26262:故障驱动

26262的逻辑链条是:故障 → 错误 → 失效 → 危害。它假设系统本身设计是正确的,只是运行过程中出了岔子。所以它的核心手段是:冗余、诊断、安全机制、故障容错。

举个例子:你设计了一个制动系统,正常情况下踩刹车就停。但万一ECU死机了怎么办?26262要求你加一个看门狗定时器,死机了就触发安全状态。这是典型的“防故障”思维。

ISO 21448:场景驱动

21448的逻辑链条是:功能不足 + 触发条件 → 危害。它假设系统本身没坏,但设计有盲区。比如你设计的AEB系统,在晴天测试时表现完美,但一到暴雨天就罢工——这不是故障,是功能不足。

所以21448的核心手段是:场景分析、功能改进、性能边界测试、人机交互优化。

关键区别一句话总结:

26262问“如果坏了怎么办?”——答案是“冗余+诊断”。

21448问“如果没坏但不好使怎么办?”——答案是“找场景+改设计”。

3.3 接口分析:两个标准怎么协同工作?

好,重点来了。很多工程师问我:“这两个标准是不是独立的?我做完26262再做21448行不行?”

我的回答是:千万别这么干。 它们必须协同开发,否则你会做大量返工。

我经历过一个项目,团队先按26262做完了功能安全设计,然后才开始搞SOTIF。结果发现——21448要求的安全机制,跟26262的架构设计冲突了。比如26262要求传感器冗余(两个摄像头),但21448发现这两个摄像头在逆光场景下同时失效(因为算法对光照敏感)。你想想看,冗余白做了。

所以,接口分析的核心是:在系统架构层面,把两个标准的输入输出对齐。

接口1:危害分析与风险评估

  • 26262的HARA:输出ASIL等级(A/B/C/D),关注故障导致的危害。
  • 21448的HARA:输出触发条件与功能不足的组合,关注场景导致的危害。
  • 协同点:同一个危害,可能既有故障原因,也有场景原因。比如“车辆意外加速”——可能是油门踏板传感器故障(26262),也可能是ACC算法误判了前车距离(21448)。

我的建议: 在项目初期就建立统一的“危害登记表”,把两个标准的危害放在一起管理。这样能避免重复分析,也能发现交叉危害。

接口2:安全目标与安全概念

  • 26262的安全目标:比如“制动系统失效时,应在200ms内进入安全状态”。
  • 21448的安全目标:比如“在暴雨场景下,AEB系统应能在50m内识别行人”。
  • 协同点:安全目标要互相兼容。你不能让26262要求“立即停车”,但21448要求“保持车道”——这俩冲突了。

接口3:验证与确认

  • 26262的验证:故障注入测试、诊断覆盖率分析、FMEDA。
  • 21448的验证:场景库测试、边缘场景探索、真实道路测试。
  • 协同点:测试用例要共享。比如你为了验证26262做了“传感器失效测试”,这个测试用例也可以用来验证21448的“传感器性能边界”。

3.4 避坑指南:我踩过的三个坑

最后,分享几个实战中容易犯的错误。嗯,都是血泪教训。

坑1:把21448当成26262的附录

我曾经见过一个团队,把SOTIF分析放在26262的“安全案例”里,当成一个子章节。结果评审时专家直接说:“你们这是把场景当故障处理了,逻辑不对。”记住,21448是独立标准,不是26262的补充。

坑2:忽略人机交互的接口

21448特别强调“合理可预见的误用”。比如驾驶员在自动驾驶时睡着了——这不是故障,是功能不足(系统没检测到驾驶员状态)。但26262不关心这个。所以两个标准在HMI设计上必须对齐:26262管“报警灯亮不亮”,21448管“报警信息是否被正确理解”。

坑3:安全机制互相抵消

我见过最离谱的案例:26262要求增加一个“紧急制动”安全机制,但21448分析发现这个机制在湿滑路面上会导致车辆失控。两个标准的安全机制打架了。所以,安全机制设计必须做联合评审,不能各做各的。

3.5 协同开发流程建议

说了这么多,最后给一个实操建议。我个人习惯用“三阶段协同法”:

  1. 阶段一:统一危害分析(项目启动后2周内)
    • 把26262的HARA和21448的HARA合并成一个会议
    • 输出统一的“危害清单”和“场景清单”
  2. 阶段二:联合安全概念设计(系统架构阶段)
    • 安全机制设计时,同时考虑故障和场景
    • 比如:传感器冗余不仅要防故障,还要防场景盲区
  3. 阶段三:共享验证平台(测试阶段)
    • 测试用例库统一管理
    • 故障注入测试和场景测试共用同一个HIL平台

好了,这一章的内容就到这儿。下一章咱们会深入讲SOTIF的“功能不足”到底怎么分析——那可是21448最核心的难点。到时候我会拿一个真实的AEB案例,手把手带大家走一遍流程。