4、ASIL等级确定:ASIL A/B/C/D的定义、ASIL分解策略、ASIL与安全目标的关系
好,咱们进入正题。ASIL等级,说白了就是给安全目标定个“危险程度”。你想想看,刹车失灵和车载娱乐系统死机,能是一个级别吗?显然不是。ISO 26262里把ASIL分成了A、B、C、D四个等级,D是最严的,A是最松的。QM(Quality Management)不算ASIL,就是普通质量管理就行。
4.1 ASIL A/B/C/D 到底怎么定义?
我个人习惯,判断ASIL等级主要看三个维度:严重度(Severity)、暴露概率(Exposure)、可控性(Controllability)。这三个参数组合起来,查表就能得到ASIL等级。
- 严重度(S0~S3):伤害有多重?S0是没伤害,S3是致命伤。
- 暴露概率(E0~E4):危险场景出现的频率?E0几乎不出现,E4是每次开车都可能遇到。
- 可控性(C0~C3):驾驶员能不能躲开?C0是完全可以,C3是基本躲不掉。
举个例子,我做过一个电动助力转向的项目。如果转向突然失效,在高速上那就是S3(致命),E4(每次开车都可能),C3(驾驶员基本控制不住)。查表下来,妥妥的ASIL D。
| 严重度 (S) | 暴露概率 (E) | 可控性 (C) | ASIL等级 |
|---|---|---|---|
| S1 | E1 | C1 | ASIL A |
| S2 | E2 | C2 | ASIL B |
| S3 | E3 | C2 | ASIL C |
| S3 | E4 | C3 | ASIL D |
嗯,这里要注意:QM 不是ASIL,它表示“没有安全要求”,但不是说可以乱搞。我见过有人把QM当成“随便写写代码”,结果出了事追责,那就麻烦了。
核心要点:ASIL D 要求最严,需要覆盖所有故障模式,冗余设计几乎是必须的。ASIL A 相对宽松,但也不是没有要求。
4.2 ASIL分解策略:怎么把“大老虎”拆成“小猫咪”?
你拿到一个ASIL D的安全目标,头大吗?别急,ISO 26262给了我们一个“作弊”方法——ASIL分解。说白了,就是把一个高等级要求,拆成几个低等级要求,分别实现。
举个例子,一个ASIL D的功能,我可以拆成两个ASIL C的通道。只要这两个通道相互独立,且能互相校验,那整体就满足ASIL D。为什么?因为两个ASIL C同时失效的概率,比一个ASIL D失效的概率还低。
我曾经在一个ADAS项目中,把ASIL D的刹车控制拆成了:
- 通道1:ASIL C(主控制器,负责算法)
- 通道2:ASIL C(监控控制器,负责校验)
这样每个通道的开发成本就降下来了。但注意,独立性是关键。如果两个通道共用同一个电源、同一个时钟,那就不算独立。
我的经验:ASIL分解时,一定要做共因失效分析(CCF)。我曾经吃过亏,两个通道用了同一个晶振,结果晶振坏了,两个通道一起挂。嗯,从那以后,我连PCB布局都要检查隔离。
常见的分解策略有:
- 对称分解:ASIL D → ASIL C(D) + ASIL C(D),两个通道等级相同。
- 非对称分解:ASIL D → ASIL B(D) + ASIL A(D),一个通道要求高,一个要求低。
- 冗余分解:ASIL D → ASIL D + ASIL D,两个通道都是D级,但互相冗余。
你想想看,非对称分解虽然省钱,但低等级通道的故障覆盖率要仔细算。我一般建议,新手先从对称分解开始,不容易出错。
4.3 ASIL与安全目标的关系:谁是谁的“老板”?
安全目标是“老板”,ASIL是“工资等级”。每个安全目标都必须有一个ASIL等级。没有ASIL的安全目标,就像没有预算的项目,没法落地。
具体来说:
- 安全目标:描述“要避免什么危险”。比如“防止刹车意外失效”。
- ASIL等级:描述“这个目标有多重要”。比如“ASIL D”。
我习惯在安全目标文档里,直接写一行:SG-01: 防止刹车意外失效 [ASIL D]。这样一目了然。
另外,ASIL等级会向下传递。安全目标分解成功能安全需求,功能安全需求再分解成技术安全需求。每个子需求,都可以继承或分解父需求的ASIL。但注意,不能降低整体安全等级。
避坑指南:我曾经见过一个团队,把ASIL D的安全目标分解成两个ASIL B的需求,然后说“我们满足了”。这是错的!ASIL分解必须遵循ISO 26262-9第5章的规则,不是随便拆的。一定要做ASIL分解的论证,证明两个低等级的组合确实能覆盖高等级的风险。
最后,给你一个实用建议:在项目初期,就把安全目标和ASIL等级做成一个表格,贴在墙上。每次评审都过一遍。我自己的项目里,这个表格至少更新了5版,因为随着分析深入,有些ASIL等级会调整。比如,原来觉得是ASIL C,后来发现可控性比想象中差,就升到了ASIL D。
嗯,ASIL这块内容比较多,但核心就是:定等级、做分解、保传递。你只要把这三个环节搞明白,HARA分析就算入门了。