Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
SAE J2534-2/13_0500(2022年1月发布)是直通(Pass-Thru)编程接口系列标准的以太网扩展部分。该标准在现有 SAE J2534-1_0500(API 版本 05.00)的基础上,增加了对基于IP的车辆诊断(DoIP,ISO 13400)的支持。它定义了如何在直通设备中实现以太网协议栈、管理连接以及扩展 WIN32 API 接口,从而使得上位机应用能够通过标准的 Pass-Thru 接口与支持 DoIP 的 ECU 进行通信。
该标准的使用必须结合 SAE J2534-2/BA_0500 和 SAE J2534-2/RE_0500 文件,并且要求设备实现本规范中所有必需的功能才能声称符合“以太网特性”。
本标准规定了直通接口在以太网模式下必须遵循的协议要求、引脚分配、错误处理机制以及 API 函数的修改。下表展示了主要的 IOCTL 命令,这些命令用于配置以太网参数、设置或获取 MAC 地址以及管理线路激活。
| IOCTL 命令 | 功能描述 | 是否可选 |
|---|---|---|
| GET_CONFIG / SET_CONFIG | 获取或设置以太网配置参数(如 TCP/UDP 端口、连接超时等) | 必需 |
| SET_MAC_ADDRESS | 为直通设备设置 MAC 地址 | 可选 |
| GET_MAC_ADDRESS | 获取直通设备当前 MAC 地址 | 可选 |
| ETH_ACTIVATION_PULLUP | 控制以太网激活拉线(用于如 DoIP 激活线管理) | 必需 |
设计提示: 标准采用了 OSI 七层模型构建以太网协议栈,并支持同时与多个协议进行通信(如同时处理 CAN 和以太网会话)。IOCTL 命令为每个以太网会话提供了精细的控制能力,开发者应注意仅在设备处于空闲状态时调用 SET_CONFIG 以避免通信中断。
在错误处理方面,标准定义了专门的网络错误码(见表4),包括设备未连接、网络超时、套接字错误等。应用程序在调用 PassThruReadMsgs 或 PassThruWriteMsgs 时应检查返回状态以区分这些错误。
为了实现灵活的设备集成,标准增加了三种发现机制:GET_DEVICE_INFO、GET_PROTOCOL_INFO 和 GET_RESOURCE_INFO。这些 IOCTL 允许上位机查询直通设备支持的协议集、硬件资源以及固件版本,从而避免硬编码带来的兼容性问题。
设计洞察: 发现机制是本标准的亮点之一。通过调用 GET_DEVICE_INFO,工具软件可以获取设备的供应商信息、硬件版本等。GET_PROTOCOL_INFO 则返回指定协议的详细能力(如是否支持 ISO 15765-2 等)。这极大简化了多设备、多协议环境下的适配工作,也是实现即插即用的关键。
常见工程错误: