1. 课程导入
大家好,我是老周。在汽车电子这行摸爬滚打了十几年,今天咱们来聊聊功能安全。说实话,我刚入行那会儿,压根儿没听过ISO 26262。那时候做ECU,只要功能跑通、EMC过检,就觉得万事大吉了。直到后来经历了一次召回事件……嗯,从那以后,我才真正把功能安全当回事儿。
1.1 功能安全从哪来?
功能安全不是凭空冒出来的。它的根,在工业控制领域。
上世纪七八十年代,化工、核电这些行业出了不少事故。比如1979年的三里岛核事故,控制系统误判导致堆芯熔毁。大家发现:光靠设备冗余不够,还得有一套系统的方法来识别风险、控制风险。
于是,IEC 61508诞生了。这是功能安全的“老祖宗”,一套通用的安全标准。汽车行业觉得,嗯,这个思路不错,但汽车有它的特殊性——批量大、成本敏感、开发周期短。所以,在IEC 61508的基础上,汽车圈搞了个自己的标准:ISO 26262。
一句话总结:功能安全就是“万一系统出故障,也不能伤到人”。它不是让系统不出错,而是让系统在出错时,后果可控。
1.2 道路车辆功能安全标准发展历程
ISO 26262的发展,我把它分成三个阶段:
| 阶段 | 时间 | 关键事件 |
|---|---|---|
| 萌芽期 | 2000-2005 | 汽车电子复杂度暴增,各厂商自定安全流程,混乱 |
| 第一版 | 2011 | ISO 26262正式发布,覆盖乘用车,ASIL等级概念确立 |
| 第二版 | 2018 | 扩展至摩托车、卡车、巴士,新增半导体指南,引入SEooC |
我记得2011年第一版刚出来时,很多公司都懵了。ASIL?HARA?这都是啥?那时候我正好在做一个ESP项目,客户要求ASIL D。说实话,当时连怎么分解ASIL都不太清楚,硬着头皮啃标准,边学边干。现在回头看,那项目虽然痛苦,但确实让我把标准吃透了。
2018年的第二版,我参与了一个ADAS域控制器的开发。这一版最大的变化,是把半导体纳入了范围。为什么?因为芯片越来越复杂,一个SoC里集成了CPU、GPU、ISP,还有各种安全机制。如果不从芯片层面开始做安全,后面整车级的安全目标根本没法保证。
我的建议:如果你现在才开始学ISO 26262,直接看第二版(2018版)。第一版已经过时了,尤其是关于硬件随机失效的部分,第二版改了很多。
1.3 ISO 26262的10个部分
标准一共10个部分,很多人一看就头大。别急,我帮你拆开看:
- 第1部分:术语 —— 定义,没啥好说的,但得翻翻,因为很多词的含义和日常理解不一样。
- 第2部分:管理 —— 安全文化、项目计划、评审、审计。说白了,就是“谁来做、怎么做、怎么证明做了”。
- 第3部分:概念阶段 —— 这是最关键的。定义项目、做HARA(危害分析与风险评估)、定安全目标。这一步错了,后面全白搭。
- 第4部分:系统级开发 —— 技术安全概念、系统架构、集成测试。
- 第5部分:硬件级开发 —— 硬件设计、FMEDA、随机硬件失效度量。
- 第6部分:软件级开发 —— 软件架构、单元设计、代码实现、测试。
- 第7部分:生产与运维 —— 量产后的安全监控、售后反馈。
- 第8部分:支持过程 —— 配置管理、变更管理、工具置信度、文档化。
- 第9部分:ASIL与安全分析 —— ASIL分解、共存准则、FMEA/FTA/DFA。
- 第10部分:指南 —— 非规范性,但很有参考价值。
你想想看,这10个部分其实就覆盖了一个产品的全生命周期:从概念、开发、生产,到运维、报废。标准不是让你只做开发阶段,而是每个环节都要考虑安全。
1.4 核心概念:ASIL、安全目标、安全状态
这部分是重点中的重点。我见过太多人把ASIL等级搞混,或者把安全目标写成了功能需求。
1.4.1 ASIL等级
ASIL(Automotive Safety Integrity Level)分为A、B、C、D四个等级,D最高。怎么定的?看三个参数:
- 严重度(Severity):人受伤的程度。S0(无伤)到S3(致命)。
- 暴露概率(Exposure):危险场景发生的概率。E0(几乎不)到E4(非常高)。
- 可控性(Controllability):驾驶员能否避免伤害。C0(完全可控)到C3(几乎不可控)。
三个参数组合,查表得到ASIL等级。举个例子:
- 如果S2、E3、C2,查表是ASIL C。
- 如果S3、E4、C3,那就是ASIL D。
我曾经在一个项目中,HARA分析时把暴露概率估低了。结果做到一半,客户说“这个场景其实每天都会发生”,只好回头重做HARA,重新定安全目标。那叫一个折腾。所以,HARA阶段一定要拉上系统工程师、功能安全工程师、甚至售后的人一起评审,别自己闷头做。
避坑指南:ASIL等级不是越高越好。ASIL D意味着开发成本翻倍甚至更多。合理的目标是“够用就好”。如果一个功能只需要ASIL B,你非要做成D,老板会找你谈话的。
1.4.2 安全目标
安全目标(Safety Goal)是HARA的输出。它描述的是“系统要避免什么危害”。注意,不是“系统要做什么功能”。
举个例子:
- 功能需求:刹车踏板踩下时,制动压力在100ms内达到目标值。
- 安全目标:避免非预期的制动压力施加,导致车辆失控。
看到了吗?安全目标关注的是“危害”,而不是“功能表现”。
1.4.3 安全状态
安全状态(Safe State)是系统在检测到故障后,进入的一种不会导致危害的状态。比如:
- EPS(电动助力转向)检测到扭矩传感器失效,进入“降级模式”——只提供基础助力,不提供主动回正。
- BMS(电池管理系统)检测到电池过温,进入“安全状态”——切断高压输出。
安全状态的设计,要保证系统在故障后仍然可控,而不是直接“死机”。
1.5 知识结构图
下面这张图,帮你把本章的核心逻辑串起来:
1.6 本章小结
这一章,我们聊了功能安全从哪来、ISO 26262怎么演变的、标准10个部分分别管什么,以及三个最核心的概念:ASIL、安全目标、安全状态。
我个人觉得,学ISO 26262最忌讳的就是“背标准”。标准是工具,不是圣经。你理解了背后的逻辑——为什么要有HARA?为什么要有ASIL分解?为什么安全状态要可验证?——那你就能灵活运用它,而不是被它束缚。