Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

2.4 ASIL判定——从三个参数到四个字母

会议室里烟雾缭绕:不是真的烟,是投影仪散热口吹出的热风,投影仪在白墙上映出一行一行的Excel表格。你坐在长桌的最左侧,盯着投影画面上的第17行。那一行的内容是:高速公路场景,转向系统意外输出力矩导致车辆偏离车道。你的功能安全团队已经讨论了整整15分钟。

问题出在一个参数上:可控性C2还是C3?

“驾驶员还有3秒反应时间,算C2吧,大部分人能稳住。“坐在你对面的系统工程师说。

“你确定?“安全经理放下咖啡杯,“这是130km/h的车速。S3+E4+C2是ASIL C,S3+E4+C3是ASIL D。你知道这两个等级的开发成本差多少吗?大概差一个数量级。”

房间里安静了。

你的大脑在飞速运转。C2的定义是“普通驾驶员通常能够控制,多数驾驶员可以避免伤害“,C3的定义是“普通驾驶员通常无法或几乎无法控制损伤“。在高速公路上,转向突然失控,不是每个驾驶员都能在3秒内做出正确反应。更何况,遇到这种情况的本能反应可能是急刹车,这反而会加剧失控。

你最终说:“应该是C3。”

安全经理点了点头。“ASIL D。散会。”

这就是ASIL判定的真相。它不是一道数学题,而是一道用工程判断来回答的哲学题。三个参数的每一个评级,都隐藏着对“安全“二字的深刻理解。而最终的那个字母:A、B、C、D,或者QM:决定了接下来整个开发团队的命运。

免疫系统的核心隐喻:威胁等级的判定机制

在深入ASIL表格之前,先回到免疫系统。你的身体每天要面对数百万种外来物:细菌、病毒、真菌、寄生虫。但免疫系统并不是对所有威胁一视同仁。它有一套精妙的威胁等级判定机制

  • 接触到皮肤表面的常见共生菌?不需要反应。这是“QM“级别的威胁。
  • 轻微的局部感染?局部炎症反应:调动巨噬细胞和中性粒细胞,相当于ASIL A。
  • 中度感染,有扩散风险?发热+全身炎症:启动补体系统,释放细胞因子,相当于ASIL B。
  • 严重感染,威胁器官功能?全身免疫动员:T细胞和B细胞的大规模激活,相当于ASIL C。
  • 致命病原体侵入,如败血症?最高级别的免疫风暴:不惜一切代价的资源投入,所有免疫系统全线作战,相当于ASIL D。

免疫系统基本不会对一只普通蚊子的叮咬启动全身发热,也不会对败血症只派几个巨噬细胞去应付。它精准地判断:这个威胁有多严重(S)、暴露在威胁下的概率有多高(E)、我有没有能力在遭受损害之前控制住它(C)

这不就是ASIL判定的S+E+C吗?

为什么不是S×E×C?

你可能会问:免疫系统到底是怎么把S、E、C综合起来的?是相乘吗?如果你这样想,说明你已经被传统的“S×E×C=某个数值“的思维框架困住了。在ISO 26262中,ASIL的确定不是乘法,而是一个查表过程

这不是随意的设计。乘法的问题在于:某些组合会放大过度的风险评级(比如S1×E4×C3和S3×E1×C3得到同样的数值,但实际风险完全不同),而另一些组合则会被低估。查表法的本质,是让人类专家针对每一种具体的S+E+C组合做出独立的工程判断,而不是用数学公式偷懒。

你的免疫系统也是查表,不是乘法。Toll样受体(TLR)识别到病原体相关分子模式(PAMP)时,发出的信号不是“S×E×C“的单一强度值,而是根据特定病原体的特定模式,激活特定的免疫通路。革兰氏阴性菌的内毒素(LPS)激活TLR4通路,病毒的双链RNA激活TLR3通路,细菌的鞭毛蛋白激活TLR5通路:每一条通路的激活阈值、响应强度、调控机制都是独立进化的。这就是免疫系统的“查表法“。

ISO 26262的ASIL判定表,本质上就是功能安全领域的“模式识别受体“。

ASIL判定表:从三个参数到四个字母的完整推演

