Universal Measurement and Calibration Protocol (XCP) Overview
- Updated2025-10-13
- 1 minute(s) read
The Universal Measurement and Calibration Protocol (XCP) is a single-master/single-slave protocol for calibration and data acquisition based on various transport layers. Communication is always initiated by the XCP master. An XCP slave must respond to requests from the master within a specified time. The XCP protocol uses a soft master/slave principle: once the master establishes a communication channel with the slave, the slave can send certain messages (Events, Service Requests and Data Acquisition messages) autonomously. In addition, the master sends Data Stimulation messages without expecting a direct response from the slave.
The XCP builds a continuous, logical, unambiguous point-to-point connection with 1 specific slave when establishing a communication channel. The XCP slave cannot handle multiple connections. The master is not allowed to broadcast XCP messages to multiple slaves at the same time. The identification parameters of the Transport Layer (for instance, CAN identifiers on CAN) must be chosen in such a way that they build independent and unambiguously distinguishable communication channels.
The ECU M&C Toolkit abstracts the XCP communication layer so that it is transparent to the user. For most cases it is sufficient that the underlying XCP communication is handled by the toolkit kernel. Nevertheless, the ECU M&C Toolkit offers direct access to the low level XCP commands if a non-standard timing behavior or independent user defined command sequence is required.
XCP Protocol Version
The ECU M&C Toolkit supports the XCP Calibration Protocol Specification, version 1.0.
For further information related to the XCP protocol, refer to the XCP Calibration Protocol Specification, version 1.0, The Universal Measurement and Calibration Protocol Family, Part 1, by ASAM e.V.