1. 课程导入与ADAS安全全景

在正式进入故障注入与降级策略的工程细节之前,我们需要先建立一张"全局地图":Bosch ADAS 系统由哪些层次构成、功能安全(FuSa)与预期功能安全(SOTIF)各自管什么、故障注入和降级策略又处在整条安全链的哪个位置。只有把这三件事放在同一张图上,后续章节里出现的每一个注入点、每一条降级路径、每一个安全目标,才能找到它存在的理由。

一、Bosch ADAS 系统的分层架构

从工程视角看,一套典型的 Bosch ADAS 系统可以拆成五层。最底层是感知层,由毫米波雷达(如中距 77GHz 雷达)、前视摄像头、超声波传感器、激光雷达等组成,负责把物理世界转成原始信号;往上是融合层,把多传感器目标做时空对齐与关联,输出统一的环境模型(Object List、Free Space、车道线等);再往上是功能层,包括 AEB 自动紧急制动、ACC 自适应巡航、LKA 车道保持、APA 自动泊车等具体功能;然后是决策与执行层,把功能请求转成纵向加速度、横向转角、制动压力等执行指令;最上层是整车接口与 HMI 层,负责与 ESP、EPS、VCU 交互,并向驾驶员呈现状态与接管请求。

这五层之间不是简单的串联,而是存在大量反馈与监控关系。例如融合层会向功能层提供目标置信度,功能层会向执行层下发安全约束,执行层又会把实际执行结果回传给功能层做闭环校验。理解这种"分层 + 反馈"的结构,是理解故障注入为什么必须分层设计的前提。

二、FuSa 与 SOTIF:两类不同的安全命题

ISO 26262 定义的功能安全(FuSa),处理的是"由系统故障引起的危害"。它的核心逻辑是:先通过 HARA 确定 ASIL 等级,再为每个安全目标设计安全机制,最后用故障注入、FMEA、FMEDA 等手段验证安全机制是否有效。典型例子是雷达信号丢失、CAN 报文超时、MCU 计算错误——这些都属于"系统坏了"。

ISO 21448 定义的预期功能安全(SOTIF),处理的是"系统没坏,但性能不足或场景理解错误引起的危害"。典型例子是摄像头在逆光下把白色货车误判为天空、雷达把井盖回波当成静止车辆、融合算法在隧道出口误触发 AEB。这类问题不是故障,而是性能边界问题。

两者的工程手段也不同:FuSa 靠冗余、监控、安全状态切换;SOTIF 靠场景覆盖、性能验证、触发条件分析。但在真实项目中,二者往往交织在一起——一个传感器性能下降,既可能触发 SOTIF 风险,也可能被诊断模块判定为故障而进入 FuSa 路径。因此,故障注入必须同时覆盖"故障型"和"性能边界型"两类输入。

关键区分:FuSa 问的是"系统坏了会怎样",SOTIF 问的是"系统没坏但看不懂会怎样"。故障注入是验证这两类问题最直接的手段。

三、故障注入与降级策略的工程定位

如果把 ADAS 安全开发比作一条链,那么故障注入是"验证手段",降级策略是"设计输出",二者通过安全目标连接起来。具体来说:

  • 故障注入:在感知、融合、功能、执行各层人为引入故障(信号丢失、数值偏移、延迟、卡滞、误报),观察系统是否按预期进入安全状态。
  • 降级策略:当系统检测到故障或性能不足时,如何从"全功能"逐级退到"部分功能"再到"安全停车/请求接管"的决策逻辑。
  • 安全目标:由 HARA 导出,规定每个危害事件必须被控制在什么程度,是注入用例和降级路径的共同验收标准。

三者关系可以用一句话概括:安全目标定义"要防什么",故障注入验证"防得住吗",降级策略回答"防不住时怎么办"。

四、本节核心关系图

下图把 Bosch ADAS 的五层架构、FuSa/SOTIF 两类安全命题、以及故障注入与降级策略的工程位置放在同一张关系图中。图中左侧是系统分层,右侧是安全属性,中间用箭头标出故障注入的作用点和降级策略的响应路径。

Bosch ADAS 安全全景:架构 · 安全属性 · 注入与降级 系统分层架构 HMI / 整车接口层 状态显示 · 接管请求 · ESP/EPS 交互 决策与执行层 纵向加速度 · 横向转角 · 制动压力 功能层 AEB · ACC · LKA · APA 融合层 目标关联 · 环境模型 · 置信度 感知层 雷达 · 摄像头 · 超声波 · 激光雷达 安全属性与工程手段 功能安全 FuSa(ISO 26262) 对象:系统故障引起的危害 手段:冗余 · 监控 · 安全状态切换 预期功能安全 SOTIF(ISO 21448) 对象:性能不足/场景误判引起的危害 手段:场景覆盖 · 性能验证 · 触发分析 故障注入(验证手段) 信号丢失 · 数值偏移 · 延迟 · 卡滞 · 误报 作用点:感知/融合/功能/执行各层 降级策略(设计输出) 全功能 → 部分功能 → 安全停车 → 请求驾驶员接管 安全目标(HARA 导出) 定义"要防什么" · 验收基准 故障注入作用点(贯穿各层) 降级响应路径(逐级退守) 安全目标定义"要防什么" → 故障注入验证"防得住吗" → 降级策略回答"防不住时怎么办" FuSa 管"坏了" · SOTIF 管"看不懂" · 二者共同约束 ADAS 的安全边界

五、从全景到工程:后续章节的落点

有了这张全景图,后续内容就有了明确的坐标。我们会在感知层做雷达目标丢失注入、在融合层做关联错误注入、在功能层做 AEB 误触发与漏触发注入、在执行层做指令延迟与卡滞注入;同时会针对每类注入设计对应的降级路径,并用安全目标作为验收依据。需要强调的是,故障注入不是"随便搞坏一个信号看系统反应",而是从安全目标反推注入点、从危害事件反推观测指标的系统性验证活动。

学习建议:在进入具体注入案例前,先记住三个问题——这个故障对应哪个安全目标?系统应该在多长时间内检测到?检测到之后应该退到哪一级?带着这三个问题看后续每一节的注入用例,理解会快很多。

本节建立了 Bosch ADAS 的分层架构认知,区分了 FuSa 与 SOTIF 两类安全命题,并明确了故障注入与降级策略在整条安全链中的位置。接下来,我们将从最底层的感知信号开始,逐步展开具体的注入方法与降级设计。