ISO 26262-3的第6条(Clause 6)定义了危害分析与风险评估(HARA)的流程。其中最关键的一步,就是将S(Severity,严重度)、E(Exposure,暴露概率)、C(Controllability,可控性)三个评级,映射到ASIL等级。

下面是Part 3 Table 4的完整内容。这张表,你要记在脑子里:或者至少把它贴在工位上最显眼的地方。

完整表格内容请见ISO 26262-3:2018 附录Table 4。其核心结构如下:

S1 + E1/E2/E3  + C1,C2 = QM
S1 + E3        + C3    = ASIL A
S1 + E4        + C2    = ASIL A
S1 + E4        + C3    = ASIL B

S2 + E1/E2/E3  + C1,C2 = QM
S2 + E3        + C3    = ASIL B
S2 + E4        + C1    = ASIL A
S2 + E4        + C2    = ASIL B
S2 + E4        + C3    = ASIL C

S3 + E1        + C1,C2 = QM
S3 + E1        + C3    = ASIL A(可争论为QM)
S3 + E2        + C1    = QM
S3 + E2        + C2    = ASIL A
S3 + E2        + C3    = ASIL B
S3 + E3        + C1    = ASIL A
S3 + E3        + C2    = ASIL B
S3 + E3        + C3    = ASIL C
S3 + E4        + C1    = ASIL B
S3 + E4        + C2    = ASIL C
S3 + E4        + C3    = ASIL D

这张表在告诉你什么?

注意一个明显的趋势:S3+E4+C3才能达到ASIL D,最高安全等级只赋予“最严重伤害+最常见场景+最难控制“的危害事件。

QM(质量管理)占据了大量的组合:ISO 26262不要求所有功能都走功能安全流程。风险足够低的,按质量管理即可。

保守性规则:在某个参数上犹豫不决时,标准要求选更保守的评级。这不是过度设计,而是对不确定性的尊重。

逐一拆解每个ASIL等级:以及它对你的开发工作意味着什么。

QM(质量管理)

QM不是ASIL等级。它表示:不需要执行ISO 26262中定义的额外安全活动,现有的质量管理体系(如IATF 16949)的内容已经足够。

但这不等于“不关心安全“。QM只是说:这个功能的失效不会导致不合理的风险,或者风险已经低到不需要专门的安全措施。比如:

  • 收音机音量调节功能
  • 车内氛围灯控制

并不是说这些功能可以随便失效:收音机突然最大音量可能吓你一跳,但这不会导致碰撞。所以,它们是QM。

免疫系统中有QM级别的威胁吗?当然有。肠道中的数万亿共生菌每天都在与肠壁接触,但免疫系统对它们保持“耐受“:不会发起攻击。这就是免疫系统的“质量管理“:默认不反应,除非有证据表明它们越界了。

ASIL A:最低的安全严谨度

ASIL A是功能安全的最低层级。它要求最低程度的安全活动,但确实要求了这些活动。

典型场景:S1(轻微伤)+E4(高概率暴露)+C3(难控制)的组合达到了ASIL A。想象一个座椅调节功能,在极端情况下它意外移动,导致驾驶员姿势不适,可能分散注意力。伤害严重度不高(最多腿部轻微碰撞),但场景很常见,而且发生问题时驾驶员很难立刻纠正。ASIL A要求你至少做安全分析、验证安全需求。

对于ASIL A的开发:

  • 需要安全计划,但文档要求相对宽松
  • 硬件度量:ASIL A不要求SPFM和LFM的定量评估。这些指标仅对ASIL B、C、D有目标值要求
  • 软件:推荐使用一些安全机制,但远不如高ASIL严格
  • 安全分析:归纳分析(如FMEA)即可

ASIL B:明显的安全严谨度

ASIL B是中等安全层级。注意从表上可以看出,S1+E4+C3和S2+E4+C2都达到ASIL B。

典型的ASIL B场景:电动门窗的防夹功能失效。如果车窗在关闭时没有检测到障碍物(比如小孩的手指),可能造成中等程度的伤害(骨折等)。场景很常见(每天开关车窗),驾驶员可以在一定程度上干预(松开按钮),但可能来不及。

