3、功能安全基础(ISO 26262):ASIL等级定义、安全目标设定、线控转向的ASIL D要求

好,咱们进入正题。功能安全,说白了就是「万一出错了,车也不能乱来」。ISO 26262 这个标准,搞底盘电控的工程师没人不知道。今天我就结合线控转向,聊聊 ASIL 等级、安全目标,以及为什么线控转向必须上 ASIL D。

3.1 ASIL 等级:从 A 到 D,危险程度递增

ASIL,全称 Automotive Safety Integrity Level,汽车安全完整性等级。它分四个级别:A、B、C、D。D 是最严苛的,要求故障率低到几乎不可能发生。

怎么定级?看三个参数:

  • 严重度(Severity):出事后,人受伤有多重?
  • 暴露概率(Exposure):这种情况发生的频率高不高?
  • 可控性(Controllability):驾驶员能不能在出事前救回来?

举个例子。线控转向如果突然失效,方向盘和车轮脱开了。你想想看,高速上突然没转向,那是什么后果?严重度肯定是 S3(生命危险),暴露概率 E4(几乎每次开车都会用到转向),可控性 C3(普通人根本控制不住)。三个参数一组合,ASIL D 就跑不掉了。

核心结论:线控转向的转向执行功能,默认就是 ASIL D。这不是拍脑袋定的,是风险评估算出来的。

3.2 安全目标设定:从「失效」反推「要求」

安全目标,就是「系统不能出现什么情况」。比如:

  • 「不能发生非预期的转向」
  • 「不能丢失转向能力」
  • 「不能输出错误的转向角度」

每个安全目标都要分配一个 ASIL 等级。线控转向里,我见过最典型的两个安全目标:

安全目标编号 描述 ASIL等级
SG-01 避免非预期的转向执行 ASIL D
SG-02 避免转向功能完全丧失 ASIL D

我个人习惯,在项目初期就把安全目标写进系统需求文档里。这样后续的硬件设计、软件架构、测试用例,全都有据可依。

一个小技巧:安全目标不要写得太笼统。比如「转向要可靠」这种话,没法验证。要写成「当检测到主控制器失效时,备份控制器必须在 50ms 内接管,且转向角度误差不超过 ±1°」。

3.3 线控转向的 ASIL D 要求:到底严在哪?

ASIL D 的要求,说白了就是「双倍冗余 + 全面诊断」。我拆开来讲:

3.3.1 硬件冗余

线控转向的 ECU、传感器、执行器,至少得有两套。一套坏了,另一套立刻顶上。我曾经在一个项目里见过,客户要求三冗余——主、副、应急,三套独立供电。嗯,成本确实高,但安全裕度也真的大。

3.3.2 软件诊断

软件里要跑各种监控:

  • 看门狗定时器(监控程序是否跑飞)
  • 内存校验(ECC 或 CRC)
  • 通信校验(比如 CAN 的 CRC 和序列计数器)
  • 逻辑自检(比如输入输出一致性检查)

我举个例子,诊断覆盖率要求:

故障类型 最低诊断覆盖率
单点故障 ≥ 99%
潜伏故障 ≥ 90%

说白了,ASIL D 要求你几乎能发现所有可能的故障。漏掉一个,就可能出大事。

3.3.3 安全机制示例

我画了一张图,帮你理解线控转向的安全架构:

线控转向 ASIL D 安全架构 主控制器 (ASIL D) 备份控制器 (ASIL D) 主传感器组 备份传感器组 转向执行器 诊断监控层(看门狗、CRC、逻辑自检、故障响应) 冗余控制 冗余感知 容错执行

你看,主控制器和备份控制器是独立的。传感器也是两组。执行器本身有容错设计。最底下还有一层诊断监控,时刻盯着有没有异常。这就是 ASIL D 的典型架构。

避坑指南:我曾经在一个项目里,备份控制器和主控制器共用了一路电源。结果主控制器短路,备份也跟着掉电。嗯,这就是典型的「共因失效」。ASIL D 要求必须做共因失效分析,把这种坑提前填上。

3.4 小结

功能安全不是写写文档就完事的。它贯穿整个开发流程。线控转向的 ASIL D 要求,逼着我们从架构设计、硬件选型、软件开发到测试验证,每一步都得考虑「如果这里坏了,怎么办?」。说白了,安全是设计出来的,不是测试出来的。

好,这一章就聊到这儿。下一章我们聊聊功能安全的具体实现方法——故障树分析(FTA)和失效模式与影响分析(FMEA)。