3. 场景分析与运行模式:运行模式、系统状态、使用场景、环境条件

好,咱们接着聊HARA的第三步——场景分析。

说实话,这一步是很多工程师容易忽略的。大家往往急着去给危害定ASIL等级,却忘了问一个根本问题:这个危害到底在什么情况下才会发生?

我见过不少项目,HARA报告写得漂漂亮亮,结果评审时被安全专家一问「你这个场景考虑全了吗?」——当场卡住。嗯,今天咱们就把这块彻底讲透。

3.1 运行模式:系统到底在干嘛?

先说说运行模式。说白了,就是系统当前处于什么工作状态。

拿一个电动助力转向系统(EPS)举例。它的运行模式至少包括:

  • 上电自检模式:系统刚上电,正在做初始化检查
  • 正常助力模式:车辆行驶中,EPS正常提供转向助力
  • 降级模式:部分传感器失效,系统切换到备份策略
  • 故障安全模式:检测到严重故障,系统主动切断助力
  • 休眠模式:车辆熄火,系统进入低功耗状态

为什么要区分这些?因为同一个危害,在不同运行模式下,风险等级可能完全不同。

关键点:每个运行模式都要单独分析。不能只盯着「正常模式」看。

我个人习惯的做法是:先列一个表格,把系统所有可能的运行模式都写出来。然后针对每个模式,问自己三个问题:

  1. 这个模式下,系统有哪些功能在运行?
  2. 这个模式下,哪些功能可能失效?
  3. 这个模式下,失效会导致什么后果?

3.2 系统状态:内部变量的快照

系统状态和运行模式不一样。运行模式是宏观的,系统状态是微观的。

举个例子。同样是「正常助力模式」,系统状态可能包括:

  • 车速状态:0 km/h、30 km/h、120 km/h
  • 方向盘转角状态:居中、小角度、大角度、极限位置
  • 电池电压状态:正常、偏低、临界
  • 温度状态:常温、高温、低温

你想想看,同样是EPS突然失去助力,在车速30 km/h和120 km/h时,后果能一样吗?

我在项目中遇到过一件事。有个同事做HARA时,只考虑了「车辆行驶中」这一个状态。结果评审时被问到:「那车辆在倒车入库时呢?在坡道起步时呢?」——嗯,后来我们花了两周时间补全了所有系统状态。

我的建议:系统状态不要只列「正常」和「故障」两种。要细化到具体的参数范围。比如车速可以分区间:0-10 km/h、10-60 km/h、60-120 km/h、120 km/h以上。

3.3 使用场景:谁在用?怎么用?

使用场景,说白了就是「人机交互的上下文」。

同一个功能,不同的人用,不同的方式用,风险是不一样的。比如:

  • 正常驾驶场景:驾驶员注意力集中,双手在方向盘上
  • 辅助驾驶场景:驾驶员可能分心,手暂时离开方向盘
  • 泊车场景:车速慢,但周围可能有行人或障碍物
  • 紧急避让场景:驾驶员操作剧烈,系统响应时间要求极高
  • 维修保养场景:非专业人员操作,可能误触发某些功能

这里有个容易踩的坑——很多人只考虑「正常使用场景」,忽略了「误用场景」。

我曾经参与过一个项目,客户投诉说「车子停着的时候,方向盘自己会动」。后来一查,是维修工在更换蓄电池时,不小心触发了EPS的某个诊断模式。嗯,这就是典型的「维修场景」没考虑到位。

避坑指南:我曾经因为漏掉了「儿童误操作」这个场景,导致一个项目在功能安全审核时被开了严重不符合项。从那以后,我每次做场景分析都会专门列一个「误用场景清单」。

3.4 环境条件:外部因素不可忽视

环境条件,就是系统运行的外部环境。包括:

环境因素 典型取值 对安全的影响
温度 -40°C ~ 125°C 高温可能导致电子元件性能漂移
湿度 0% ~ 100% 高湿度可能引起短路或腐蚀
振动 不同路面等级 振动可能导致连接器松动
电磁干扰 不同频段和强度 EMI可能干扰传感器信号
海拔 0 ~ 5000米 高海拔影响散热和绝缘性能
路面条件 干燥/湿滑/冰雪/砂石 影响车辆动力学和制动距离

你可能会问:「这些环境条件都要考虑吗?」

我的回答是:取决于你的系统。一个车内信息娱乐系统,可能不需要考虑极端低温。但一个制动系统,就必须覆盖全温度范围。

我记得有一次做ADAS摄像头的HARA。我们一开始只考虑了「白天」和「夜晚」两种光照条件。后来安全专家提醒:「那隧道入口呢?那逆光呢?那大雾呢?」——好家伙,最后我们列了12种光照条件。

3.5 组合分析:场景的排列组合

好了,现在我们有四个维度:运行模式、系统状态、使用场景、环境条件。怎么把它们组合起来?

我的做法是:先列一个矩阵

比如,对于「EPS突然失去助力」这个危害:

  • 运行模式:正常助力模式
  • 系统状态:车速120 km/h,方向盘居中
  • 使用场景:高速巡航,驾驶员注意力正常
  • 环境条件:干燥路面,白天,温度25°C

这个组合下,危害的严重度可能是S3(危及生命)。

但如果换成:

  • 运行模式:正常助力模式
  • 系统状态:车速5 km/h,方向盘大角度
  • 使用场景:倒车入库,驾驶员注意力集中
  • 环境条件:干燥路面,白天,温度25°C

这个组合下,严重度可能降到S1(轻微伤害)。

核心原则:每个危害都要在最严苛的场景下评估。但也要记录下「典型场景」和「最严苛场景」的区别。

3.6 实战中的常见问题

最后,分享几个我在实际项目中踩过的坑:

  1. 场景数量失控:有人恨不得把每个参数都排列组合一遍,结果一个危害搞出几百个场景。没必要!我的经验是:每个危害分析3-5个典型场景就够了。
  2. 忽略时间维度:有些危害不是瞬间发生的,而是随时间累积的。比如「制动片磨损导致制动距离增加」——这个场景要考虑时间因素。
  3. 忘记多系统交互:现在的车都是域控制器架构。一个场景可能涉及多个ECU。比如「自动紧急制动(AEB)触发时,EPS应该怎么配合?」——这种跨系统场景最容易遗漏。

好了,关于场景分析就讲到这里。下一节咱们聊聊怎么给危害定ASIL等级——那才是真正考验经验的地方。