Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
SAE J2534-2-7-2022 是 SAE J2534 系列标准中针对 TP2.0 协议的 Pass-Thru 扩展功能推荐实践。本标准将原 J2534-2 文档中的 TP2.0 特性独立成册,以提升维护性和扩展性,同时与 API 版本 05.00(SAE J2534-1_0500)完全兼容。TP2.0 协议基于 ISO 15765-2,广泛应用于车辆诊断通信中。
标准涵盖了 API 函数定义、消息结构、错误处理、IOCTL 配置以及设备发现机制,为车辆诊断系统开发人员提供了统一的接口规范。
TP2.0 接口通过标准 OBD-II 连接器进行通信,必须使用正确的引脚组合。下表列出了关键引脚分配:
| 引脚号 | 信号 | 说明 |
|---|---|---|
| 6 | CAN_H | CAN 高电平(显性高) |
| 14 | CAN_L | CAN 低电平(显性低) |
| 4 | CGND | 底盘地 |
| 5 | SGND | 信号地 |
| 16 | VBAT | 电瓶电压 |
标准规定了最小接收和发送缓冲区大小,以确保通信可靠性。开发者应分配足够大的缓冲区,避免溢出。推荐的最小接收缓冲区为 4095 字节,最小发送缓冲区为 4095 字节(具体值请参见标准文档)。
TP2.0 定义了多种错误类型,包括设备未连接、接收缓冲区溢出、消息超时以及网络错误。标准的错误代码表如下:
| 错误代码 | 说明 |
|---|---|
| ERR_DEVICE_NOT_CONNECTED | 设备未连接 |
| ERR_RX_BUFFER_OVERFLOW | 接收缓冲区溢出 |
| ERR_TIMEOUT | 消息超时 |
| ERR_NETWORK_ERROR | 网络通信错误 |
标准定义了完整的 Win32 API 接口,包括以下核心函数:
消息结构采用统一的 PASSTHRU_MSG 定义,包含 ProtocolID、RxStatus、TxFlags、DataSize、ExtraDataIndex 等字段。开发者必须遵守协议特定的格式检查,例如设置正确的 CAN ID 和 DLC。
IOCTL 命令支持配置和查询,如 GET_CONFIG、SET_CONFIG、CLEAR_TX_QUEUE、CLEAR_RX_QUEUE、CLEAR_PERIODIC_MSGS、REQUEST_CONNECTION、TEARDOWN_CONNECTION 等。