1. 课程导入与工程环境搭建

车载以太网已经从高端车型的“选配总线”演变为域控制器、中央计算平台和智能座舱的骨干网络。与传统CAN相比,它带来100BASE-T1/1000BASE-T1单对双绞线、全双工交换、IP化通信和SOME/IP、DoIP、TSN等一整套协议栈,同时也把测试与诊断的复杂度提升了一个量级:链路层要验证物理信号质量,网络层要验证交换机转发与VLAN隔离,应用层要验证SOME/IP服务发现与序列化,诊断层还要验证DoIP网关路由与UDS会话。CANoe配合以太网选件和VN5640系列接口,正是把这些层次放进同一个工程里统一观测、统一激励、统一判定的工具链。

一、工程目标:把“看不见的以太网”变成可观测对象

本课程要建立的工程目标可以概括为三件事。第一是可观测:把车载以太网链路上的原始帧、SOME/IP报文、DoIP报文、UDS诊断请求与响应,按时间戳统一记录到Trace窗口,并能按VLAN、IP、端口、服务ID过滤。第二是可激励:通过CAPL或Panel向被测ECU发送仿真报文、服务调用和诊断请求,模拟缺失节点或网关行为。第三是可判定:用Test Module或Test Case把“期望值”写成自动断言,例如“上电后3秒内收到SOME/IP OfferService”“诊断会话切换响应码为0x50”,让测试结果可重复、可回归。

这三件事决定了环境搭建不是“装个软件”,而是要让硬件接口、驱动、通道映射、协议栈配置和被测件供电形成一个闭环。下面这张图给出了从PC到被测ECU的完整信号链与配置关系,后续所有章节的测试都建立在这条链路上。

车载以太网测试与诊断工程链路(PC → VN5640 → DUT) PC 工作站 CANoe + Ethernet Option SOME/IP / DoIP / TSN 选件 CAPL 节点 / Test Module Trace / Panel / 日志 USB 3.0 或千兆以太网连接 VN5640 接口硬件 4× 100/1000BASE-T1 通道 主/从模式可配 · 支持唤醒 硬件时间戳 · 帧同步输出 数字 I/O 触发与记录 通道映射到 CANoe Network 被测 ECU / 网关 100BASE-T1 PHY SOME/IP 服务端 / 客户端 DoIP 实体 · UDS 诊断栈 VLAN / 交换机端口 KL30 / KL15 供电 USB/ETH T1 双绞线 工程配置四层映射关系 ① 硬件层 VN5640 通道 主从模式 / 波特率 驱动与固件版本 ② 通道层 Network 命名 VLAN ID / 优先级 IP 地址与子网 ③ 协议层 SOME/IP 服务表 DoIP 逻辑地址 UDS 诊断描述 ④ 测试层 CAPL 仿真节点 Test Case 断言 Trace / 报告输出

二、软件安装:选件决定能力边界

安装CANoe时,安装器会列出可选组件。对车载以太网测试与诊断而言,以下选件必须勾选,否则后续章节的工程无法打开或功能缺失:

  • CANoe .Ethernet:以太网基础支持,提供以太网通道、帧收发、VLAN与统计功能。
  • Ethernet Option .SOME/IP:SOME/IP 服务发现、方法调用、事件订阅的解析与仿真。
  • Ethernet Option .DoIP:DoIP 报文解析、诊断连接管理、路由激活。
  • CANoe .Diagnostics:UDS/OBD 诊断描述(CDD/ODX)导入与诊断控制台。
  • CANoe .Test Feature Set:Test Module、Test Case、断言与报告生成。

安装完成后,用 Help → About CANoe 确认版本与已授权选件。若使用 Vector 硬件,还需安装 Vector Driver Setup,它负责把 VN5640 注册为系统设备。安装后可在设备管理器中看到 Vector VN5640 条目,若出现黄色感叹号,通常是驱动版本与硬件固件不匹配,需要用 Vector Hardware Configurator 更新固件。

建议把 CANoe 版本、选件版本、VN5640 固件版本记录在工程 README 中。车载以太网协议栈更新频繁,版本不一致会导致 SOME/IP 解析字段缺失或 DoIP 路由行为差异。

三、硬件连接与通道配置

