第2章:相关项定义:Item Definition、功能边界、系统边界、运行场景与模式
好,咱们接着聊。上一章我们把HARA的整体框架搭起来了,这一章要落地了——相关项定义。说白了,就是搞清楚你到底要分析什么东西。
我见过不少新手,上来就急着找危险,结果连分析对象都没界定清楚。嗯,这就像你要修车,却连修哪辆车都没搞明白。所以,咱们先把「相关项」这个概念吃透。
2.1 什么是相关项(Item)?
相关项,就是你要实施功能安全活动的那个系统或功能集合。它可以是ECU、传感器、执行器,也可以是某个软件功能模块。
我个人习惯把相关项想象成一个「黑盒子」——我关心它的输入、输出、以及它对外界的影响。至于盒子里面怎么实现的,那是后面设计阶段的事。
关键点:相关项不是随便划的。它必须是一个可独立分析的功能单元。你想想看,如果边界划得太小,分析会漏掉交互风险;划得太大,分析又变得臃肿难控。
举个例子。我在做EPS(电动助力转向)项目时,相关项的定义就包含了:扭矩传感器、电机控制器、助力电机、以及它们之间的通信链路。为什么?因为这些组件共同实现了「提供转向助力」这个安全功能。
2.2 功能边界:你的系统管什么?
功能边界,就是回答一个问题:这个相关项到底负责做什么,不做什么?
我建议你用一句话来描述核心功能。比如:
- 「EPS系统根据驾驶员转向输入,提供可变的助力扭矩」
- 「BMS系统监控电池状态,并在过温时切断高压回路」
边界定义不清,后面HARA分析就会出大问题。我曾经遇到一个项目,团队把「自动紧急制动」和「自适应巡航」放在同一个相关项里分析。结果呢?危险事件分析时,两个功能的失效模式混在一起,根本理不清。最后不得不拆开重做,浪费了两周时间。
我的小技巧:定义功能边界时,画一张简单的功能框图。把相关项放在中间,左边是输入(传感器、用户操作),右边是输出(执行器、显示),上面是外部系统(其他ECU、云端),下面是供电和通信。这张图能帮你一眼看出边界在哪。
2.3 系统边界:与外界怎么交互?
系统边界比功能边界更「物理」一些。它关注的是:相关项在硬件和软件层面,跟外部世界怎么连接?
你需要明确:
- 硬件接口:电源、CAN/LIN总线、硬线信号、传感器输入
- 软件接口:诊断服务、OTA升级、配置参数
- 人机接口:仪表盘报警、HMI操作、声音提示
- 环境接口:温度、湿度、振动、EMC
这里有个坑,我提醒一下。很多人只关注「正常情况」下的边界,忽略了故障情况。比如,CAN总线断了怎么办?电源掉电了怎么办?这些都要在系统边界定义里说清楚。
注意:系统边界定义时,一定要考虑「相关项之外的假设」。比如,你假设供电系统是ASIL B的,那这个假设就要写进边界文档里。否则,后面安全分析时,别人会以为你考虑了供电故障,其实你没有。
2.4 运行场景与模式:什么时候工作?
这是HARA分析里最容易遗漏的部分。运行场景和模式,决定了你的危险事件在什么条件下发生。
我把它分成两个维度:
2.4.1 运行场景(Operational Scenarios)
场景描述的是「车辆在什么环境下运行」。比如:
| 场景类别 | 具体例子 |
|---|---|
| 道路类型 | 高速公路、城市道路、乡村小路、停车场 |
| 交通状况 | 畅通、拥堵、交叉路口、行人密集 |
| 环境条件 | 白天/夜晚、晴天/雨雪、隧道/开阔地 |
| 车辆状态 | 静止、低速行驶、高速巡航、倒车 |
你想想看,同样是「转向助力突然丢失」,在高速上和在停车场里,危险程度能一样吗?所以,场景必须细化。
2.4.2 运行模式(Operational Modes)
模式描述的是「相关项本身处于什么工作状态」。常见的有:
- 上电模式:系统初始化、自检
- 激活模式:正常控制、限功率运行
- 降级模式:部分功能失效、跛行回家
- 故障模式:安全状态、完全关闭
- 休眠模式:低功耗、待唤醒
我记得有个项目,团队只分析了「正常激活模式」下的危险。结果呢?系统在降级模式下,某个传感器信号被屏蔽了,导致安全功能误触发。嗯,这就是模式没分析全的教训。
实战建议:做运行场景和模式分析时,我习惯用一张「场景-模式矩阵」。行是场景,列是模式,交叉点就是你要分析的工况。这样不会漏,也方便评审时跟别人对齐。
2.5 相关项定义的输出物
好了,说了这么多,最后咱们看看这一章要产出什么。一份完整的相关项定义文档,至少包含:
- 相关项名称和版本——别笑,我见过好几个项目因为版本号没写,后面追溯时乱成一锅粥
- 功能描述——一句话核心功能 + 详细功能列表
- 功能边界图——输入、输出、外部依赖
- 系统边界描述——硬件接口、软件接口、环境条件
- 运行场景列表——至少覆盖正常、异常、边界三种情况
- 运行模式定义——每个模式下的功能行为和安全行为
- 假设条件——你依赖了哪些外部系统或环境条件
这一章的内容,说白了就是给HARA分析「画个圈」。圈画好了,后面的分析才能有的放矢。圈画歪了,后面全是白干。
下一章,咱们就要在这个圈里,开始识别危险事件了。到时候你会发现,今天定义得越清楚,明天分析起来就越顺手。