© National Instruments Corporation 1-1 Automotive Diagnostic Command Set User Manual
1
Introduction
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-based
diagnostics, this involves using a transport protocol that segments the
arbitrarily long byte strings into pieces that can be transferred over the CAN
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) and the
manufacturer-specific VW TP 2.0.
Note The Automotive Diagnostic Command Set is designed for CAN-based diagnostics
only. Diagnostics on serial lines (K-line and L-line) are not in the scope of the Automotive
Diagnostic Command Set.
KWP2000 (Key Word Protocol 2000)
The KWP2000 protocol has become a de facto standard in automotive
diagnostic applications. It is standardized as ISO 14230-3. KWP2000
describes the implementation of various diagnostic services you can access
through the protocol. You can run KWP2000 on several transport layers
such as K-line (serial) or CAN.