|Download Help (Windows Only)|
Diagnostics involve remote execution of routines, or services, on ECUs. To execute a routine, you send a byte string as a request to an ECU, and the ECU usually answers with a response byte string. Several diagnostic protocols such as KWP2000 and UDS standardize the format of the services to be executed, but those standards leave a large amount of room for manufacturer-specific extensions. A newer trend is the emission-related legislated OnBoard Diagnostics (OBD), which is manufacturer independent and standardized in SAE J1979 and ISO 15031-5. This standard adds another set of services that follow the same scheme.
Because diagnostics were traditionally executed on serial communication links, the byte string length is not limited. For newer, CAN, LIN, or Ethernet-based diagnostics, this involves using a transport protocol that segments the arbitrarily long byte strings into pieces that can be transferred over the CAN or LIN bus, and reassembles them on the receiver side. Several transport protocols accomplish this task. The Automotive Diagnostic Command Set implements the ISO TP (standardized in ISO 15765-2) for CAN and LIN-based diagnostics, the manufacturer-specific VW TP 2.0 for CAN-based diagnostics, and the Diagnostics on IP (DoIP) transport protocol (standardized as ISO 13400) for Ethernet-based diagnostics.
|Note The Automotive Diagnostic Command Set is designed for CAN, LIN, or Ethernet-based diagnostics only. Diagnostics on serial lines (K-line and L-line) or FlexRay are not in the scope of the Automotive Diagnostic Command Set.|
The following topics discuss the KWP2000 and UDS protocols: