Introduction to SAE J2534 (2024)

Background

Vehicles become more and more complex and almost every function is controlled by an Electronic Control Unit (ECU). The ECUs are often connected onto a communication bus to be able to share data between each other. The most common protocol is CAN, but there are other protocols. There are many Vehicle manufactures and almost as many different communication protocols. Every vehicle manufacturer has a tool for analyzing and reprogramming their product, and this tool is often expensive. This makes it difficult for a car, bus or truck workshop to analyze and repair all kind of vehicles.

U.S. Environmental Protection Agency (EPA) and the California Air Resources Board (ARB) have been trying to get vehicle manufactures to support common emission-related services for the aftermarket. The Society of Automotive Engineers (SAE) created the J2534 standard, in 2002, to promote the EPA and ARB in their work.

Hardware Requirements

The J2534 hardware works like a gateway between the vehicle ECU and the PC. This pass-thru device translates messages sent from the PC into messages of the protocol being used in the vehicle ECU. J2534 supports the following protocols:

The connection between the PC and the J2534 hardware can freely chosen by the manufacturer of the device i.e. RS-232, USB or maybe a wireless interface. The vehicle manufacturers programming application is not dependant on the hardware connection. Therefore any device can be used for programming any vehicle regardless of the manufacturer.

The connection between the J2534 hardware and the vehicle should be the SAE J1962 connector (Fig 2), also called the OBDII connector. The maximum length of the cable between the J2534 device and the vehicle is 5 meters. If the vehicle manufacturer doesn’t use the J1962 connector, necessary information for connection has to be provided.

Figure 2. J1962-male connector (to the left) and J1962-female connector (to the right).

The J2534 hardware interface should be able to provide a supply voltage between 5 and 20 volts to the J1962 connector. The power supply should use one of the pins 6, 9, 11, 12, 13 or 14 of the connector and this choice should be selectable in the software. The maximum source current is 200mA and the settling time should be within 1ms.

The J2534 hardware interface should have enough memory to buffer 4Kb of transmit messages and 4Kb of received messages. And the processor must naturally be fast enough to process all messages so that no messages are lost.

Software Requirements

Programming of an emission related ECU using J2534 is done from a PC, preferably a laptop computer, with a Win32 operating system (Windows 95 or later).

Each vehicle manufacturer will have an own API software used for analyzing and programming of their vehicles. If their vehicles only use i.e. ISO 9141, no other protocols have to be supported by the application. It is important that this application conform to the functions in the J2534 API.

This application will have complete information of the ECUs that are supported by the application. This application also includes a user interface where choices can be made depending on the ECU and what action to perform.

A vehicle repair workshop that wants to analyze and re-program vehicles from different manufactures must have an API for each. This API can be downloaded from the internet or installed from a CD or DVD. How this API is provided depend on the manufacturer, but they do charge the customer (repair workshop) ordering it. The price differs a lot between manufacturers, a one year subscription costs between $75 and $2500.

Each manufacturer of a J2534 tool (hardware device) must have a DLL-file which includes functions and routines for communicating with the PC. The DLL-file is then loaded into the vehicle manufacturer’s application. The functions in the J2534 tool are linked to a corresponding function in the application. The DLL-file also includes routines for the connection (RS-232, USB etc.) between the J2534 tool and the PC.

The intention is that every J2534 tool should to be capable of communicating with all protocols supported by the J2534 standard. The application provided by the vehicle manufacturers use commands described in J2534 standard to connect to a hardware tool (of any brand). The connection and initialization gives the hardware tool information of which protocol that is used. Thereafter it is up to the hardware tool to manage the connection to the vehicle with de desired protocol. The PC application will send messages in the earlier determined protocol format to the hardware tool which buffers the messages and transmits the messages in the order they were received.

J2534 Application Programming Interface (API)

The J2534 API consists of a number of functions for communication which must be supported by both hardware tool and vehicle manufacturer application. For the PC application developer this means that all commands and messages must made with the functions defined in the API. See table 1 below.

FunctionDescription
PassThruConnectEstablish a connection with a protocol channel.
PassThruDisconnectTerminate a connection with a protocol channel.
PassThruReadMsgsRead message(s) from a protocol channel.
PassThruWriteMsgsWrite message(s) to a protocol channel.
PassThruStartPeriodicMsgStart sending a message at a specified time interval on a protocol channel.
PassThruStopPeriodicMsgStop a periodic message.
PassThruStartMsgFilterStart filtering incoming messages on a protocol channel.
PassThruStopMsgFilterStops filtering incoming messages on a protocol channel.
PassThruSetProgrammingVoltageSet a programming voltage on a specific pin.
PassThruReadVersionReads the version information for the DLL and API.
PassThruGetLastErrorGets the text description of the last error.
PassThruIoctlGeneral I/O control functions for reading and writing protocol configuration parameters (e.g. initialization, baud rates, programming voltages, etc.).

