1. 课程导入与功能安全全景
自动驾驶系统把摄像头、毫米波雷达、激光雷达、超声波传感器和高精地图的数据汇聚到车载计算平台,再由感知、预测、规划、控制等软件链路输出转向、制动和驱动指令。NVIDIA DRIVE 正是承担这一核心计算角色的平台:底层是车规级 SoC(如 Orin、Thor 系列)与安全岛(Safety Island)MCU,中间是 DriveOS、CUDA、TensorRT 等运行时与加速库,上层是 DriveWorks 等感知与融合中间件,最终承载 OEM/Tier1 的自动驾驶应用。它既是算力平台,也是安全相关电子电气系统中的一个关键 E/E 组件。
问题在于:算力再强,也不能保证“不出错”。芯片可能发生位翻转,内存可能被宇宙射线扰动,软件可能有边界条件缺陷,传感器可能被强光或雨雾致盲。功能安全(Functional Safety)要回答的正是:当这些随机硬件失效和系统性失效发生时,系统能否把风险控制在可接受范围内。其国际通用标准是 ISO 26262(道路车辆功能安全),它并不追求“零失效”,而是通过危害分析、安全目标、安全机制和验证证据,把残余风险降到合理水平。
ISO 26262 的核心逻辑:从危害到安全目标
ISO 26262 的起点是“相关项定义”(Item Definition),即明确被分析对象的边界、功能、接口和运行环境。对 NVIDIA DRIVE 而言,相关项可能是“自动驾驶域控制器”,也可能是“基于 DRIVE 的 L2+ 高速公路辅助功能”。边界一旦确定,就进入危害分析与风险评估(HARA):识别功能失效带来的危害事件,再按严重度(S)、暴露率(E)和可控性(C)三个维度打分,查表得出汽车安全完整性等级 ASIL。
ASIL 分为 A、B、C、D 四个等级,D 最高,QM 表示仅需常规质量管理。举例说明(以下为教学示例,非实测数据):若“高速巡航中误将前方静止车辆识别为可通行”可能导致高速追尾,严重度 S3、暴露率 E4、可控性 C3,查表可得 ASIL D;而“低速泊车时超声波提示音失效”可能仅为 S1/E3/C2,对应 ASIL A 或 QM。ASIL 等级直接决定后续开发中要采用多严格的安全机制、多高的诊断覆盖率、多完整的验证证据。
由危害事件反推,就得到安全目标(Safety Goal),例如“应避免因错误加速指令导致非预期车辆加速”。安全目标再分解为功能安全概念(FSC)和技术安全概念(TSC),落到具体架构上:是采用双核锁步(Lockstep)、ECC 内存保护、看门狗、还是冗余通道比较。NVIDIA DRIVE 的安全架构正是围绕这些机制构建的,例如 Orin 内部的安全岛负责监控主 SoC 的运行状态,一旦发现异常可接管或触发安全停车。
安全生命周期:贯穿概念到报废
功能安全不是一次性认证,而是贯穿产品全生命周期的活动集合。ISO 26262 将其划分为概念阶段、产品开发(系统、硬件、软件)、生产运行、以及支持过程(如变更管理、配置管理、验证确认)。概念阶段输出安全目标与安全概念;开发阶段把安全需求逐层分配到硬件和软件,并同步设计安全机制;验证阶段通过测试、分析和评审证明安全需求被满足;运行阶段则要监控现场失效、执行安全分析并处理变更。
对 NVIDIA DRIVE 开发者来说,这意味着不能只写“能跑通”的代码。软件层面要遵循 ISO 26262-6 的软件架构设计原则,如强内聚弱耦合、避免复杂控制流、防御性编程、运行时错误检测;硬件层面要关注 ISO 26262-5 的硬件架构度量,如单点故障度量(SPFM)和潜伏故障度量(LFM)。例如 ASIL D 目标通常要求 SPFM ≥ 99%、LFM ≥ 90%,这些指标需要通过 FMEDA(失效模式、影响及其诊断分析)逐条计算。
本课程的知识地图
本课程围绕 NVIDIA DRIVE 平台,把功能安全开发与验证拆成一条可执行的工程主线:先建立安全文化与标准框架,再进入 HARA 与安全目标定义;随后分别展开系统、硬件、软件层面的安全设计与安全机制实现;再进入验证环节,包括安全需求测试、故障注入、FMEDA 计算、诊断覆盖率评估;最后覆盖生产运行、安全案例(Safety Case)构建与审核准备。每一章都会尽量落到 DRIVE 平台上的真实对象、接口、参数和判断依据,而不是停留在概念复述。
下面这张图给出本课程的整体知识结构:左侧是 ISO 26262 的标准骨架,中间是 NVIDIA DRIVE 平台的分层架构,右侧是开发与验证活动如何对应到各层。它帮助你在后续章节中始终知道“当前在做什么、为什么做、证据落在哪一层”。
理解这张结构图后,后续每一章都可以定位到三个问题:这一章对应 ISO 26262 的哪个阶段?它作用在 DRIVE 平台的哪一层?它产出什么可验证的证据?带着这三个问题进入第 2 章,功能安全就不再是抽象条款,而是一条可以逐层落地、逐项验证的工程路径。