KWP2000 (Key-Word-Protocol 2000) is a widespread network protocol used in automotive electronics. Originally it was developed only for ECU diagnostics.
Today, it is increasingly used for reprogramming, i. e. for loading new software into the ECU. KWP2000 is internationally standardized according to ISO 14230.
A flashloader, which is integrated in an ECU, interprets KWP2000 requests transmitted to the ECU for flashing and executes the actions.
For each request, the control unit sends a KWP2000 response which indicates whether the received request was successfully executed. A KWP2000 component requires a consistent interface for sending messages, which is offered by a TP proxy.
The communication protocol KWP2000 on CAN defined as ISO 15765 is getting a worldwide standard increasingly, because other communication protocols do not correspond to the OBD demands especially in North America.
One single CAN communication wire can be used for control and diagnostic simultaneously with KWP2000 on CAN, so the number of wiring harnesses is decreased. In addition a lot of standard functions (Services) can be provided and the high-speed data transmission provides a fast flash programming of ECUs.
KWP2000 on CAN allows any ECU connected to the CAN bus to perform diagnostic communication without additional hardware. This running stability of the protocol enables a diagnostic functionality to ECUs originally having no full scalable diagnostic functionality. Future generations of diagnostic functions are made possible by adapting to the KWP200 on CAN protocol. The read-out ID data function is used to store and retrieve vehicle data to ensure traceability. In addition, data such as ECU software version, hardware version and serial number can be read with this function.
The Diagnostic Trouble Code (DTC) function conforms to the SAE standard (2-Byte system). It adds condition data to indicate and correct errors. The ECUs Variant Coding function is important for reducing ECU kinds. The ECUs are programmed to their specifications in every vehicle via an ECU variant coding function and the diagnostic tools use it to transmit the specifications to the ECU. So the number of needed basis ECU types is reduced to the minimum.