3. CANoe工程与硬件配置
在DoIP诊断与刷写验证中,CANoe工程与硬件配置是整条验证链路的起点。如果接口卡、以太网通道、DoIP协议栈或IP地址规划中任意一环配置不当,后续的诊断请求、刷写流程都会在物理层或协议层被阻断。本节围绕“如何搭建一个可用的DoIP验证工程”展开,重点说明VN系列接口卡的选型与配置、以太网通道的建立、DoIP协议栈的启用,以及IP地址规划与链路连通性测试方法。
一、硬件选型:VN系列接口卡与以太网通道
Vector的VN系列接口卡是CANoe接入真实ECU或DoIP网关的物理桥梁。常见型号包括VN5610A、VN5620、VN5640等,其中VN5610A提供2路CAN/CAN FD和1路100/1000BASE-T1以太网,VN5620提供多路CAN与多路以太网,适合同时监控CAN与DoIP混合网络。选型时需关注三个关键参数:以太网端口数量与速率、是否支持100BASE-T1或1000BASE-T1车载以太网、以及是否支持硬件时间戳。对于DoIP诊断,通常至少需要一路标准RJ45以太网口连接DoIP网关,若ECU侧为车载以太网,则需选用支持T1的接口卡或搭配VN5610A的T1端口。
在CANoe中配置硬件时,打开Hardware → Network Hardware Configuration,在Driver列表中选择对应的VN设备。若使用VN5610A,需在Channel映射中将Ethernet 1分配给实际物理端口,并设置Link Speed为100 Mbps或1000 Mbps,与ECU侧保持一致。若链路两端速率不匹配,CANoe的Write Window会提示Link down,此时需检查线序、端口速率和双工模式。
二、以太网通道与DoIP协议栈配置
硬件识别成功后,需要在CANoe工程的Simulation Setup中添加以太网通道。右键Ethernet节点,选择Insert Ethernet Channel,将其绑定到VN5610A的Ethernet 1端口。随后在Configuration → Protocols中启用DoIP协议栈。CANoe的DoIP实现通常以DoIP.dll或DoIP Node形式提供,需在TCP/IP配置中指定本机IP地址、子网掩码和DoIP端口号。
DoIP协议栈的核心参数包括:UDP Port 13400用于车辆发现和公告,TCP Port 13400用于诊断路由激活与诊断数据交换。在CANoe的DoIP Configuration对话框中,需设置Tester Logical Address( tester逻辑地址,示例为0x0E80)和Target Logical Address(目标逻辑地址,示例为0x0E00)。逻辑地址必须与ECU诊断规范一致,否则路由激活请求会被网关拒绝,返回0x0004(路由激活拒绝)或0x0005(目标不可达)。
IP地址规划是DoIP链路能否连通的关键。建议将CANoe主机与DoIP网关置于同一子网,例如CANoe主机使用192.168.10.100/24,DoIP网关使用192.168.10.10/24。若网关需要默认网关,可设置为192.168.10.1。在Windows网络适配器中,需将VN接口卡对应的以太网适配器IP手动设置为上述地址,避免使用DHCP导致地址漂移。配置完成后,可在CANoe的Write Window中执行ping 192.168.10.10,若返回Reply from 192.168.10.10,说明物理层与IP层已连通。
三、链路连通性测试与常见问题
物理链路连通后,还需验证DoIP协议层的可达性。在CANoe中打开DoIP节点,发送Vehicle Identification Request(车辆识别请求,UDP广播),若网关在线,会返回Vehicle Announcement(车辆公告),其中包含VIN、逻辑地址和进一步通信所需的IP地址。若未收到公告,需检查:网关是否已上电并处于激活状态、UDP 13400端口是否被防火墙拦截、CANoe的DoIP协议栈是否已绑定到正确的以太网通道。
路由激活是诊断通信的前置条件。在CANoe中发送Routing Activation Request,源地址为0x0E80,目标地址为0x0E00,激活类型通常为0x00(默认)或0x01(WWH-OBD)。网关返回Routing Activation Response,若响应码为0x10(成功),则TCP连接建立完成,可开始发送诊断请求。若返回0x11(需要确认)或0x12(需要进一步激活),需根据网关规范补充激活步骤。
DoIP节点的Send按钮手动构造报文,也可通过CAPL脚本自动发送。建议先用Vehicle Identification Request确认网关在线,再执行路由激活,最后发送Diagnostic Message(如0x22 F1 90读取VIN)验证诊断通道。
ping通但DoIP无响应,优先检查Windows防火墙是否放行UDP/TCP 13400;若路由激活返回0x0004,检查Tester逻辑地址是否与网关配置匹配;若链路频繁Link down,检查网线是否为屏蔽双绞线、接口卡速率是否与网关一致。
四、配置检查清单
| 检查项 | 示例值 | 判断依据 |
|---|---|---|
| VN接口卡识别 | VN5610A Channel 1 | Hardware配置中显示设备在线 |
| 以太网链路速率 | 100 Mbps 全双工 | Write Window无Link down |
| CANoe主机IP | 192.168.10.100/24 | ipconfig显示正确 |
| DoIP端口 | UDP/TCP 13400 | 防火墙已放行 |
| 逻辑地址 | Tester 0x0E80 / Target 0x0E00 | 路由激活返回0x10 |
| 车辆公告 | VIN、逻辑地址、IP | 收到Vehicle Announcement |