XCP (Protocol)

The XCP protocol (XCP ) is a network protocol. It was from the ASAM in 2003 (standardized ASAM MCD 1 XCP) and is mainly used in the automotive electronics industry development to the vote (calibration) of parameters and testing of electronic control units. The measurement and calibration protocol allows read and write access to variables or memory contents of microcontroller systems at runtime. Complete data sets can be captured event synchronously or stimulated. In addition, it also enables the programming of the flash memory.

XCP is the successor of ( CCP) in the mid- 1990s developed CAN Calibration Protocol. At this time, CAN was the sole dominating networking system in the automobile. Over time, more established systems such as LIN, MOST and FlexRay, so that an extension of the protocol to other transport media was necessary. XCP also supports synchronous and asynchronous serial interfaces. With Ethernet or USB as a transport medium XCP also serves as a standardized interface to analog gauges and hardware interface converters on RAM emulators, JTAG or other debug microcontroller interfaces.

As a two- layer protocol XCP divides the protocol and transport layer consistently from each other and uses a Single-Master/Multi-Slave-Konzept. Regardless of the transport layer utilizes XCP always the same protocol layer. Currently, the following transport layers of ASAM are defined by default:

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

The measurement and calibration protocols XCP ( CAN as the transport layer ) and CCP are incompatible with each other. Both aspects, extension and generalization, are expressed by the X in the name of XCP ( eXtended ).

In addition to the support of other transport layers incorporated many functional improvements in the sequel to the CCP protocol a:

  • Better use of resources in the control unit
  • Synchronous Data stimulation
  • Support for start -up measurements
  • Optimized communication by block transfer commands
  • Plug & Play Configuration
  • More precise data acquisition by measuring the time stamp in the control unit (slave)
792996
de