ASIL B的开发要求:

  • 硬件架构度量:建议SPFM≥90%,LFM≥60%
  • 软件:需要遵循编码规范、使用语言子集、做静态分析
  • 安全分析:FMEA需要更细致,可以开始考虑FTA
  • 测试:需要基于需求的测试和结构覆盖率测试

ASIL C:高度的安全严谨度

ASIL C是次高等级。S2+E4+C3和S3+E4+C2进入ASIL C。这意味着:严重伤害、高概率暴露场景、可控性差。

典型场景:自适应巡航控制(ACC)的误加速。在高速公路上(高暴露),ACC错误地将目标车速设为最大值(严重度S3,可能导致致命碰撞),驾驶员意识到不对劲但可能已经来不及反应(C2或C3)。这类系统通常是ASIL C。

ASIL C的开发要求:

  • 硬件度量:SPFM≥97%,LFM≥80%
  • 软件:高度推荐的编码指南、防御性编程、更严格的结构覆盖率(MC/DC推荐)
  • 安全分析:FTA(故障树分析)高度推荐
  • 安全机制:需要具备独立的安全监控路径
  • 验证:更严格的集成测试和硬件在环测试

ASIL D:最严格的安全严谨度

ASIL D是功能安全的最高境界。只有S3+E4+C3能够达到ASIL D。

这是怎样的场景?最严重的伤害(死亡)+最常见的暴露+最难控制的局面。转向系统在高速公路上的非预期力矩输出、制动系统的完全失效、气囊在非碰撞情况下的意外弹出。这些都是ASIL D的典型候选。

ASIL D的开发要求:

  • 硬件度量:SPFM≥99%,LFM≥90%,PMHF<10 FIT(每十亿小时故障数小于10次)
  • 软件:最严格的编码规范、MC/DC结构覆盖率达到100%、最全面的测试策略
  • 安全分析:FTA和FMEA同时进行,互为补充
  • 安全机制:必须有独立的、物理隔离的安全监控路径
  • 开发过程:更严格的配置管理、变更管理、安全审计

ASIL D就像免疫系统中的“全身免疫风暴“:不惜一切代价,所有可用资源全部投入。但这里有一个微妙的点:免疫风暴本身也是危险的(细胞因子风暴可以致命)。同样,ASIL D的过度设计也会带来问题:系统复杂度增加(复杂性本身就是安全风险)、开发周期延长、成本飙升。你需要精确判断,ASIL D只应该在最需要的地方使用。

保守性分类规则:当你不确定时的决策法则

在HARA中,每个参数的评级都需要基于证据和工程判断。但在很多情况下,数据不足以支持精确的判断。这就是保守性分类规则发挥作用的时候。

ISO 26262要求:如果你无法确定某个参数属于哪个等级,选择对你更不利的那个:也就是“更严重“的那个。如果一辆车在乡村公路上的暴露概率介于E2(1-10%驾驶时间)和E3(10-100%驾驶时间)之间,而你无法给出确切数据,那就选E3。

这种“不利选择“原则在标准中有明确规定(Part 3, 6.4.3.1),它体现了功能安全的一个核心信条:宁可过度保护,不可冒险低估

但这个原则也有风险。如果你事事都选最保守的评级,最终所有功能都变成ASIL D。这恰恰违背了ISO 26262的经济理性。需要的是合理的保守性:有充分数据时选精确评级,缺乏数据时选更安全的一方,根本不确定时做更多分析来消除不确定性。

经济驱动:ASIL背后的成本真相

面对现实:ASIL不是纯粹的技术标签,它有巨大的经济含义。

每一级ASIL的跨越,开发成本大致增加1.5到3倍。从QM到ASIL A可能增加50%的成本,从ASIL C到ASIL D可能翻倍。这不仅仅是更多测试和文档的成本,更根本的是架构成本

  • ASIL B可能需要双通道传感器,ASIL C可能需要三通道
  • ASIL C可以用安全相关的单核MCU,ASIL D往往需要锁步双核加独立监控
  • ASIL B/D的软件分区:所谓的“FFI(免于干扰,Freedom From Interference)“:要求更高ASIL的软件与低ASIL的软件有严格的隔离机制