Table 1. J2534 function description.

The first command that is sent is the PassThruConnect which establish the connection between the PC application and the J2534 hardware tool. This command includes information about which protocol to use, standard or extended CAN identifier or if ISO15765 is used. The command also includes a channel identification which will be used for all following communication. If the connection was successful, a STATUS_NOERROR value is returned, which indicates that the function has been successfully performed. Before any messages can be sent an initialization has to be made, PassThruIoctl, where parameters like node address, baud rate or protocol specific parameters are set.

All messages sent from the PC application follow the same structure which consists of: protocol type (i.e. J1850, CAN, J9141), receive message status, transmit message flags, received message timestamp (microseconds), data size in bytes, extra data index (start position of extra data in received message i.e. IFR, CRC, checksum), and last but not least an array of data bytes (the received message). It is possible to send CAN messages longer than 8 bytes using ISO15765 commands if this feature was selected upon connection.

Some ECUs sends a lot of messages with short period of time between each message. The filter function, PassThruStartMsgFilter, can be set to either block or pass messages. This will decrease the messages needed to be sent between the hardware tool and the PC. The message is first “ANDed” with a mask which gives the opportunity to compare only some important bits of the identifier. Thereafter the “ANDed” message is compared to a specific pattern.

J2534 API DLL

The J2534 API DLL provides a linkage between the API functions and the hardware tool. Since the PC application should not have to care about which communication protocol is being used between the PC and the hardware tool. Each manufacturer of a hardware tool has a DLL-file with a unique name. This way it is possible for the software application on the PC to distinguish which hardware tool to connect. It is important that the developer of the firmware in the hardware tool follows the API and name the functions exactly as in the J2534 description. Otherwise it will be impossible for the PC application to find the functions in the DLL when performing the linkage.

Introduction to SAE J2534 (2024)

References

Top Articles
31ste Transmissiedag infectieziekten
Aerogene transmissie SARS-CoV-2 | LCI richtlijnen
Funny Roblox Id Codes 2023
Golden Abyss - Chapter 5 - Lunar_Angel
Www.paystubportal.com/7-11 Login
Joi Databas
DPhil Research - List of thesis titles
Shs Games 1V1 Lol
Evil Dead Rise Showtimes Near Massena Movieplex
Steamy Afternoon With Handsome Fernando
Which aspects are important in sales |#1 Prospection
Detroit Lions 50 50
18443168434
Newgate Honda
Zürich Stadion Letzigrund detailed interactive seating plan with seat & row numbers | Sitzplan Saalplan with Sitzplatz & Reihen Nummerierung
Grace Caroline Deepfake
978-0137606801
Nwi Arrests Lake County
Justified Official Series Trailer
London Ups Store
Committees Of Correspondence | Encyclopedia.com
Pizza Hut In Dinuba
Jinx Chapter 24: Release Date, Spoilers & Where To Read - OtakuKart
How Much You Should Be Tipping For Beauty Services - American Beauty Institute
Free Online Games on CrazyGames | Play Now!
Sizewise Stat Login
VERHUURD: Barentszstraat 12 in 'S-Gravenhage 2518 XG: Woonhuis.
Jet Ski Rental Conneaut Lake Pa
Unforeseen Drama: The Tower of Terror’s Mysterious Closure at Walt Disney World
Ups Print Store Near Me
C&T Wok Menu - Morrisville, NC Restaurant
How Taraswrld Leaks Exposed the Dark Side of TikTok Fame
Olivia Maeday
Random Bibleizer
10 Best Places to Go and Things to Know for a Trip to the Hickory M...
Black Lion Backpack And Glider Voucher
Gopher Carts Pensacola Beach
Duke University Transcript Request
Lincoln Financial Field, section 110, row 4, home of Philadelphia Eagles, Temple Owls, page 1
Jambus - Definition, Beispiele, Merkmale, Wirkung
Ark Unlock All Skins Command
Craigslist Red Wing Mn
D3 Boards
Jail View Sumter
Nancy Pazelt Obituary
Birmingham City Schools Clever Login
Thotsbook Com
Funkin' on the Heights
Vci Classified Paducah
Www Pig11 Net
Ty Glass Sentenced
Latest Posts
Article information

Author: Saturnina Altenwerth DVM

Last Updated:

Views: 6127

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Saturnina Altenwerth DVM

Birthday: 1992-08-21

Address: Apt. 237 662 Haag Mills, East Verenaport, MO 57071-5493

Phone: +331850833384

Job: District Real-Estate Architect

Hobby: Skateboarding, Taxidermy, Air sports, Painting, Knife making, Letterboxing, Inline skating

Introduction: My name is Saturnina Altenwerth DVM, I am a witty, perfect, combative, beautiful, determined, fancy, determined person who loves writing and wants to share my knowledge and understanding with you.