VN5640 提供4路100/1000BASE-T1通道,每路可独立配置为主模式(Master)或从模式(Slave)。车载以太网链路中,交换机端口通常配置为主模式,ECU 侧为从模式;若把 VN5640 串入链路做监听,需要根据被测拓扑决定主从。配置步骤如下:

  1. 用 USB 3.0 线连接 VN5640 与 PC,接通 VN5640 电源,观察状态灯由红转绿。
  2. 打开 Vector Hardware Configurator,在 VN5640 → Ethernet 下为每个通道设置 Master 或 Slave,并设置链路速率(100 Mbit/s 或 1000 Mbit/s)。
  3. 用 100BASE-T1 双绞线把 VN5640 通道1连接到被测 ECU 的以太网口,注意 T1 线序与普通以太网不同,不能混用 RJ45 网线。
  4. 给被测 ECU 提供 KL30 常电与 KL15 点火信号,确认 ECU 上电后 PHY 链路建立(VN5640 对应通道 Link 灯常亮)。

在 CANoe 中新建工程后,进入 Simulation Setup,右键 Networks 添加以太网网络,命名为 ETH_DUT,并把 VN5640 的通道1映射到该网络。随后在 Network Hardware Configuration 中确认通道、主从模式、速率与硬件配置器一致。此时点击 CANoe 的闪电图标启动测量,Trace 窗口应能看到链路层帧;若没有任何帧,优先检查主从模式是否与 ECU 匹配、T1 线是否插紧、ECU 是否已上电。

四、第一个可运行工程:从空工程到能收到报文

不要一开始就导入完整的 SOME/IP 数据库。建议按“先通链路、再通协议、最后加断言”的顺序搭建。第一步只验证物理链路与帧收发:新建一个空配置,添加以太网通道,启动测量,在 Trace 中观察是否有 ARP、ICMP 或 SOME/IP 服务发现报文。若 DUT 上电后会主动发送 SOME/IP OfferService,Trace 中应出现 UDP 目的端口 30490 的报文,这是链路已通的直接证据。

第二步配置 IP 与 VLAN。假设示例工程中 DUT 的 IP 为 192.168.10.20/24,VLAN ID 为 100,则需要在 CANoe 的以太网网络配置中为本地协议栈设置同网段地址 192.168.10.10/24,并在发送帧时打上 VLAN 100 标签。若 VLAN 不匹配,交换机会直接丢弃帧,Trace 中只能看到本机发送、看不到 DUT 响应,这是排障时最常见的现象之一。

第三步加入一个最小 CAPL 节点,周期性发送 ICMP Echo Request 或 SOME/IP 服务发现报文,验证双向通信。下面是一段可直接放入 CAPL 节点的示例,用于每 1000 ms 发送一次 SOME/IP 服务发现报文:

variables
{
  msTimer tSend;
  byte sddPayload[20] = {0x01,0x01,0x02,0x01,0x00,0x00,0x00,0x00,
                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                         0x00,0x00,0x00,0x00};
}

on start
{
  setTimer(tSend, 1000);
}

on timer tSend
{
  ethernetPacket pkt;
  pkt.udp.source      = 30490;
  pkt.udp.destination = 30490;
  pkt.ipv4.source     = ipGetAddress("ETH_DUT");
  pkt.ipv4.destination= "224.244.224.245";
  pkt.udp.dataLength  = elcount(sddPayload);
  pkt.udp.data        = sddPayload;
  output(pkt);
  setTimer(tSend, 1000);
}

启动测量后,若 Trace 中能看到本机发出的 UDP 30490 报文,并且 DUT 返回 OfferService 或 SubscribeEventgroupAck,说明链路、IP、VLAN、SOME/IP 端口四层都已打通。此时把该工程保存为 ETH_Diag_Base.cfg,作为后续章节的基线工程。

示例中的 IP、VLAN、端口和报文内容均为教学假设,实际工程必须按 DUT 的通信矩阵填写。直接套用示例参数会导致 VLAN 不匹配或服务发现失败。

五、环境自检清单

检查项期望结果不通过时的排查方向
CANoe 选件授权About 中显示 Ethernet、SOME/IP、DoIP、Diagnostics、Test重新运行安装器勾选选件,或检查 License
VN5640 驱动设备管理器无感叹号,Hardware Configurator 可识别重装 Vector Driver Setup,更新固件
主从模式与 DUT 侧相反,Link 灯常亮交换主从设置,检查 T1 线序
VLAN 与 IPTrace 中可见 DUT 响应帧核对 VLAN ID、IP 网段、子网掩码
SOME/IP 端口UDP 30490 有 OfferService检查服务发现配置与 DUT 上电时序
供电与唤醒KL30/KL15 正常,ECU 进入工作状态测量电压,检查唤醒信号