2. 汽车功能安全基础
各位同学,咱们今天聊点硬核的——功能安全。说实话,我刚入行那会儿,觉得功能安全就是一堆文档活,跟技术没啥关系。直到有一次,我在一个EPS项目中亲眼看到,因为一个软件bug导致方向盘在高速上突然锁死……嗯,从那以后,我再也不敢小看ISO 26262了。
ISO 26262到底是什么?
简单说,ISO 26262就是汽车行业的功能安全国际标准。它源自工业领域的IEC 61508,但专门针对汽车电子电气系统做了裁剪。说白了,它就是一套方法论,告诉你如何系统地避免因系统故障导致的人身伤害。
我个人习惯把ISO 26262理解成三个核心问题:
- 危险是什么? —— 系统出啥问题会伤人?
- 风险有多高? —— 这个危险发生的概率和严重程度如何?
- 怎么降低风险? —— 需要采取什么措施来把风险控制在可接受范围?
你想想看,线控转向系统没有机械连接,方向盘和转向器之间全靠电信号。一旦电子系统失效,后果不堪设想。所以ISO 26262对我们做SBW的人来说,不是选择题,而是必答题。
ASIL等级:风险的分级管理
ISO 26262把风险分成了四个等级:ASIL A、B、C、D,还有一个QM(质量管理级)。ASIL D是最严格的,要求最高;QM基本就是普通质量管控,没啥特殊安全要求。
ASIL等级怎么定的?看三个参数:
| 参数 | 含义 | 等级 |
|---|---|---|
| S(Severity) | 伤害严重程度 | S0(无伤害)~ S3(致命) |
| E(Exposure) | 暴露概率 | E0(几乎不)~ E4(非常高) |
| C(Controllability) | 驾驶员可控性 | C0(完全可控)~ C3(几乎不可控) |
这三个参数组合起来,查表就能得到ASIL等级。举个例子:
- 如果S=3(致命)、E=4(经常发生)、C=3(几乎不可控),那就是ASIL D。
- 如果S=1(轻伤)、E=2(偶尔)、C=2(难控制),可能就是ASIL A或B。
安全生命周期:从概念到退役
ISO 26262把整个产品开发过程定义为一个安全生命周期。它不是一个简单的瀑布模型,而是一个闭环的、持续迭代的过程。
我把它分成三个阶段:
- 概念阶段:定义系统、做HARA、制定安全目标。
- 开发阶段:系统级、硬件级、软件级的设计与验证。
- 生产与运维阶段:生产、调试、维护、退役。
每个阶段都有对应的活动和产出物。比如概念阶段要输出安全目标(Safety Goal),开发阶段要输出功能安全概念(FSC)和技术安全概念(TSC)。
危害分析与风险评估(HARA)
HARA是整个功能安全的起点,也是最关键的一步。说白了,就是回答一个问题:我的系统到底会怎么害人?
HARA的步骤大致如下:
- Step 1:功能定义 —— 明确系统有哪些功能。比如SBW的“转向功能”、“回正功能”、“路感模拟功能”。
- Step 2:危害识别 —— 分析每个功能失效时可能导致的危害。比如“转向功能失效”可能导致“车辆偏离车道”。
- Step 3:场景分析 —— 考虑不同的驾驶场景。高速、低速、弯道、直道、雨雪天气……场景不同,风险不同。
- Step 4:ASIL等级评定 —— 根据S、E、C三个参数,确定每个危害的ASIL等级。
- Step 5:制定安全目标 —— 针对每个危害,制定一个可量化的安全目标。比如“转向功能失效时,必须在100ms内切换到冗余通道”。
下面这张图是我自己总结的HARA流程,你们可以存下来当参考:
SBW线控转向的HARA实战要点
好了,理论讲完了,咱们来点实际的。SBW的HARA怎么做?我给你们列几个典型的危害场景:
| 功能 | 失效模式 | 危害 | 典型ASIL |
|---|---|---|---|
| 转向执行 | 完全无响应 | 车辆失控 | ASIL D |
| 转向执行 | 响应延迟 > 200ms | 驾驶员误判 | ASIL C |
| 路感模拟 | 力矩输出错误 | 方向盘异常抖动 | ASIL B |
| 通信 | CAN信号丢失 | 转向中断 | ASIL D |
| 电源 | 供电中断 | 系统完全失效 | ASIL D |
你看,同样是SBW,不同功能的ASIL等级是不一样的。转向执行和通信是ASIL D,路感模拟可能只是ASIL B。这就是HARA的价值——帮你把有限的资源投入到最关键的地方。