XCP Protocol

The Universal Measurement and Calibration Protocol Family:

In the automotive sector it is common usage to interconnect ECUs in a CAN network. For measurement and calibration purposes, the CAN Calibration Protocol (CCP) is widely used. However, ECUs are becoming more performing and more complex and new networks (e.g. TTCAN FlexRay and MOST) are being developed. The next generation of measurement and calibration protocols has to be flexible to fulfil the requirements of these new networks.

“XCP” describes an improved and generalized version of CCP version 2.1 that can be used in networks other than CAN. The main advantage of XCP is the transport layer independency. Together with its scalable design, low resource consumption and the high performance, XCP fulfils all the requirements to be the universal measurement and calibration protocol of the future.

The XCP specification is split into one “Protocol Layer” and several “Transport Layers”. The “Protocol Layer” specification defines the generic measurement and calibration protocol which is independent from the network type being used. The different “Transport Layer” specifications define how XCP is transported in the different network types. Members of the XCP protocol family are e.g. “XCP on CAN” (being the successor of CCP), “XCP on Ethernet”, “XCP on USB” and so on.

XCP is standardized as an ASAM specification (Association for Standardization of Automation and Measuring Systems). The current version 1.0 specifies the generic Protocol Layer and Transport Layers for CAN, SxI (serial interfaces), TCP/IP and UDP/IP. New members of the XCP protocol family are e.g. “XCP on USB”, “XCP on LIN” and “XCP on FlexRay” (they are currently under development).

The basic features of XCP provide the functionality for synchronous data acquisition/stimulation, read/write access and calibration data page initialization/switching. Furthermore XCP supports ECU flash programming.

In comparison to CCP, XCP on CAN has a higher efficiency and throughput, combined with more compatibility. The support for power-up data transfer and data page freezing has also been improved in XCP on CAN. New mechanisms for auto-detection and auto-configuration of ECUs and measurement modules have been added.

Additionally to its Standard Master-Slave Mode, XCP supports a Block Communication Mode and an Interleaved Communication Mode. XCP supports dynamic data transfer configuration for synchronous data acquisition and stimulation. The data transfer itself can be synchronized, time stamped and prioritized. As for calibration, XCP supports atomic bit modification and bit wise data stimulation.

For further information on XCP please visit the ASAM website.