DTC Structure: Notes
Like all digital signals, DTCs are sent to the scan tool as a series of 1s and 0s. Each DTC is made up of two data bytes which each consist of eight bits that can be set to 1 or 0. The data is decoded by the scan tool to display each set of four bits as a hexadecimal number (0 to F) in order to display the DTCs in the conventional format. For example, P0420 - Catalyst System Efficiency Below Threshold (Bank 1).
| DTC Byte 1 | DTC Byte 2 | ||
|---|---|---|---|
| 0000 | 0100 | 0010 | 0000 |
| P0 | 4 | 2 | 0 |
The table below shows how to decode the bits into hex digits.
| Binary Bit Pattern | Hex Digit | Binary Bit Pattern | Hex Digit |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | A |
| 0011 | 3 | 1011 | B |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | D |
| 0110 | 6 | 1110 | E |
| 0111 | 7 | 1111 | F |
The first four bits of a DTC do not convert directly into hex digits. The conversion into different types of DTCs (P, B, C and U) is defined by SAE J2012. This standard contains DTC definitions and formats.
| Binary Bit Pattern | SAE DTC Type | Binary Bit Pattern | SAE DTC Type |
|---|---|---|---|
| 0000 | P0 | 1000 | B0 |
| 0001 | P1 | 1001 | B1 |
| 0010 | P2 | 1010 | B2 |
| 0011 | P3 | 1011 | B3 |
| 0100 | C0 | 1100 | U0 |
| 0101 | C1 | 1101 | U1 |
| 0110 | C2 | 1110 | U2 |
| 0111 | C3 | 1111 | U3 |
ISO 14229 sends two additional bytes of information with each DTC, a failure type byte and a status byte.
| DTC Byte 1 | DTC Byte 2 | Failure Type Byte | Status Byte | ||||
|---|---|---|---|---|---|---|---|
| 0000 | 0100 | 0010 | 0000 | 0000 | 0000 | 1111 | 0101 |
| P0 | 4 | 2 | 0 | 0 | 0 | F | 9 |
All ISO 14229 DTCs are four bytes long instead of three or two bytes long. Additionally, the status byte for ISO 14229 DTCs is defined differently than the status byte for previous applications with three byte DTCs.