3. 功能安全基础概念:危害、风险、安全目标、安全状态、安全机制、故障与失效模式
各位同学,今天我们聊点真正的基础。功能安全这行,说白了就是跟「坏东西」打交道。你得先知道什么东西会坏、坏了会怎样、怎么防止它坏。这六个概念——危害、风险、安全目标、安全状态、安全机制、故障与失效模式——就是整个 ISO 26262 的骨架。
我刚开始接触功能安全时,总觉得这些术语太抽象。后来在项目里摔过几次跟头,才明白每个词背后都是血泪教训。咱们一个一个来拆。
3.1 危害(Hazard)与风险(Risk)
危害,指的是可能对人造成伤害的潜在源。在座舱里,危害可能来自软件逻辑错误、硬件短路、通信延迟,甚至电源波动。
举个例子:你开车时中控屏突然黑屏,导航没了,倒车影像也没了。这就是一个危害——系统功能丧失导致驾驶员分心或误操作。
但危害不等于风险。风险 = 危害的严重度 × 发生概率。你想想看,中控黑屏在高速上和在停车场里,风险能一样吗?
关键区分:
- 危害:系统固有的「坏」属性,比如「气囊可能误爆」
- 风险:危害在具体场景下造成伤害的可能性,比如「气囊误爆导致驾驶员受伤」
我在项目中遇到过一件事:一个座舱域控制器在低温环境下偶发死机。实验室里复现了十几次,每次都是屏幕冻结。但实际用户场景中,这个死机只发生在冷启动的前30秒,而那时车还没动。所以危害存在,但风险被场景降低了。嗯,这里要注意——风险分析必须结合运行场景,不能只看功能本身。
3.2 安全目标(Safety Goal)
安全目标,就是针对每个危害,我们要达到的安全要求。它是从危害分析里长出来的。
比如上面那个黑屏危害,对应的安全目标可能是:「中控屏在车辆行驶过程中不得完全黑屏超过1秒」。注意,安全目标必须是可验证的、量化的。
| 危害 | 安全目标 | ASIL等级 |
|---|---|---|
| 中控黑屏导致导航/倒车影像丢失 | 行驶中中控屏可用性≥99.9%,黑屏持续时间≤1s | ASIL B |
| 语音误唤醒导致驾驶员分心 | 非驾驶员意图的语音交互不得激活 | ASIL A |
| 电源过压导致座舱控制器损坏 | 电源电压超过16V时,系统在100ms内进入安全状态 | ASIL C |
我个人习惯把安全目标写在白板上,贴在项目会议室。每次评审时先看它——如果安全目标没定清楚,后面所有设计都是空中楼阁。
3.3 安全状态(Safe State)
安全状态,是系统在检测到故障后,主动进入的一种「不会造成伤害」的状态。说白了,就是系统认怂了,但认怂的方式要安全。
常见的座舱安全状态包括:
- 降级模式:关闭娱乐功能,保留仪表和报警
- 静默模式:切断所有非关键通信,只维持基础显示
- 完全关闭:切断电源,但确保关键报警(如胎压、刹车故障)仍能显示
避坑指南:我曾经在一个项目中,安全状态设计成「直接黑屏」。结果测试时发现,黑屏后驾驶员反而更慌了——因为他不知道系统出了什么问题。后来我们改成「显示故障图标 + 降级界面」,用户反馈好很多。安全状态不只是技术决策,也是人机交互决策。
3.4 安全机制(Safety Mechanism)
安全机制,就是用来检测故障、防止危害、或者让系统进入安全状态的具体手段。它是安全目标的实现层。
常见的座舱安全机制:
- 看门狗定时器:监控主芯片是否跑飞,超时则复位
- ECC(纠错码):检测并纠正内存中的单比特翻转
- 双核锁步:两个核执行相同指令,比较输出是否一致
- 心跳监控:软件模块之间定期发送「我还活着」信号
- 数据校验:对关键信号(如车速、刹车状态)做CRC校验
你想想看,安全机制就像汽车的保险杠——平时用不上,但真撞了,它得扛得住。我建议在设计阶段就列出所有安全机制,并给每个机制分配一个「故障覆盖率」指标。比如ECC能覆盖90%的内存单比特故障,但多比特故障它管不了。
3.5 故障(Fault)与失效模式(Failure Mode)
这两个词经常被混用,但ISO 26262分得很清楚:
- 故障:系统内部的不正常状态,比如一个电阻短路、一段代码跑飞
- 失效:故障导致系统无法提供预期服务,比如屏幕不亮了
- 失效模式:失效的具体表现形式,比如「屏幕黑屏」「屏幕闪烁」「屏幕显示错误信息」
一句话总结:故障是原因,失效是结果,失效模式是结果的样子。
举个例子:座舱的电源管理芯片内部一个MOS管击穿了(故障),导致输出电压异常(失效),具体表现为「中控屏间歇性黑屏」(失效模式)。
在FMEA(失效模式与影响分析)中,我们就是针对每个失效模式,分析它的原因、影响、检测手段和应对措施。我做过一个座舱项目,光FMEA就写了300多行,每个失效模式都要跟安全目标挂钩。
3.6 知识体系总览
下面这张图把六个概念的关系画清楚了。我建议你把它存下来,做项目时对照着看。
3.7 实际项目中的常见误区
最后,我分享几个我在项目中踩过的坑,你们以后遇到了可以绕开走。
误区一:把故障和失效混为一谈
我曾经在FMEA评审会上,有人指着「屏幕闪烁」说这是故障。不对,这是失效模式。故障是「显示驱动芯片的PLL失锁」,失效模式是「屏幕闪烁」。分清这两个,你才能找到根因。
误区二:安全目标写得太模糊
「系统应保证安全」——这种安全目标等于没写。安全目标必须可测试、可量化。比如「当车速超过10km/h时,倒车影像延迟不得超过200ms」。
误区三:安全状态只考虑技术,不考虑人
我见过一个设计,系统检测到故障后直接静默关机。结果驾驶员以为车坏了,靠边停车打电话救援。其实只是娱乐系统的一个小故障。安全状态设计一定要考虑用户心理模型。
好了,这六个概念是功能安全的基石。你把这六个概念吃透了,后面讲ASIL等级、HARA分析、FMEA、FTA,你都能接得住。下次我们聊HARA怎么做,到时候你会用上今天学的「危害」和「风险」这两个概念。