3、ASIL等级解析:ASIL A/B/C/D的定义、确定方法及分解策略

3.1 什么是ASIL?说白了就是风险等级

ASIL,全称是Automotive Safety Integrity Level,汽车安全完整性等级。嗯,这个名字听起来挺唬人的,但说白了,它就是告诉你——这个功能如果出问题了,后果有多严重。

我个人习惯把ASIL理解成「危险程度标签」。你想想看,一个车窗升降功能出故障,和刹车系统出故障,能一样吗?前者可能只是 inconvenience,后者可是要命的。ASIL就是用来量化这种差别的。

ISO 26262定义了四个等级:ASIL A、ASIL B、ASIL C、ASIL D。从A到D,安全要求越来越严格,开发成本也越来越高。还有一个叫QM(Quality Management),意思是「按质量管理做就行,不用额外安全措施」。

核心记忆点:

  • QM → 没安全风险,正常做就行
  • ASIL A → 轻微伤害
  • ASIL B → 中等伤害
  • ASIL C → 严重伤害
  • ASIL D → 致命伤害

3.2 ASIL怎么确定?三个参数说了算

确定ASIL等级,不是拍脑袋决定的。ISO 26262给了三个参数,你得一个一个分析:

参数 英文 含义 等级
严重度 Severity (S) 人员受伤的严重程度 S0~S3
暴露概率 Exposure (E) 危险场景发生的频率 E0~E4
可控性 Controllability (C) 驾驶员能否避免危险 C0~C3

举个例子你就明白了。假设我们在分析「刹车助力失效」这个危险:

  • S(严重度):刹车没了,大概率是重伤甚至死亡 → S3
  • E(暴露概率):你每次开车都可能用到刹车 → E4
  • C(可控性):普通人没助力刹车,很难控制 → C3

查ISO 26262的表格,S3+E4+C3 → ASIL D。嗯,这很合理,刹车系统确实是最高等级。

我的经验:我在做EPS(电动助力转向)项目时,遇到过团队对「可控性」争论不休的情况。有人觉得驾驶员能用力掰回来,有人觉得不行。后来我们统一用「95%的普通驾驶员能否应对」作为判断标准,才把争议压下去。

3.3 ASIL分解策略:别硬扛,学会拆

你拿到一个ASIL D的需求,是不是头都大了?别急,ISO 26262给了你一条活路——ASIL分解

说白了,就是把一个高等级的安全需求,拆成几个低等级的需求,分配给不同的组件去实现。这样每个组件的开发成本就降下来了。

举个例子:

一个ASIL D的功能,可以拆成:

  • 组件A:ASIL C
  • 组件B:ASIL A

或者:

  • 组件A:ASIL B
  • 组件B:ASIL B

但要注意,分解不是随便分的。ISO 26262规定了严格的分解规则:

原始ASIL 分解方案1 分解方案2 分解方案3
ASIL D C + A B + B D + QM(不推荐)
ASIL C B + A C + QM -
ASIL B A + A B + QM -
ASIL A A + QM - -

⚠️ 避坑指南:我曾经见过一个项目,把ASIL D的需求分解成「D + QM」,想着主芯片做D,备份芯片做QM就行。结果审核的时候直接被驳回。为什么?因为分解的前提是两个组件要相互独立,不能有共因失效。QM那个组件如果和D组件共享了电源或时钟,那分解就无效了。

3.4 分解的实战套路

我个人做分解时,一般遵循三个原则:

  1. 独立性优先:两个组件必须物理或逻辑上独立,不能一个挂了另一个也跟着挂。
  2. 多样性辅助:最好用不同的技术实现。比如一个用软件算法,一个用硬件比较器。
  3. 覆盖要完整:分解后的所有组件加起来,必须覆盖原始需求的所有安全目标。

举个例子,我之前做的一个线控制动项目:

  • 原始需求:ASIL D,要求制动响应时间<200ms
  • 分解方案:主控制器(ASIL C)+ 独立监控芯片(ASIL A)
  • 主控制器负责正常制动逻辑,监控芯片负责超时检测和故障切换

这样一拆,主控制器不用做ASIL D那么变态的冗余设计,监控芯片也不用太复杂。成本降了,安全性也没打折扣。

3.5 关于ASIL的常见误解

嗯,这里我得澄清几个常见的坑:

  • 误解一:ASIL D就是100%不出错 → 错!ASIL D只是把残余风险降到可接受水平,不是零风险。
  • 误解二:分解后每个组件可以独立开发 → 错!分解后还要做接口一致性分析,防止两边对不上。
  • 误解三:QM就是随便做 → 错!QM也要遵循公司的质量管理流程,只是不用额外安全措施。

我的建议:刚开始做ASIL分解的团队,别一上来就想着拆成最低等级。先老老实实按原始等级做一版,等流程跑顺了,再考虑分解优化。我见过太多团队,分解没做好,最后集成测试时发现两个组件互相打架,返工成本比不分解还高。

3.6 小结

ASIL等级这东西,说白了就是「风险越高,要求越严」。确定等级时,S、E、C三个参数一个都不能少。拿到高等级需求别慌,学会用分解策略,把大问题拆成小问题,分配给不同组件去扛。

记住一句话:ASIL分解不是偷懒,是工程智慧。但前提是,你得懂规则,别瞎拆。


公众号:蓝海资料掘金营,微信deep3321