By continuing to use this site you agree to the use of cookies: Accept Cookies. For more information and to find out how to change this click here.
Bitte aktivieren Sie das Setzen von Cookies für diese Website.

Measurement and Calibration Protocol XCP - Fundamentals

Measurement and Calibration Protocol XCP - Fundamentals

Development engineers and technicians benefit from high-performance standards and tools for optimal parameterization of ECUs. Such standards and tools must enable flexible read and write access to variables or memory contents. The CAN Calibration Protocol (CCP) – an OEM-independent standard – was developed for this purpose back in the 1990s. At that time, CAN was the sole dominant system for in-vehicle networking.

As automotive electronics continued to develop, additional bus systems such as LIN, MOST and FlexRay came into use. Because it was restricted to the CAN bus, CCP reached its limits, and this led to the development of the XCP protocol.

Standardization by ASAM and Benefits

Like CCP, the "Universal Measurement and Calibration Protocol" (XCP) originated from the "Association for Standardization of Automation and Measuring Systems" (ASAM) and was standardized in the year 2003. Vector played a key role in its release.

The "X" stands for the variable and interchangeable transport layer. To satisfy needs for a universal communication solution in a wide variety of applications, the ASAM working group gave special attention to the following criteria:

  • Support of a variety of transport layers such as CAN, FlexRay, Ethernet, SPI, SCI, USB, etc.
  • Better resource utilization in the ECU (dynamic DAQ lists)
  • Synchronous data stimulation (bypassing)
  • Support of start-up measurement (Resume mode)
  • Optimized communication by block transfer
  • Polling of XCP functions available in the ECU (plug & play)
  • More precise measurement data acquisition by measuring time stamps in the ECU (Slave) (Slave)

As a two-layer protocol, it consistently splits the XCP protocol from the transport layers, and it takes a Single-Master/Multi-Slave approach.

Standardization by ASAM and Benefits

Protocol Layer and Transport Layers

XCP is capable of utilizing the same protocol layer based on different transport layers. This protocol is a universal measurement and calibration protocol that operates independently of the type of network that is used. ASAM defines the following standard transport layers (Status October 2016):

  • XCP on CAN and CAN FD
  • XCP on SxI (SPI, SCI)
  • XCP on Ethernet (TCP/IP and UDP/IP)
  • XCP on USB
  • XCP on FlexRay

Graphic XCP protocol layer and transport layers

Protocol Layer and Transport Layers

Single-Master/Multi-Slave Concept

The measurement and calibration system assumes the role of XCP master, while the ECU operates as a slave. The master and slave each communicate over the integrated XCP driver. There is an ECU description file (in A2L format) for each slave, which – among other things – specifies associations between symbolic variable names and their address ranges, physical meanings of the data and the checksum method used. The XCP master can read out all necessary information from these A2L description files.

In communication via XCP, a distinction is made between the "Command Transfer Object" (CTO) and the "Data Transfer Object" (DTO). For example, the master might send a command to the ECU over the bus by CTO, and the ECU acknowledges over the same pathway after executing the requested service. Available CTOs are: CMD (Command), RES (Response), ERR (Error), EV (Event) and SERV (Service Request Processor). The DAQ (Data Acquisition) and STIM (Stimulation) data transfer objects are used for event-driven reading of measurement variables from the XCP slave's memory or writing values to memory.

Graphic XCP communication model with CTO/DTO

Single-Master/Multi-Slave Concept

Measuring and Calibrating Throughout the Development Process

In measuring and calibrating with XCP, the specific environment in which the code or model (Simulink, rapid prototyping hardware, HIL, SIL, etc.) is run is irrelevant. That is, in optimizing the control algorithms for the ECU, you can use one and the same tool, always performing similar work steps. This makes configurations, measurement data and description files usable and interchangeable throughout the development process.

An XCP Master, such as CANape, is capable of communicating with different XCP slaves simultaneously. They include:

  • ECUs or ECU prototypes
  • Measurement and calibration hardware such as debug interfaces or memory emulators
  • Rapid prototyping hardware
  • HiL/SiL systems

Bild XCP Slaves

Measuring and Calibrating Throughout the Development Process

Fachbuch zu den XCP-Grundlagen

XCP reference book about fundamentals of measurement and calibration protocol

Reference book "XCP – The Standard Protocol for ECU Development" describes fundamentals and the application areas of the XCP measurement and calibration protocol in detail. Request the printed version with 128 pages in format 168x238 mm. Or download the book in three digital versions as PDF, EPUB and MOBI.



Did you find this page helpful?
E-Mail:

Please comment: