Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The automotive industry’s shift toward advanced diagnostics and ECU programming demands robust, high-bandwidth communication. SAE J2534-2/11_0500 (JAN2022) addresses this need by extending the Pass-Thru vehicle interface standard to support CAN with Flexible Data Rate (CAN FD). This recommended practice is part of the J2534 family and updates the API from version 04.04 to 05.00, enabling faster data transfer and backward compatibility for modern vehicles.
The standard’s rationale emphasizes modularity: each extended feature from the original J2534-2 document is now published as a separate document for easier maintenance and extensibility. For CAN FD, this means clearer definitions for message structures, API functions, and IOCTL commands. The update also incorporates field feedback and aligns with SAE J2534-1_0500 (API version 05.00).
🛠️ API and Protocol Revisions: The document specifies required Win32 API functions for CAN FD, including updated PassThruConnect and PassThruIoctl commands. Key additions include new baud rate configurations for the data phase of CAN FD frames and expanded TxFlags and RxStatus bit definitions.
Implementing a J2534-2/11-compliant interface requires careful attention to hardware and software specifications. Below are critical design elements extracted from the standard.
The standard defines specific pin assignments for CAN FD on the diagnostic connector to ensure interoperability. Table 1 summarizes the required combinations.
| Protocol | Pin | Assignment |
|---|---|---|
| CAN FD (High-Speed) | 6 | CAN_H |
| 14 | CAN_L | |
| CAN FD (Medium Speed) | 1 | CAN_H (MSCAN) |
| 9 | CAN_L (MSCAN) |
Note: Always verify with the latest standard for full pinout details.
The standard specifies minimum buffer sizes to accommodate CAN FD’s larger payload (up to 64 bytes). For receive and transmit buffers, the requirements are:
Error handling includes specific network error codes for CAN FD, such as bus off, error passive, and receive buffer overflow. The RxStatus field provides real-time feedback on message integrity.
Key IOCTL commands include GET_CONFIG/SET_CONFIG, CLEAR_TX_QUEUE, CLEAR_RX_QUEUE, and BUS_ON. The PassThruIoctl function is used to configure CAN FD-specific parameters, such as the data phase bit rate and switching time.
The standard updates the existing PassThruConnect and PassThruIoctl functions. PassThruConnect now accepts new baud rate values and flags for CAN FD. PassThruIoctl handles device and protocol information queries, as well as configuration IOCTLs specific to CAN FD.
Use PassThruIoctl with SET_CONFIG and appropriate parameter IDs (e.g., CAN_FD_DATA_BAUD_RATE). The standard defines data rate values in Table 12, such as 1 Mbit/s, 2 Mbit/s, and 5 Mbit/s for the data phase.
As shown in Table 1, high-speed CAN FD typically uses pins 6 (CAN_H) and 14 (CAN_L) of the 16-pin OBD-II connector. Always refer to the standard for exact assignments per vehicle manufacturer.
The standard defines a discovery mechanism using GET_DEVICE_INFO, GET_PROTOCOL_INFO, and GET_RESOURCE_INFO IOCTLs. These allow software to query device capabilities and protocol-specific details, ensuring compatibility before communication.
SAE J2534-2/11_0500 provides a critical framework for integrating CAN FD into vehicle diagnostics. By following its specifications for API, pin usage, and error handling, engineers can build reliable Pass-Thru interfaces that meet the demands of modern automotive networks.