1. 课程导入与全景认知

在智能汽车电子电气架构从分布式 ECU 向中央计算 + 区域控制演进的过程中,Qualcomm Snapdragon 系列域控制器(常见形态如基于 SA8540P/SA8620P 的舱驾一体域控、基于 SA8295P 的智能座舱域控、以及基于 Snapdragon Ride 平台的智驾域控)已经成为整车计算平台的核心节点。与传统的单功能 ECU 相比,这类域控的典型形态可以概括为:一颗高算力 SoC 承载多操作系统(QNX、Android、Linux 等)与多安全等级业务,通过高速以太网、PCIe、CSI、CAN 等接口与传感器、执行器、区域控制器互联,并在整车上以“计算集中、接口分散”的方式部署。理解这一形态,是后续所有 HIL 与系统验证工作的起点。

一、Snapdragon 域控的典型形态与验证对象

从验证视角看,一个 Snapdragon 域控并不是“一块板子”,而是一个由多层对象构成的系统。最内层是 SoC 内部的 CPU 簇、GPU、NPU、ISP、DSP 以及安全岛(Safety Island);向外是 SoC 与 PMIC、DDR、UFS、以太网 PHY、SerDes 等外围器件构成的硬件子系统;再向外是运行在 SoC 上的 Hypervisor、各 Guest OS、中间件(如 SOME/IP、DDS、SOME-IP over Ethernet)与上层应用;最外层则是域控与整车其他节点之间的通信与供电接口。HIL 与系统验证的对象,正是这些层次之间的接口、时序、状态与故障行为,而不是单纯验证某个应用功能是否“能跑起来”。

以典型的舱驾一体域控为例,其对外接口通常包括:多路 GMSL/CSI 摄像头输入、千兆/万兆车载以太网、CAN/CAN FD、LIN、以及用于唤醒与电源管理的硬线信号。这些接口在 HIL 台架上需要被真实或半实物地模拟,才能让域控“以为自己在车上”。因此,HIL 系统的本质是用实时仿真设备替代真实车辆环境,让域控在接近真实的电气、通信与传感器激励下运行。

Snapdragon 域控 HIL 与系统验证全景 域控制器(DUT)内部层次 SoC 计算核心 CPU / GPU / NPU / ISP / DSP Safety Island 安全岛 硬件子系统 PMIC / DDR / UFS / PHY SerDes / 以太网交换 软件栈 Hypervisor / QNX / Android / Linux SOME/IP / DDS / 中间件 上层应用与算法 对外接口 GMSL/CSI 摄像头 · 车载以太网 CAN/CAN FD · LIN · 硬线 IO 电源与唤醒信号 HIL 实时仿真台架 实时仿真机 车辆动力学 / 传感器模型 故障注入 / 信号调理 IO 与通信板卡 CAN / 以太网 / 视频注入 数字 IO / 模拟 IO 测试自动化 用例调度 / 激励序列 数据采集与判定 电源管理 可编程电源 / 上下电时序 电压跌落与复位 被测信号观测点 总线报文 / 视频流 / 日志 真实车辆 / 系统环境 传感器与执行器 摄像头 / 雷达 / 超声波 / 电机 整车网络 区域控制器 / 网关 / 其他域控 供电与接地 12V/48V 电源 · 整车地 整车级场景 上下电 / 唤醒 / 休眠 / 诊断 系统验证关注点 跨域协同 · 时序一致性 故障降级 · 安全机制 验证对象:接口 · 时序 · 状态 · 故障 替代真实环境,注入激励与故障 最终目标:整车级行为可信

二、HIL 与系统验证的目标边界

很多团队在项目初期容易把 HIL 验证和系统验证混为一谈,导致测试资源重复投入或覆盖盲区。两者的目标边界可以用一句话区分:HIL 验证回答“域控在电气与通信层面是否正确响应”,系统验证回答“整车功能在跨域协同下是否达成设计意图”。

