第2章:ISO 26262标准精讲:标准架构、ASIL等级定义、功能安全生命周期
好,咱们直接进入正题。ISO 26262这个标准,说实话,刚接触的时候会觉得它像一本天书。我当年第一次翻开它,密密麻麻的术语和流程,差点劝退。但干久了你会发现,它其实就是一套「怎么把车规级电子系统做安全」的方法论。今天我就带你把它的骨架摸清楚。
2.1 标准架构:它到底长什么样?
ISO 26262不是一本书,而是一套系列标准,总共12个部分。我个人习惯把它分成三大块:
- 第一部分到第三部分:讲的是词汇、管理和整体流程。说白了,就是告诉你「安全这事儿谁负责、怎么管」。
- 第四部分到第六部分:这是核心。从系统级、硬件级到软件级,逐层告诉你开发阶段该做什么。
- 第七部分到第十二部分:生产、运行、支持流程,以及一些特殊场景(比如半导体、摩托车)。
你想想看,这就像盖房子。先定规矩(管理),再画图纸(系统设计),然后砌砖(硬件/软件开发),最后验收维护。嗯,逻辑其实很清晰。
关键点:ISO 26262的第二版(2018年)增加了半导体部分,这对ADAS系统特别重要。因为现在的ADAS芯片越来越复杂,单独拎出来讲是必要的。
2.2 ASIL等级定义:你的系统有多「危险」?
ASIL,全称是Automotive Safety Integrity Level,汽车安全完整性等级。说白了,就是给系统的风险程度打分。
为什么需要这个?因为不是所有功能都需要最高安全等级。比如车窗升降,坏了最多关不上窗,风险低。但刹车系统,一旦失效可能车毁人亡。所以标准定义了四个等级:ASIL A、B、C、D,从低到高。
怎么定级?标准给了三个参数:
- Severity(严重度):出事了,人受伤多严重?
- Exposure(暴露率):这个危险场景出现的概率高不高?
- Controllability(可控性):驾驶员能不能在最后关头挽救一下?
举个例子。我做过一个自动紧急制动(AEB)项目。它的失效可能导致追尾,严重度很高(S3),在城市路况下暴露率也很高(E4),而且驾驶员很难在毫秒级反应(C3)。算下来,妥妥的ASIL D。
避坑指南:我曾经见过一个团队,把「功能不重要」和「安全等级低」划等号。其实不对。一个简单的传感器,如果它给ASIL D的系统提供数据,那它本身也得是ASIL D。这叫「安全需求的级联」。切记!
| ASIL等级 | 典型应用场景 | 我的经验 |
|---|---|---|
| ASIL A | 尾灯、信息娱乐 | 一般不需要太复杂的冗余设计 |
| ASIL B | 雨刮、车窗控制 | 注意和更高等级系统的交互 |
| ASIL C | 自适应巡航(ACC) | 需要一定的诊断覆盖率 |
| ASIL D | 刹车、转向、AEB | 必须做冗余,甚至硬件级别的容错 |
2.3 功能安全生命周期:从生到死的安全守护
功能安全生命周期,听起来很玄乎。其实就是一个项目从概念到退役,每个阶段该做什么安全活动。我把它总结成三个阶段:
2.3.1 概念阶段
这个阶段主要做两件事:HARA(危害分析与风险评估)和安全目标定义。
HARA就是前面说的,分析系统失效会带来什么危害,然后定出ASIL等级。安全目标就是「系统不能出现什么情况」。比如:「车辆在行驶中不能发生非预期的加速」。每个安全目标都要有ASIL等级。
注意:HARA不是做一次就完事了。我见过一个项目,前期HARA做得很好,但后来改了功能需求,没重新做HARA,结果评审时被怼得很惨。安全活动要跟着变更走。
2.3.2 开发阶段
这是最耗时的阶段。从系统设计、硬件设计到软件设计,每一层都要把安全需求分解下去。
举个例子。安全目标是「AEB在60km/h以下必须能避免碰撞」。那系统层就要设计传感器融合方案,硬件层要选冗余的MCU,软件层要做故障检测和降级策略。
我个人习惯,在这个阶段用安全案例(Safety Case)来跟踪。每个安全需求,都要有对应的证据(测试报告、分析文档)。这样评审时,别人问起来,你直接甩证据就行。
2.3.3 生产与运行阶段
很多人以为开发完就结束了。其实不是。生产阶段要保证制造过程不引入新的故障。运行阶段要监控系统在实际使用中的表现。
我记得有一次,一个ADAS摄像头在高温环境下频繁报错。我们查了很久,发现是生产过程中的焊接工艺导致虚焊。这就是生产阶段的安全活动没做到位。
总结一下:功能安全生命周期不是一条直线,而是一个闭环。每个阶段都有反馈,发现问题要回溯到前面的阶段去修改。这才是「生命周期」的真正含义。
2.4 我的几点建议
- 别把ASIL当摆设:我见过有人为了省事,把所有功能都定成QM(无安全等级)。结果项目后期被安全评审卡住,返工成本巨大。
- 文档要跟上:ISO 26262很看重文档。你做了分析,就要有记录。不然审计时你说「我做了」,但拿不出证据,等于没做。
- 工具链要认证:开发ADAS系统,编译器、仿真工具、测试工具,最好都用经过安全认证的。不然你很难证明工具本身没bug。
好了,这一章就讲到这里。下一章我们会深入HARA的具体做法,到时候我会拿一个实际ADAS功能来拆解。嗯,敬请期待。