基于CANoe简析车载以太网诊断测试流程及测试数据

背景

 

 

随着汽车电子电气架构向集中式、区域化方向发展,以太网在车载网络中的应用日益广泛。相比传统的CAN、LIN等总线,车载以太网具有高带宽、低延迟、支持复杂协议栈等优势,广泛应用于DoIP诊断、OTA升级、域控制器间通信等场景。CANoe作为Vector公司主流的网络仿真与测试工具,支持对车载以太网进行完整的协议分析、报文捕获与日志解读。本文档旨在帮助测试工程师理解CANoe中以太网诊断测试日志的关键流程,包括物理连接建立、DHCP动态IP分配、DoIP车辆声明、TCP连接管理、路由激活、诊断报文交互等典型交互过程,从而提升以太网诊断测试的效率和问题定位能力。

 

 

一.物理网络连接建立

 

 

硬件环境及CANoe工程配置完成后,运行CANoe工程后,Trace中会显示物理以太网是否成功建立连接。

 

报文示例:

 

 


 


  1. 图中报文①:以太网连接建立成功显示“Link up”。
  2. 图中报文②:以太网未建立成功显示“Link down”。

 

 

二.DHCP报文交互-动态分配IP地址

 

 

1.DHCP报文交互过程

 

DHCP(动态主机配置协议)是一个局域网的网络协议,DHCP报文存在于需要自动分配IP地址的DUT。

 

报文示例:

 


2.主要过程简析:

 


  1. 图中报文①:DHCP Client以广播的方式发出DHCP Discover报文。
  2. 图中报文②:DHCP Server向DHCP Client发送一个DHCP Offer报文。
  3. 图中报文③:DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
  4. 图中报文④:DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文。

 

 

三.DoIP车辆声明报文

 

 

1.车辆声明报文

 

DUT上电后或DUT IP地址分配完成后,DUT发送车辆声明响应报文(车辆声明响应报文数量不尽相同),报文中可查看DUT的VIN,逻辑地址等基本信息。

 

报文示例:


 


2.车辆声明报文简析:

 

主要包含以下字段,示例值如下:

 

图中报文①:

 

  • Protocol Version:指明DoIP协议版本
  • 0x01: DoIP ISO/DIS 13400-2:2010
  • 0x02: DoIP ISO 13400-2:2012
  • 0xFF:默认值
  • Inverse Protocol Version:DoIP协议版本取反值
  • Payload Type:载荷类型
  • Payload Length:载荷长度

 

 

四.TCP三次握手-测试设备打开套接字建立连接

 

 

1.TCP三次握手

TCP提供面向有连接的通信传输。面向有连接是指在传输数据之前必须先建立连接,数据传输完成后要释放连接。所谓三次握手是指建立一个TCP连接时,需要客户端和服务器总共发送三个交互报文。

报文示例:

 


 


  1. 图中报文①:第一次握手:客户端发送SYN=1报文
  2. 图中报文②:第二次握手:服务器端发送SYN=1,ACK=1报文
  3. 图中报文③:第三次握手:客户端发送ACK=1报文

 

 

五.DoIP路由激活

 

 

1.DoIP路由激活

 

DoIP路由激活指测试设备发送路由激活请求使车辆注册套接字。

 

报文示例:

 


 

2.DoIP路由激活报文简析:

 

  1. 图中报文①:为路由激活请求报文(净荷类型0x0005)
  2. 图中报文②:为路由激活响应报文(净荷类型0x0006)

 

 

六.诊断报文交互

 

 

1.诊断报文交互

 

测试设备与车辆诊断数据交互。

 

报文示例:

 


2.诊断报文简析:

 

诊断报文分为:

 

  1. 图中报文①:Tester向DUT发送的UDS请求数据和DUT向Tester发送的UDS应答数据均由0x8001报文传输。
  2. 图中报文②:当诊断设备发送的诊断报文通过诊断报文处理流程后,DoIP节点向诊断设备发送诊断报文0x8002肯定应答,指示该诊断报文被正确接收;如果DoIP节点发送诊断报文0x8003否定应答,指示该诊断报文未被正确接收。

 

 

七.TCP四次挥手-关闭套接字

 

 

1.TCP四次挥手

 

四次挥手即终止TCP连接,就是断开一个TCP连接时,需要客户端和服务器端总共发送四个包来确认连接的断开。

 

报文示例:

 


  1. 2.主要过程简析:

挥手请求可以是客户端,也可以是服务器端发起的,我们假设是客户端发起

  1. 图中报文①:第一次挥手:客户端发起挥手请求,发送FIN报文 
  2. 图中报文②:第二次挥手:服务器端ACK=1的报文
  3. 图中报文③:第三次挥手:服务器端发送FIN报文,请求关闭连接
  4. 图中报文④:第四次挥手:客户端发送ACK=1的报文

 

 

八.TCP连接断开及重建连接

 

 

1.TCP连接断开及重建连接

 

如11服务之后,DUT与测试设备断开TCP连接后,重新建立TCP连接并且路由激活。

 

报文示例:

 

 


  1. 2.报文简析:
  2. 图中报文①:为DUT响应了11服务
  3. 图中报文②:为DUT与测试设备断开TCP连接
  4. 图中报文③:为测试设备与DUT重新建立TCP连接
  5. 图中报文④:为重新进行路由激活

 

 

总结

 

 

本文档介绍了基于CANoe的车载以太网诊断测试日志中的关键交互流程,掌握这些日志解读方法,不仅有助于提升车载以太网诊断测试的效率,也为后续自动化测试脚本开发、问题复现与回归验证提供了坚实基础。

 

北汇信息作为一家专注于汽车电子测试领域的企业,在车载网络测试方面积累了丰富经验。我们可提供专业的培训、技术咨询及完整的测试解决方案,协助汽车制造商与零部件供应商确保车载网络系统的可靠性及安全性。如您需要具体的测试服务或希望了解更多信息,欢迎随时联系我们。

 

参考文献:

【1】ISO13400-2标准文档

【2】部分图片来自Vector

posted @ 2026-07-30 10:19  北汇信息  阅读(10)  评论(0)    收藏  举报