在汽车行业中,一个典型的EPS(电动助力转向)系统,其ASIL D部分的开发工作量可能占到整个项目安全相关工作量的70%以上,但只占代码量的20%。这就是“好钢用在刀刃上“的工程现实。

从HARA到ASIL的实际案例

用四个具体案例来巩固理解:

案例一:制动灯失效

场景:你踩下制动踏板,但两个制动灯都因电路故障未能点亮,后方车辆无法判断你正在减速。高速公路,车速120km/h。

  • S(严重度):S3:后方追尾可能导致乘员死亡,这是“致命的“。
  • E(暴露概率):E4:你每次开车都会使用制动灯,这是一个“高概率“暴露的场景,在每次驾驶中持续存在。
  • C(可控性):C1:后方车辆的驾驶员可以通过观察距离变化和你的减速趋势来判断你正在减速,仍然“普遍可以避免“碰撞。但注意,如果是夜间或恶劣天气,C可能上升到C2甚至C3。这里我们按C1评级。

结果:S3+E4+C1 = ASIL B。

这符合你的直觉吗?制动灯失效听起来很可怕,但因为后方驾驶员仍然有观察手段,可控性将总风险降到了ASIL B。功能安全不是情感,而是基于工程分析。

案例二:EPS转向锁止

场景:电动助力转向因电机控制模块故障导致转向柱锁止,方向盘无法转动。高速公路,车速100km/h。

  • S:S3:转向失效导致车辆无法避让障碍物,进入对向车道或冲出道路,极大概率致命。
  • E:E4:任何时候都在使用转向功能。不是“频繁“,是“持续“。完全满足高概率暴露条件。
  • C:C3。当转向锁止后,驾驶员唯一能做的操作是制动,但制动本身无法替代转向来避让。正常驾驶员“难以甚至不可能“避免伤害。

结果:S3+E4+C3 = ASIL D。

案例三:倒车雷达失效

场景:倒车时超声波传感器故障,系统持续显示“无后方障碍物“,但实际后方有一个蹲下的小孩。停车场低速倒车场景。

  • S:S2:倒车碰撞可能对行人或蹲下的小孩造成骨折等“严重且危及生命“的损伤,但低速且儿童身高较低可能导致严重性上升。我们评级S2-S3之间,保守取S3。
  • E:E3:倒车场景占用车时间的10%-100%,在城市停车环境中非常常见。这里评定为E3。
  • C:C2:驾驶员最终需要自己对后方进行确认(回头观察、依靠后视镜),雷达是辅助信息而非唯一信息来源。多数驾驶员可以实现部分避免。如果驾驶员完全依赖雷达而没有回头观察,可控性下降。这里按标准驾驶员假设评为C2。

结果:S3+E3+C2 = ASIL B。

案例四:高压电池热失控

场景:电动汽车的电池管理系统(BMS)在电池内部短路后未能切断高压回路并触发报警,电池内部热量急剧累积,温度超过热失控阈值导致燃烧甚至爆炸。高速公路行驶,乘员无法立即从车内撤离。

  • S:S3:电池热失控引发的火灾是致命的,特别是当乘员无法立即停车并离开车辆时。严重度最高。
  • E:E4:电池始终处于工作状态,每次驾驶循环电池都在充放电。暴露是持续的。
  • C:C3:作为驾驶员,你无法在几秒内判断电池是否即将热失控,也没有任何操作可以阻止电池内部短路蔓延成热失控。可控性是“无法控制“。

结果:S3+E4+C3 = ASIL D。

本篇小结

  1. ASIL通过查表确定,不是S×E×C的乘法
  2. 只有S3+E4+C3能达到ASIL D
  3. QM不是ASIL等级,是“功能安全不适用“的管理标识
  4. 保守性要求“不确定则选更严重“,但不应滥用
  5. ASIL每级跃迁意味着显著的成本增加
  6. ASIL判定的是伤害后果,不是故障本身

【下集预告】: ASIL D的标签贴在危害事件上,但工程师需要的是可操作的指令。下一节把“防止非预期转向“这一句安全目标,拆成具体的FSR:谁来检测?怎么检测?检测到以后做什么?多久做完?FTTI的200ms从哪里来——不是拍脑袋,是从你刚刚在HARA中评估的C参数反推出来的。