2. 功能安全基础概念:功能安全定义、ASIL等级、安全目标、安全状态
好,咱们正式开始聊干货。这一节我打算把功能安全里最基础、也最绕不开的几个概念讲透。说白了,就是四个词:功能安全是什么、ASIL怎么定、安全目标怎么写、安全状态怎么进。
我刚开始接触功能安全那会儿,觉得这些概念特别虚。什么「安全目标」啊,不就是写个文档吗?后来真做了项目才发现——嗯,这里面的坑,一个比一个深。
2.1 功能安全定义:到底在防什么?
先问个问题:你觉得线控转向系统最怕什么?
怕电机卡死?怕传感器失效?怕软件跑飞?
都对,但都不全。功能安全关心的不是「某个零件坏了」,而是「这个零件坏了之后,会不会导致人受伤甚至死亡」。
我个人的理解是这样的:功能安全 = 系统在出现故障时,依然能保证不伤害人。
ISO 26262里的定义更严谨一些:「不存在由电子电气系统功能异常表现所导致的不合理风险」。
你想想看,线控转向系统里,方向盘和车轮之间没有机械连接。一旦电子系统出问题,车轮可能乱转。这就是「不合理风险」。功能安全要做的,就是把这个风险降到可接受的水平。
核心要点:
- 功能安全 ≠ 可靠性。可靠性关心「别坏」,功能安全关心「坏了也别出事」。
- 功能安全只针对电子电气系统。纯机械故障(比如转向拉杆断了)不归它管。
- 「不合理风险」是关键词——没有绝对的安全,只有可接受的风险。
我在做某个线控转向预研项目时,遇到过一件事。当时团队花了很多精力去提升电机的可靠性,觉得只要电机不坏就安全了。结果功能安全评审时被问了一句:「电机坏了之后,系统怎么保证安全?」我们全愣住了。从那以后我才真正明白——功能安全不是防故障,而是防故障带来的后果。
2.2 ASIL等级:你的系统有多「危险」?
ASIL,全称是Automotive Safety Integrity Level,汽车安全完整性等级。说白了,就是给系统的风险程度打个分。
分四个等级:ASIL A、ASIL B、ASIL C、ASIL D。A最低,D最高。还有一个QM(Quality Management),意思是风险低到不需要功能安全措施,做好质量管理就行。
怎么定ASIL等级?ISO 26262给了三个参数:
| 参数 | 英文 | 含义 |
|---|---|---|
| 严重度 (S) | Severity | 伤害有多重?轻伤、重伤、致命 |
| 暴露率 (E) | Exposure | 这种情况发生的概率高不高? |
| 可控性 (C) | Controllability | 驾驶员能不能控制住局面? |
举个例子。线控转向系统如果完全失效,方向盘打不动了——
- S:高速上失控,很可能致命 → S3
- E:每天开车都会用到转向 → E4
- C:普通驾驶员基本控制不了 → C3
查表,S3+E4+C3 = ASIL D。所以线控转向的主功能,通常都是ASIL D。
我的经验: 别一上来就拍脑袋定ASIL。我见过一个项目,工程师觉得「转向嘛,肯定D」,结果分析下来发现某个子功能其实只需要ASIL B。定高了,成本翻倍;定低了,安全不达标。老老实实做危害分析和风险评估(HARA),别偷懒。
2.3 安全目标:系统必须做到什么?
安全目标,英文叫Safety Goal。它是对每个危害事件提出的最高层级安全要求。
我习惯这么理解:安全目标 = 「如果这个故障发生了,系统必须保证什么」。
举个例子。线控转向系统有一个典型危害:非预期的转向(比如车子自己往右打方向)。
对应的安全目标可能是:
SG-01: 在转向系统发生单点故障时,不得产生非预期的转向力矩。
ASIL: D
安全状态: 进入降级模式,方向盘力矩输出为0
FTTI: ≤ 100ms
注意几个关键要素:
- ASIL等级:这个目标要达到什么安全等级
- 安全状态:出问题后系统要变成什么样子
- FTTI(Fault Tolerant Time Interval):从故障发生到进入安全状态,最多能容忍多久
我曾经踩过一个坑。写安全目标时只写了「不得产生非预期转向」,没写FTTI。结果做验证时发现,系统检测到故障需要80ms,进入安全状态又花了60ms,加起来140ms。但转向系统的FTTI要求是100ms。嗯,整个方案都得推倒重来。所以写安全目标时,时间参数一定要写清楚。
注意: 安全目标不是功能需求。它不关心「怎么实现」,只关心「必须达到什么效果」。具体怎么实现,那是后面技术安全概念的事。
2.4 安全状态:出事后系统该「长」什么样?
安全状态,就是系统在检测到故障后,进入的一个「不会造成不合理风险」的状态。
线控转向系统常见的安全状态有几种:
- 降级模式:比如转向助力降低,但还能打方向
- 故障容错模式:比如切换到备用控制器,功能基本不变
- 安全停机:比如切断转向电机电源,方向盘锁死或自由转动
选哪种安全状态,要看具体场景。我举个例子:
高速公路上,如果转向系统检测到传感器故障,你敢直接切断电机电源吗?不敢。因为方向盘突然变轻或锁死,驾驶员会吓一跳,反而容易出事。这时候应该进入降级模式,保留部分助力,同时提醒驾驶员尽快靠边停车。
但如果是在停车状态下检测到故障,直接安全停机就OK了。
关键点:
- 安全状态不是一成不变的。同一个系统,不同场景下安全状态可能不同。
- 进入安全状态需要时间(FTTI),这个时间必须在设计时算清楚。
- 安全状态本身也要安全——不能因为「进入安全状态」这个动作,反而引发新的危险。
我记得有个项目,设计的安全状态是「切断转向电机电源」。结果测试时发现,切断电源的瞬间,方向盘会因为回正力矩突然弹回,差点打到驾驶员的手。这就是典型的「安全状态不安全」。后来我们加了一个缓降电路,让力矩慢慢卸掉。
2.5 知识体系总览
下面这张图,我把这四个概念的关系画出来了。你一看就明白:
这张图其实就概括了这一节的核心逻辑。从功能安全定义出发,通过HARA分析定出ASIL等级,然后针对每个危害写出安全目标,最后明确每个目标对应的安全状态。环环相扣,缺一不可。
好了,这一节就到这里。概念虽然基础,但真要在项目里用好,还是得多练。我当年也是被安全目标改了三版才摸到门道。别急,慢慢来。
公众号:蓝海资料掘金营,微信deep3321