The ASAMMCD-1 XCP (Universal Measurement and Calibration Protocol) standard defines a bus-independent, master-slave communication protocol to connect ECUs with calibration systems. XCP is short for Universal Measurement and Calibration Protocol. The primary purpose of XCP is to adjust internal parameters and acquire the current values of internal variables of an ECU. The first letter X in XCP expresses the fact that the protocol is designed for a variety of bus systems. The standard consists of a base standard, which describes memory-oriented protocol services without direct dependencies on specific bus systems. Several associate standards contain the transport layer definitions for CAN, FlexRay, Ethernet ( UDP/ IP and TCP/ IP), serial links ( SPI and SCI) and USB.
The ASAMMCD-1 XCP standard defines the access to parameters and measurement variables using memory addresses. The properties and memory addresses of this data are described in the A2L- file format, which is standardized through the ASAM MCD-2 MC standard. The A2L-file contains all the information necessary to access and correctly interpret the data that is transmitted via the XCP protocol. This A2L file therefore provides access to a specific parameter or variable, without the need to have hardcoded access in the ECU application software. In other words, the ECU contains only a generic XCP-protocol stack, which responds to memory access requests from the calibration system. Different calibration and measurement tasks can be performed by different configurations of the calibration system without recompiling and reprogramming the ECU application code.
ASAMMCD-1 XCP was designed with two main objectives. First, to reduce the high requirements on ECU resources, such as CPU load, RAM consumption and flash memory, for the XCP slave. Second, to achieve a maximal data transmission rate over the communication link and to reduce the impact on bus communication as much as possible. The standard also describes the organization of the ECU memory segments used by the ECU software. This description allows memory-type specific access. XCP additionally describes the ECU interface for data read and write access.
ASAMMCD-1 XCP is an established and mature standard since 2003. XCP is used by both OEMs and ECU manufacturers. Compliance to ASAM MCD-1 XCP reduces the variety of calibration systems and avoids the need to create specific ECU implementations for specific application tasks. Since 2017, XCP got an extension for debugging, which allows to carry out typical debugging use-cases without the need to connect a debugging adapter to the ECU. ASAM MCD-1 XCP originates from the predecessor standard ASAM MCD-1 CCP, which is a measurement and calibration protocol specific to the CAN bus.
Accurate Technologies Inc., CompactDynamics GmbH, Continental Automotive GmbH, CSM GmbH, Daimler AG, dSPACE GmbH, ETAS GmbH, RA Consulting GmbH, Robert Bosch GmbH, Vector Informatik GmbH.
Current Activities on ASAMMCD-1 XCP
|Proposal Phase||Software Debugging over XCP V1.1.0|
Version 1.0 of the Software Debugging over XCP standard defined methodologies enabling debugging over XCP for microcontrollers which are widely used in the automotive domain. This update shall include ARM based microcontrollers which are emerging in the automotive domain.