OBD-II J1979 Protocols

On-board diagnostics (OBD) is an automotive term referring to self-diagnostic and reporting capability of a vehicle. OBD systems give the vehicle owner or repair technician access to the status of the various vehicle subsystems.The earlier OBD interfaces are OBD1,OBD1.5 etc.Now, Most of the vehicles have OBDII interface, which is an enhanced diagnostic monitor. Refer Wiki OBD page for details.
OBD-II provides access to data from the engine control unit (ECU) and offers a valuable source of information when troubleshooting problems inside a vehicle. The SAE J1979 standard defines a method for requesting various diagnostic data and a list of standard parameters that might be available from the ECU. The various parameters that are available are addressed by "parameter identification numbers" (parameter IDs or PIDs) which are defined in J1979. Refer Wiki PID page for details.
Any vehicle manufactured after 1996 required to have OBD-II computer system. The system can be access through a 16 pin Data Link Connector (DLC). In cars the port is generally located under the dash near the driver; such that is easily accessible. 

OBD-II Protocols
There are five different protocol standard defined under OBD-II. We will here discuss about the data format of each of the protocols in both Single and Multi frame format. OBD supports ELM327 compatible commands. In general OBD command has the format of <OBD mode><PID>\r. For example, In order to query engine RPM from the vehicle, the incoming command to ECU should be 010D\r. Where, 01 is OBD mode and 0D defines the PID for RPM.The response would vary depending on the underneath protocol of the vehicle. The response data length of one frame is 8 bytes. More than this, the ECU reports as multi frame packet. For example 0902 (VIN) request is a multi frame response.

SAE J1850 PWM This signal is Pulse Width Modulation, which runs at 41.6 kbps. This protocol is generally used on Ford vehicles.

Single Frame (010D)
Message Type
Header
Data Bytes
Request
616AF1
01(Mode)0D(PID)
Response
416B10 (10 is ECU  physical address)
41 (Mode 01 response) 0D(PID) FF (Data)
Multi Frame (0902)
Request
Header ID
Mode
PID
616AF1
09
02
Response
Header ID
Mode
PID
Frame No
Data Bytes
CRC
416B10
49
02
01
00 00 00
31
416B10
49
02
02
47 31 4A
43
416B10
49
02
03
35 34 34
34
416B10
49
02
04
52 37 32
35
416B10
49
02
05
32 33 36
37

SAE J1850 VPW
This protocol is Variable Pulse Width, which runs at 10.4 kbps. GM vehicles typically use this version. Both Single and Multi frame responses resemble as like SAE J1850 PWM protocol.
ISO 15765 CAN
This protocol has been mandated in all vehicles sold in the US from 2008 and later. It’s a two-wire communication method and can run at up to 1Mbps. It has four different variants- 
  • ISO 15765 11bit/250Kbps
  • ISO 15765 11bit/500 Kbps
  • ISO 15765 29bit/250Kbps
  • ISO 15765 29bit/500Kbps

ISO 15765 defines four frame types – Single frame, First frame,Consecutive frame and Flow control frame.The Multi-frame contains one First frame and one or more consecutive frames.

Single Frame : For unsegmented messages which can fit into single CAN frame.
Example 010C
The data size of ISO 16765 frame are always of 8-bytes. Byte 0 indicates valid bytes count. Remaining bytes will be padded with 0. Here in the above example next four bytes are the actual data length.
MultiFrame: The first frame of segmented frames follows by consecutive frames.
Example (0902)
Here at D0, 10 means FF, 21 means CF with Sequence number 1 and so on. At D1 14 means length of the valid data to be considered.The above example given for 11 bit can ID. For 29-bit CAN the message structure remains same.

ISO 14230-4 KWP
Keyword protocol runs at 10.2 kbps. It is available in 2003+ vehicles. The header is of 3-bytes in length.

Single Frame (010C)
Rx: C233F1 01 0C 
Tx: 84F110 41 0C 00 30 
MultiFrame (0902)
Rx: C233F1 09 02 
Tx: 87F110 49 02 01 00 00 00 31 
Tx: 87F110 49 02 02 47 31 4A 43 
Tx: 87F110 49 02 03 35 34 34 34 
Tx: 87F110 49 02 04 52 37 32 35 
Tx: 87F110 49 02 05 32 33 36 37 
The header format remains same as single frame.
Request
Header ID
Mode
PID
C233F1 
09
02
Response
Header ID
Mode
PID
Frame No
Data Bytes
CRC
87F110 
49
02
01
00 00 00
31
87F110 
49
02
02
47 31 4A
43
87F110 
49
02
03
35 34 34
34
87F110 
49
02
04
52 37 32
35
87F110 
49
02
05
32 33 36
37

In the next chapter we will discuss about DTC.

Comments

Popular posts from this blog

Database Code Generator Tool