HIL 验证的核心是实时性、确定性与可重复性。它关注的是:域控在给定激励下,其输出报文、IO 电平、视频流、诊断响应是否满足规范;在电源跌落、总线丢帧、传感器信号异常等故障注入下,域控是否进入预期的降级或安全状态。HIL 台架通常运行在 1 ms 甚至更小的仿真步长下,要求 IO 延迟、总线延迟和模型计算延迟都在可接受范围内。因此,HIL 验证的边界是域控本身及其直接接口,不追求整车所有节点的完整复现。

系统验证则站在整车视角,关注跨域控、跨网络、跨操作系统的功能链路。例如“驾驶员踩下制动踏板 → 智驾域控计算减速度 → 底盘域控执行 → 座舱域控显示状态”这条链路,涉及多个域控、多条总线、多种操作系统,HIL 台架无法单独覆盖。系统验证通常在整车台架、实车或“HIL 集群 + 整车网络仿真”的混合环境中进行,其边界是整车功能与场景,而不是单个域控的接口细节。

边界判断的实用原则:如果一个问题可以通过“给域控施加激励、观察域控输出”来定位,它属于 HIL 验证;如果必须同时观察两个以上域控或整车状态才能判断,它属于系统验证。两者不是替代关系,而是逐层收敛的关系:HIL 先把域控自身的问题收敛掉,系统验证再聚焦跨域协同问题。

三、交付物与团队协作接口

HIL 与系统验证的交付物不是“测试报告”四个字可以概括的。从工程实践看,一个完整的验证交付链通常包括以下内容,它们分别对应不同的团队接口:

  • 验证需求与覆盖矩阵:由系统工程师与验证工程师共同维护,把整车需求分解为可测试的验证项,并标注每条需求对应的 HIL 用例或系统用例。这是验证团队与需求团队的接口。
  • HIL 台架配置与模型:包括实时仿真模型、IO 板卡配置、总线数据库(DBC/ARXML)、视频注入配置等。这是验证团队与台架集成团队的接口。
  • 测试用例与自动化脚本:用例需要明确前置条件、激励序列、观测点、判定准则和故障注入方式。这是验证团队与软件开发团队的接口,因为用例中的信号定义、诊断服务、状态机行为必须与软件实现一致。
  • 测试执行记录与缺陷单:记录每次执行的软件版本、台架配置、用例结果、原始数据与日志。缺陷单需要包含复现步骤、期望行为、实际行为和影响范围。这是验证团队与缺陷管理流程的接口。
  • 验证报告与放行建议:汇总覆盖率、通过率、未关闭缺陷、风险项,给出是否允许进入下一阶段的建议。这是验证团队与项目管理和质量团队的接口。

在这些交付物背后,团队协作接口的清晰程度直接决定验证效率。一个常见的协作断点是:验证工程师发现域控在某个故障注入下没有按预期降级,但软件开发团队认为“这个故障不在设计范围内”。如果验证需求与覆盖矩阵中没有提前明确故障场景的边界和预期行为,这类争议就会反复出现。因此,验证工程师必须在项目早期参与需求评审,把“可验证性”作为需求质量的一部分,而不是等到台架搭好才开始读需求。

四、从课程视角建立全景认知

本课程后续章节将沿着“域控形态 → HIL 台架搭建 → 测试用例设计 → 系统验证方法 → 典型问题排查”的主线展开。在学习过程中,建议始终带着三个问题:当前验证对象处于哪一层?它的输入和输出分别是什么?判定准则来自哪条需求或哪个规范?这三个问题能够帮助你在面对复杂域控时,快速定位验证的切入点和边界,避免陷入“什么都想测、什么都测不深”的困境。

需要特别强调的是,Snapdragon 域控的 HIL 与系统验证不是单纯的测试执行工作,而是贯穿需求、设计、集成、测试、放行的系统工程活动。验证工程师需要同时理解 SoC 的启动与电源时序、Hypervisor 的资源分配、车载网络的通信协议、以及整车功能的安全机制。只有建立这种全景认知,才能在台架上设计出真正有价值的测试用例,而不是机械地执行脚本。