KWP2000 (Key-Word-Protocol 2000) is a widespread network protocol used in vehicle electronics. Originally it was only developed for ECU diagnostics, but today, it is more and more applied for reprogramming - i.e. loading new software into an ECU. KWP2000 is internationally standardized after ISO 14230.
A flash loader integrated in an ECU interprets KWP2000 requests which are transmitted to the ECU for flashing and executes the activity. To every request the ECU transmits one KWP2000 response providing information about the successful execution of the received request. A KWP2000 component needs a consistent interface provided by a TP proxy to transmit messages.
The communication protocol KWP2000 on CAN defined as ISO 11765 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 provides a diagnostic communication function without additional hardware to every ECU connected to the CAN bus. This run stability of the protocol enables a diagnostic functionality to ECUs originally having no full scalable diagnostic functionality. Future generations of diagnostic functions are enabled by the adaptation to the KWP200 on CAN protocol. The read-out ID data function serves for storing and recalling of vehicle data ensuring traceability. In addition data like version of the ECU software, hardware version or serial number can be read with that functionality.
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.