Chapter 1 Introduction
Automotive Diagnostic Command Set User Manual 1-2 ni.com
Transport Protocol
As KWP2000 uses messages of variable byte lengths, a transport protocol
is necessary on layers with only a well defined (short) message length, such
as CAN. The transport protocol splits a long KWP2000 message into pieces
that can be transferred over the network and reassembles those pieces to
recover the original message.
KWP2000 runs on CAN on various transport protocols such as ISO TP
(ISO 15765-2), TP 1.6, TP 2.0 (Volkswagen), and SAE J1939-21.
Note For KWP2000, the Automotive Diagnostic Command Set supports only the ISO TP
(standardized in ISO 15765-2) and manufacturer-specific VW TP 2.0 transport protocols.
Diagnostic Services
The diagnostic services available in KWP2000 are grouped in functional
units and identified by a one-byte code (ServiceId). The standard does not
define all codes; for some codes, the standard refers to other SAE or ISO
standards, and some are reserved for manufacturer-specific extensions. The
Automotive Diagnostic Command Set supports the following services:
• Diagnostic Management
• Data Transmission
• Stored Data Transmission (Diagnostic Trouble Codes)
• Input/Output Control
• Remote Activation of Routine
Note Upload/Download and Extended services are not part of the Automotive Diagnostic
Command Set.
Diagnostic Service Format
Diagnostic services have a common message format. Each service defines
a Request Message, Positive Response Message, and Negative Response
Message.
The Request Message has the ServiceId as first byte, plus additional
service-defined parameters. The Positive Response Message has an echo of
the ServiceId with bit 6 set as first byte, plus the service-defined response
parameters.
The Negative Response Message is usually a three-byte message: it has the
Negative Response ServiceId as first byte, an echo of the original ServiceId