3、危害分析与风险评估(HARA):运行场景定义、危害识别、风险评估与ASIL等级确定

好,咱们进入正题。HARA,全称 Hazard Analysis and Risk Assessment,翻译过来就是危害分析与风险评估。这玩意儿是功能安全开发的起点,也是决定你后续所有工作方向的关键一步。说白了,就是先搞清楚:这逆变器在车上用,到底可能出什么幺蛾子?出了幺蛾子后果有多严重?然后我们该用多大力气去防它?

我个人习惯,做HARA之前,先泡杯茶,把脑子清空。因为这一步特别容易想当然。你想想看,一个车载逆变器,它把电池的高压直流电转成220V交流电,给后排的笔记本、手机充电。听起来很简单对吧?但危险就藏在细节里。

⚠️ 警告: 千万别把HARA当成走流程。我见过太多项目,HARA报告写得漂漂亮亮,结果产品一上路就出问题。为什么?因为场景没想全,危害没挖透。

3.1 运行场景定义:你得知道它会在什么环境下干活

运行场景,就是逆变器在车上所有可能的工作状态。不是只有“正常开车”这一个场景。你得把车停着、开着、充电、过颠簸路、涉水、甚至出车祸的情况都考虑进去。

我一般把场景分成三类:

  • 正常场景:车辆行驶中、停车怠速、驻车充电。逆变器正常输出220V。
  • 异常场景:车辆碰撞、电池过压/欠压、输出过载、散热风扇堵转、潮湿环境。
  • 故障场景:传感器失效、MCU死机、MOS管击穿、隔离变压器短路。

举个例子。我记得有一次做项目,客户只给了“车辆行驶中”这一个场景。我说不行,你得想想夏天40度高温,车在太阳底下暴晒,逆变器内部温度能到多少?还有冬天零下30度,冷启动时电解电容的特性会变。这些场景不定义清楚,后面的危害识别就是瞎扯。

💡 小技巧: 定义场景时,建议拉上系统工程师、硬件工程师、甚至测试工程师一起 brainstorm。一个人想不全,人多力量大。

3.2 危害识别:把“可能出问题的地方”全挖出来

危害识别,就是基于上面定义的场景,找出逆变器可能对人或车造成的伤害。注意,不是找“故障”,而是找“危害”。故障是原因,危害是结果。

对于车载逆变器,常见的危害有:

  • 电击: 输出端220V高压裸露,或者外壳漏电。人摸到就危险了。
  • 火灾: 内部短路、过载、散热不良导致温度过高,引燃周边材料。
  • 电池过放: 逆变器一直工作,把12V/48V电池电放光,车辆无法启动。
  • 电磁干扰: 逆变器开关频率干扰车载收音机、CAN总线通信。

嗯,这里要注意。危害识别不能只盯着“最坏情况”。我曾经遇到一个案例,工程师只分析了“输出短路导致火灾”,却忽略了“输出过载但未短路,长时间工作导致绝缘老化,最终漏电”。这种渐进式的危害,往往更隐蔽。

我建议用HAZOP(危险与可操作性分析)的方法,对每个功能参数(电压、电流、温度、频率)进行引导词分析。比如:

参数 引导词 偏差 可能危害
输出电压 过高 >264V 损坏负载设备,甚至起火
输出电流 过大 >额定值150% 线缆过热,绝缘熔化
内部温度 过高 >105°C 电解电容爆裂,引发火灾
绝缘电阻 过低 <1MΩ 外壳带电,电击风险

3.3 风险评估:这事儿到底有多严重?

危害找到了,接下来要评估风险。ISO 26262给了我们三个维度:

  • S(Severity): 严重度。人受伤的程度。S0无伤害,S1轻伤,S2重伤(可存活),S3致命。
  • E(Exposure): 暴露概率。这个场景发生的频率。E1极低,E2低,E3中,E4高。
  • C(Controllability): 可控性。驾驶员或乘客能否避免伤害。C1容易控制,C2一般可控,C3难以控制。

举个例子。逆变器外壳漏电,人摸到。严重度S2(重伤,可能心脏骤停),暴露概率E3(每次开车都可能摸到),可控性C2(如果人反应快可以松手,但很难)。

然后查表,S2+E3+C2,对应的ASIL等级是ASIL B

🔑 核心要点: ASIL等级从A到D,D是最严格的。QM(Quality Management)表示不需要功能安全措施,按普通质量管控就行。但车载逆变器,我做了这么多年,很少有QM的项。

3.4 ASIL等级确定:给每个危害定个“安全目标”

ASIL等级确定后,就要写安全目标(Safety Goal)了。安全目标就是一句话:防止某某危害。每个危害对应一个安全目标,安全目标要带ASIL等级。

比如:

  • SG1: 防止逆变器输出过压导致负载损坏或火灾。 ASIL C
  • SG2: 防止逆变器外壳漏电导致人员电击。 ASIL B
  • SG3: 防止逆变器过热导致火灾。 ASIL A

这里有个坑。我曾经犯过一个错误:把安全目标定得太笼统。比如“防止火灾”,这等于没说。你得具体到“防止因MOS管短路导致电流超过XXA,持续时间超过XXms,从而引发线缆起火”。越具体,后续的硬件设计和软件实现才越好落地。

另外,ASIL等级会分解。一个ASIL C的安全目标,可以分解成多个ASIL A或B的功能安全需求。但要注意,分解要符合ISO 26262-9的规则,不能随便拆。

💡 个人经验: 定ASIL等级时,别往高了定。ASIL D虽然安全,但成本高、开发周期长。够用就行。我见过一个项目,把“逆变器风扇堵转”定成了ASIL C,其实ASIL A就够了。结果多花了好几万做冗余设计,完全没必要。

3.5 避坑指南:HARA常见的几个“坑”

做HARA这么多年,我总结了几条血泪教训:

  • 场景不全: 只考虑正常驾驶,忽略了维修保养、洗车、涉水等场景。我曾经有一个项目,逆变器在洗车时进水,导致漏电。HARA里根本没写这个场景,后来被客户投诉。
  • 危害和故障混淆: 把“MOS管击穿”当成危害。MOS管击穿是故障,危害是“输出短路导致火灾”。一定要区分清楚。
  • ASIL等级拍脑袋: 不按S/E/C打分,直接凭感觉定ASIL B或C。这样出来的报告,审核老师一眼就能看出来。
  • 安全目标太虚: 写“防止电击”,但没有给出具体的电压阈值、时间阈值。后续设计没法验证。

嗯,最后说一句。HARA文档不是写一次就完事的。随着项目推进,你会发现新的场景、新的危害。所以HARA要持续更新。我一般每个里程碑节点都会review一遍HARA,看看有没有遗漏。

好了,这一章就到这里。下一章我们讲功能安全概念(FSC),也就是怎么把安全目标转化成具体的技术方案。到时候见。