University of Oklahoma - Summer 2021
Computer science 233, Chapter 1 Guide
Professor Simpson, Section 5
March 19, 2021
XCP (or) "Universal Measurement and Calibration Protocol" is a network protocol
originating from ASAM for connecting calibration systems to electronic control units, ECUs.
Consequently, It enables read and write access to variables and memory contents of
microcontroller systems at runtime.
Class Date: 26/5/2024
Professor’s Comment: Please add more depth to your historical analysis.
GENERIC CONTENT:
## Findings
Entire datasets can be acquired or stimulated synchronous to events triggered by timers or
operating conditions. In addition, XCP also supports programming of flash memory.
## Analysis
ASAM states "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."
## Discussion (List)
- In 2003, the protocol was standardized as "ASAM MCD-1 XCP".
- XCP is a successor to CAN Calibration Protocol (CCP) that was developed back in the mid-
1990s.
- At that time, CAN was the dominant networking system in the automobile industry.
## Background (List)
- Over time, other bus systems such as LIN, MOST and FlexRay emerged and made it
necessary to extend the protocol to other transport media.
- In addition, XCP supports synchronous and asynchronous serial interfaces.
## Conclusion
With Ethernet or USB as the transport medium, XCP can also serve as a standardized
interface to analog measurement devices and to hardware interface converters to RAM
emulators, JTAG or other microcontroller debug interfaces. Due to its broad range of use, a
primary goal in the development of XCP was to achieve as lean an implementation in the
ECU as possible and high scalability of features and resource utilization. XCP can even be
implemented on 8-bit microcontrollers for CAN or SCI with few resources, and it exploits
the full potential of FlexRay or Ethernet on high-performance platforms. As a two-layer
protocol, XCP consistently separates the protocol and transport layers from one another
and adheres to a Single-Master/Multi-Slave concept. XCP always uses the same protocol
layer independent of the transport layer.
## Findings
The “X” in its name stands for the variable and interchangeable transport layer. Currently,
the following transport layers are defined as standard by ASAM as of October 2016:
XCP on CAN
XCP on CAN FD
XCP on SxI (SPI, SCI)
XCP on Ethernet (TCP/IP and UDP/IP)
XCP on USB
XCP on FlexRay
In addition to supporting other transport layers, the successor to the CCP protocol contains
many functional improvements such as:
Better resource utilization in the ECU
Synchronous data stimulation
Support of start-up measurements
Optimized communication by block transfer commands
Plug & play configuration
More precise measurement data acquisition by measuring the time stamps in the ECU
(Slave)
XCP allows a client to access memory on the ECU using a format defined in a separate A2L
file. Because the A2L format file contains all the information to access the information, the
ECU code does not have to be recompiled to access different measurements or calibrations.
## Analysis (List)
- == References ==
== External links ==
ASAM official Web site of ASAM e.V.
- ASAM MCD-1 XCP description of the standard at the ASAM Web site
Web page for ordering the free XCP Technical Book from Vector Informatik
References / Works Cited:
1. Wikipedia (n.d.). Retrieved from https://wikipedia.org/
2. Random Book Title (2022). Academic Publishing House.