PassThru – SAE J2534

The PassThru specification (SAE J2534) was first published by the SAE (Society of Automotive Engineers) in 2002 and subsequently updated in 2004 and 2006. The EPA (U.S. Environmental Protection Agency) and the ARB (California Air Resources Board) imposed new requirements on vehicle manufacturers: vehicles from the 2004 model year onwards had to be reprogrammable by independent workshops as well. In the European market, the Euro 5 standard, which included comparable requirements, was introduced in 2009. Previously, manufacturers had relied on proprietary systems to control access to their systems. PassThru provides an API that allows both vehicle manufacturers and other companies to develop diagnostic software. Additionally, hardware is provided that connects to the vehicle via an OBD2 connector (SAE J1962). The method of connecting the diagnostic device (VCI) to the diagnostic PC (e.g., USB, RS232, or Ethernet) is determined by the PassThru API manufacturer. Windows is the required operating system.

Users of PassThru-compatible diagnostic software can now select and use any PassThru device available on the market. Both K-Line and CAN bus are supported, as are current protocols such as KWP2000, UDS, and RAW CAN.

The following protocols should be supported:

  • ISO9141
  • ISO 14230-4 (KWP2000)
  • SAE J1850 41.6 KBPS PWM (PULSE WIDTH MODULATION)
  • SAE J1850 10.4 KBPS VPW (VARIABLE PULSE WIDTH)
  • CAN
  • ISO 15765-4 (CAN)
  • SAE J2610 DAIMLERCHRYSLER SCI

Overview

The following diagram shows a simplified workflow of how an application uses PassThru:

Figure: Simplified PassThru process
Simplified PassThru process

Unlike RP 1210, PassThru performs a plausibility check on the message format. With PassThru, too, the responsibility for preparing the data in a format compatible with the protocol lies with the application.

The API offers the following functions:

FunctionDescription
PassThruOpenEstablishing a connection to the PassThru device.
PassThruCloseTerminating the connection to the PassThru device.
PassThruConnectEstablishing a connection to a protocol channel.
PassThruDisconnectTerminating the connection to the protocol channel.
PassThruReadMsgsReads messages from the protocol channel.
PassThruWriteMsgsWrites messages to the protocol channel.
PassThruStartPeriodicMsgStarts the periodic transmission of a message on the protocol channel at a specified time interval.
PassThruStopPeriodicMsgStops the periodic sending of a message.
PassThruStartMsgFilterStarts filtering of incoming messages on the protocol channel.
PassThruStopMsgFilterStops the filtering of incoming messages on the protocol channel.
PassThruSetProgrammingVoltageSets the programming voltage for a specific pin.
PassThruReadVersionReads the version information of the PassThru DLL and API.
PassThruGetLastErrorReturns the description of the most recently occurred error.
PassThruIoctlGeneral I/O control function for reading and writing protocol configuration parameters (e.g., initialization, baud rates, programming voltage, etc.)
SAE J2534 API Functions

Version 04.04 introduced the PassThruOpen and PassThruClose functions and expanded the parameters of other functions. For instance, the DeviceID—returned by PassThruOpen and used to distinguish between multiple VCIs during parallel operation—has been added.

Features

  • It is the task of the client application to assign the messages to the corresponding control units.
  • Pure C API with 12 functions
  • Error Handling by Evaluating Return Values (No Exceptions)
  • Specified primarily for Windows

Integration into an Application

In theory, it does not matter which PassThru device is selected. In practice, however, the range of functions and supported protocols may vary. It is also possible to install and use multiple devices simultaneously; the software is registered in the Windows Registry, allowing it to be selected and used by the diagnostic software.

Figure: WIN 32 Registry (e.g. PassThru Version 04.04)
WIN 32 Registry (e.g. PassThru Version 04.04)

With version 5.0 of the specification, PassThru also provides for the use of DoIP.

Scroll to Top