Understanding OBD2 Frame Format and Message Structure
Advertisement
The OBD2 (On-Board Diagnostics 2) frame structure facilitates communication between a vehicle’s onboard computer system (ECU) and an OBD2 diagnostic tool or scanner. It’s composed of several fields designed to organize and transmit data effectively.
The standard OBD2 frame structure, specific to the CAN protocol, is illustrated below:
These fields are crucial for organizing and conveying information pertaining to the vehicle’s performance and diagnostic data. Let’s explore the common fields found in an OBD2 message:
Common OBD2 Message Fields
-
Identifier: In OBD2 messages, the identifier is a standard 11-bit field used to differentiate between “request messages” (ID 7DF) and “response messages” (ID 7E8 to 7EF). Typically, the main engine or ECU responds at ID 7E8.
-
Length (#bytes): This field indicates the length, in number of bytes, of the remaining data (ranging from 03 to 06). For instance, in the Vehicle Speed example, the request has a length of 02 (as only 01 and 0D follow), while the response has a length of 03 (with 41, 0D, and 32 following).
-
Mode: The mode field specifies the type of request or command being sent. Common modes include:
- Mode 01: Show current data (real-time data)
- Mode 02: Show freeze frame data
- Mode 03: Show stored Diagnostic Trouble Codes (DTCs)
- Mode 04: Clear DTCs
- Mode 05: Show oxygen sensor monitoring test results
- Mode 06: Show On-Board Monitoring Test Results
- Mode 09: Request vehicle information
- Mode 0A: Permanent DTCs (not supported by all vehicles)
-
PID (Parameter ID): The PID field designates the specific data parameter or sensor value being requested or reported. PIDs are used to identify the type of data in the message, such as engine RPM, vehicle speed, or oxygen sensor voltage.
-
Data Bytes: This field contains the actual data values corresponding to the PID. The number and meaning of data bytes depend on the specific PID and the mode. For example, the engine coolant temperature might be reported as a single data byte representing the temperature in degrees Celsius.
-
Checksum: The checksum field verifies the integrity of the message. It’s calculated based on the other fields in the message to ensure accurate reception.
-
Header and Footer: OBD2 messages typically include a header and footer to mark the start and end of each message. These elements help the OBD2 scanner and the vehicle’s ECU properly identify and separate individual messages.
-
A, B, C, D: As shown in the image, these represent data bytes in hexadecimal (HEX) format. These values need to be converted to decimal form before being used in PID formula calculations. Note that the last data byte (after Dh) is typically not used.
The specific format and structure of OBD2 messages can vary depending on the communication protocol used (e.g., ISO 9141-2, ISO 14230-4, ISO 15765-4). However, the fields mentioned above are common elements in OBD2 messages. The format may also include additional fields for addressing and control purposes, depending on the communication protocol.
OBD2 diagnostic tools and scanners manage message formatting and interpretation, simplifying access to and understanding of vehicle diagnostic information for users.
Table of OBD2 PIDs
OBD2 (On-Board Diagnostics 2) Parameter IDs (PIDs) are unique codes used to request real-time data from various sensors and systems within a vehicle. These PIDs allow diagnostic tools to access and display information about the vehicle’s performance and condition.
While the specific PIDs available can differ between vehicles, there’s a standardized set defined by the OBD2 protocol.
PID (dec) | PID (hex) | Name |
---|---|---|
0 | 0 | PIDs supported [01 - 20] |
1 | 1 | Monitor status since DTCs cleared |
2 | 2 | Freeze DTC |
3 | 3 | Fuel system status |
4 | 4 | Calculated engine load |
5 | 5 | Engine coolant temperature |
6 | 6 | Short term fuel trim (bank 1) |
7 | 7 | Long term fuel trim (bank 1) |
8 | 8 | Short term fuel trim (bank 2) |
9 | 9 | Long term fuel trim (bank 2) |
10 | 0A | Fuel pressure (gauge pressure) |
11 | 0B | Intake manifold absolute pressure |
12 | 0C | Engine speed |
13 | 0D | Vehicle speed |
14 | 0E | Timing advance |
15 | 0F | Intake air temperature |
16 | 10 | Mass air flow sensor air flow rate |
17 | 11 | Throttle position |
18 | 12 | Commanded secondary air status |
19 | 13 | Oxygen sensors present (2 banks) |
20 | 14 | Oxygen sensor 1 (voltage), Oxygen sensor 1 (short term fuel trim) |
21 | 15 | Oxygen sensor 2 (voltage), Oxygen sensor 2 (short term fuel trim) |
22 | 16 | Oxygen sensor 3 (voltage), Oxygen sensor 3 (short term fuel trim) |
23 | 17 | Oxygen sensor 4 (voltage), Oxygen sensor 4 (short term fuel trim) |
24 | 18 | Oxygen sensor 5 (voltage), Oxygen sensor 5 (short term fuel trim) |
25 | 19 | Oxygen sensor 6 (voltage), Oxygen sensor 6 (short term fuel trim) |
26 | 1A | Oxygen sensor 7 (voltage), Oxygen sensor 7 (short term fuel trim) |
27 | 1B | Oxygen sensor 8 (voltage), Oxygen sensor 9 (short term fuel trim) |
28 | 1C | OBD standards the vehicle conforms to |
29 | 1D | Oxygen sensors present (4 banks) |
30 | 1E | Auxiliary input status |
31 | 1F | Run time since engine start |
32 | 20 | PIDs supported [21 - 40] |
33 | 21 | Distance traveled with MIL on |
34 | 22 | Fuel rail pres. (rel. to manifold vacuum) |
35 | 23 | Fuel rail gauge pres. (diesel, gas inject) |
36 | 24 | Oxygen sensor 1 (air-fuel equiv. ratio), Oxygen sensor 1 (voltage) |
37 | 25 | Oxygen sensor 2 (air-fuel equiv. ratio), Oxygen sensor 2 (voltage) |
38 | 26 | Oxygen sensor 3 (air-fuel equiv. ratio), Oxygen sensor 3 (voltage) |
39 | 27 | Oxygen sensor 4 (air-fuel equiv. ratio), Oxygen sensor 4 (voltage) |
40 | 28 | Oxygen sensor 5 (air-fuel equiv. ratio), Oxygen sensor 5 (voltage) |
41 | 29 | Oxygen sensor 6 (air-fuel equiv. ratio), Oxygen sensor 6 (voltage) |
42 | 2A | Oxygen sensor 7 (air-fuel equiv. ratio), Oxygen sensor 7 (voltage) |
43 | 2B | Oxygen sensor 8 (air-fuel equiv. ratio), Oxygen sensor 8 (voltage) |
44 | 2C | Commanded EGR |
45 | 2D | EGR Error |
46 | 2E | Commanded evaporative purge |
47 | 2F | Fuel tank level input |
48 | 30 | Warmups since DTCs cleared |
49 | 31 | Distance traveled since DTCs cleared |
50 | 32 | Evap. system vapor pressure |
51 | 33 | Absolute barometric pressure |
52 | 34 | Oxygen sensor 1 (air-fuel equiv. ratio), Oxygen sensor 1 (current) |
53 | 35 | Oxygen sensor 2 (air-fuel equiv. ratio), Oxygen sensor 2 (current) |
54 | 36 | Oxygen sensor 3 (air-fuel equiv. ratio), Oxygen sensor 3 (current) |
55 | 37 | Oxygen sensor 4 (air-fuel equiv. ratio), Oxygen sensor 4 (current) |
56 | 38 | Oxygen sensor 5 (air-fuel equiv. ratio), Oxygen sensor 5 (current) |
57 | 39 | Oxygen sensor 6 (air-fuel equiv. ratio), Oxygen sensor 6 (current) |
58 | 3A | Oxygen sensor 7 (air-fuel equiv. ratio), Oxygen sensor 7 (current) |
59 | 3B | Oxygen sensor 8 (air-fuel equiv. ratio), Oxygen sensor 8 (current) |
60 | 3C | Catalyst temperature (bank 1, sensor 1) |
61 | 3D | Catalyst temperature (bank 2, sensor 1) |
62 | 3E | Catalyst temperature (bank 1, sensor 2) |
63 | 3F | Catalyst temperature (bank 2, sensor 2) |
64 | 40 | PIDs supported [41 - 60] |
65 | 41 | Monitor status this drive cycle |
66 | 42 | Control module voltage |
67 | 43 | Absolute load value |
68 | 44 | Commanded air-fuel equiv. ratio |
69 | 45 | Relative throttle position |
70 | 46 | Ambient air temperature |
71 | 47 | Absolute throttle position B |
72 | 48 | Absolute throttle position C |
73 | 49 | Accelerator pedal position D |
74 | 4A | Accelerator pedal position E |
75 | 4B | Accelerator pedal position F |
76 | 4C | Commanded throttle actuator |
77 | 4D | Time run with MIL on |
78 | 4E | Time since DTCs cleared |
79 | 4F | Max fuel-air equiv. ratio , Max oxygen sensor voltage, Max oxygen sensor current, Max intake manifold absolute pressure |
80 | 50 | Max air flow rate from MAF sensor |
81 | 51 | Fuel type |
82 | 52 | Ethanol fuel percentage |
83 | 53 | Absolute evap system vapor pressure |
84 | 54 | Evap system vapor pressure |
85 | 55 | Short term sec. oxygen trim (bank 1) , Short term sec. oxygen trim (bank 3) |
86 | 56 | Long term sec. oxygen trim (bank 1), Long term sec. oxygen trim (bank 3) |
87 | 57 | Short term sec. oxygen trim (bank 2), Short term sec. oxygen trim (bank 4) |
88 | 58 | Long term sec. oxygen trim (bank 2), Long term sec. oxygen trim (bank 4) |
89 | 59 | Fuel rail absolute pressure |
90 | 5A | Relative accelerator pedal position |
91 | 5B | Hybrid battery pack remaining life |
92 | 5C | Engine oil temperature |
93 | 5D | Fuel injection timing |
94 | 5E | Engine fuel rate |
95 | 5F | Emission requirements |
96 | 60 | PIDs supported [61 - 80] |
97 | 61 | Demanded engine percent torque |
98 | 62 | Actual engine percent torque |
99 | 63 | Engine reference torque |
100 | 64 | Engine pct. torque (idle), Engine pct. torque (engine point 1), Engine pct. torque (engine point 2),Engine pct. torque (engine point 3), Engine pct. torque (engine point 4) |
101 | 65 | Auxiliary input/output supported |
102 | 66 | Mass air flow sensor (A) , Mass air flow sensor (B) |
103 | 67 | Engine coolant temperature (sensor 1), Engine coolant temperature (sensor 2) |
104 | 68 | Intake air temperature (sensor 1) , Intake air temperature (sensor 2) |
105 | 69 | Commanded EGR and EGR error |
106 | 6A | Com. diesel intake air flow ctr/position |
107 | 6B | Exhaust gas recirculation temperature |
108 | 6C | Com. throttle actuator ctr./position |
109 | 6D | Fuel pressure control system |
110 | 6E | Injection pressure control system |
111 | 6F | Turbocharger compressor inlet pres. |
112 | 70 | Boost pressure control |
113 | 71 | Variable geometry turbo control |
114 | 72 | Wastegate control |
115 | 73 | Exhaust pressure |
116 | 74 | Turbocharger RPM |
117 | 75 | Turbocharger temperature |
118 | 76 | Turbocharger temperature |
119 | 77 | Charge air cooler temperature |
120 | 78 | EGT (bank 1) |
121 | 79 | EGT (bank 2) |
122 | 7A | Diesel particulate filter - diff. pressure |
123 | 7B | Diesel particulate filter |
124 | 7C | Diesel particulate filter - temperature |
125 | 7D | NOx NTE control area status |
126 | 7E | PM NTE control area status |
127 | 7F | Engine run time |
128 | 80 | PIDs supported [81 - A0] |
129 | 81 | Engine run time for AECD |
130 | 82 | Engine run time for AECD |
131 | 83 | NOx sensor |
132 | 84 | Manifold surface temperature |
133 | 85 | NOx reagent system |
134 | 86 | Particulate matter sensor |
135 | 87 | Intake manifold absolute pressure |
136 | 88 | SCR induce system |
137 | 89 | Run time for AECD #11-#15 |
138 | 8A | Run time for AECD #16-#20 |
139 | 8B | Diesel aftertreatment |
140 | 8C | O2 sensor (wide range) |
141 | 8D | Throttle position G |
142 | 8E | Engine friction percent torque |
143 | 8F | Particulate matter sensor (bank 1 & 2) |
144 | 90 | WWH-OBD vehicle OBD system Info |
145 | 91 | WWH-OBD vehicle OBD system Info |
146 | 92 | Fuel system control |
147 | 93 | WWH-OBD counters support |
148 | 94 | NOx warning and inducement system |
152 | 98 | EGT sensor |
153 | 99 | EGT sensor |
154 | 9A | Hybrid/EV sys. data, battery, voltage |
155 | 9B | Diesel exhaust fluid sensor data |
156 | 9C | O2 sensor data |
157 | 9D | Engine fuel rate |
158 | 9E | Engine exhaust flow rate |
159 | 9F | Fuel system percentage use |
160 | A0 | PIDs supported [A1 - C0] |
161 | A1 | NOx sensor corrected data |
162 | A2 | Cylinder fuel rate |
163 | A3 | Evap system vapor pressure |
164 | A4 | Transmission actual gear |
165 | A5 | Cmd. diesel exhaust fluid dosing |
166 | A6 | Odometer |
167 | A7 | NOx concentration 3, 4 |
168 | A8 | NOx corrected concentration (3, 4) |
192 | C0 | PIDs supported [C1 - E0] |
PID requests and responses are essential for OBD2 diagnostics, as they deliver real-time data valuable for monitoring, troubleshooting, and vehicle maintenance.