1. 课程导入
大家好,我是你们这期功能安全实战课的讲师。咱们开门见山,直接聊干货。
很多人一听到「功能安全」,就觉得是厚厚的一本标准、一堆晦涩的术语。其实没那么玄乎。说白了,功能安全就是回答一个问题:当系统出故障时,它能不能保证不伤人?
我最早接触这个领域是在一个ESP项目的开发中。当时我们只关注功能能不能实现,结果在FMEA分析时发现,如果某个传感器失效,系统可能误判为驾驶员意图,直接导致车辆侧滑。嗯,从那以后,我就再也不敢轻视功能安全了。
1.1 ISO26262到底是什么?
ISO26262,全称是「道路车辆功能安全标准」。它源自工业领域的IEC61508,但针对汽车行业做了大量定制。2011年发布第一版,2018年更新了第二版。
它的核心目标只有一个:把电子电气系统的系统性故障和随机硬件故障风险,降低到可接受的水平。
我个人习惯把ISO26262理解成一本「安全开发说明书」。它不告诉你具体怎么设计电路、怎么写代码,而是告诉你:
- 开发流程该怎么走
- 每个阶段要交付什么文档
- 怎么分析风险、怎么验证安全机制
你想想看,如果每个项目都按这个标准来,至少不会出现「功能做完了才发现安全要求没覆盖」这种尴尬局面。
1.2 功能安全的基本概念
在深入标准之前,有几个核心概念必须搞清楚。我见过不少工程师在这些概念上栽跟头。
1.2.1 安全 vs 功能安全
| 概念 | 定义 | 举例 |
|---|---|---|
| 安全 | 不存在不可接受的风险 | 车辆碰撞时气囊弹出 |
| 功能安全 | 系统在故障时仍能维持安全状态 | 传感器失效时,系统主动降速并报警 |
举个例子:你踩刹车,车能停下来,这是「功能」。但如果刹车踏板位置传感器坏了,系统误以为你没踩刹车,结果车停不下来——这就是功能安全要管的事。
1.2.2 故障、错误、失效
这三个词经常混用,但在ISO26262里定义很严格:
- 故障(Fault):异常状态。比如芯片引脚虚焊。
- 错误(Error):故障导致的不正确状态。比如虚焊导致信号电平错误。
- 失效(Failure):错误传播到系统层面,导致功能丧失。比如信号错误导致刹车系统不响应。
我曾经在一个项目中,把「故障」和「失效」写反了,结果FMEA评审时被安全经理当场指出来。嗯,这种低级错误,大家尽量避免。
1.2.3 安全目标与安全状态
每个功能安全项目,首先要定义安全目标(Safety Goal)。比如:
- 「当制动主缸压力传感器失效时,系统必须在100ms内进入安全状态」
安全状态(Safe State)就是系统在故障后,能到达的一个不会造成伤害的状态。比如:
- 切断动力输出
- 点亮故障灯并限制车速
- 保持当前状态直到维修
1.3 ASIL等级:风险到底有多大?
ASIL(Automotive Safety Integrity Level)是ISO26262里最核心的概念之一。它用来衡量一个功能的安全风险等级。
ASIL分为四个等级:ASIL A、ASIL B、ASIL C、ASIL D。D是最严格的,A是最宽松的。还有一个等级叫QM(Quality Management),表示风险很低,按普通质量管理即可。
1.3.1 ASIL怎么确定的?
ASIL由三个参数决定:
- 严重度(Severity, S):伤害有多严重?分S0~S3。
- 暴露率(Exposure, E):危险场景发生的概率?分E0~E4。
- 可控性(Controllability, C):驾驶员或其他人员能否避免伤害?分C0~C3。
三个参数组合,查表得到ASIL等级。比如:
- S3(致命伤害)+ E4(高频暴露)+ C3(几乎不可控)→ ASIL D
- S1(轻伤)+ E2(低频暴露)+ C2(可控性一般)→ ASIL A
1.3.2 ASIL分解
ASIL分解(ASIL Decomposition)是降低开发成本的重要手段。说白了,就是把一个高ASIL要求,拆成两个或多个低ASIL要求。
举个例子:
- 一个ASIL D的功能,可以分解为:ASIL C(D) + ASIL A(D)
- 或者:ASIL B(D) + ASIL B(D)
分解后的两个部分,必须满足:
- 独立性:一个失效不会导致另一个也失效
- 覆盖性:两个部分合起来,能覆盖原安全目标
我习惯用「双保险」来理解ASIL分解。就像飞机上的两个独立液压系统,一个失效了,另一个还能工作。这样,每个系统的开发要求就可以降低一些。
| 原始ASIL | 分解方案1 | 分解方案2 | 分解方案3 |
|---|---|---|---|
| ASIL D | ASIL C(D) + ASIL A(D) | ASIL B(D) + ASIL B(D) | ASIL D(D) + QM(D) |
| ASIL C | ASIL B(C) + ASIL A(C) | ASIL C(C) + QM(C) | — |
| ASIL B | ASIL A(B) + ASIL A(B) | ASIL B(B) + QM(B) | — |
1.4 知识体系总览
下面这张图,是我自己总结的ISO26262核心知识框架。你可以把它当作本章的「地图」。
这张图把本章的核心逻辑串起来了:从标准概述出发,理解核心概念,然后掌握ASIL的确定方法,最后学会如何通过分解来优化开发成本。
1.5 本章小结
好了,第一课的内容就到这里。我们讲了:
- ISO26262是什么,它解决什么问题
- 功能安全的核心概念:安全目标、安全状态、故障/错误/失效
- ASIL等级的确定方法:S、E、C三个参数
- ASIL分解的原则和常见方案
这些是后续所有章节的基础。你想想看,如果连ASIL都搞不清楚,后面的安全分析、安全机制设计根本无从下手。
下一课,我们会深入讲功能安全管理,包括安全计划、安全档案、以及项目开发中的角色和责任。到时候见。