XCP (or) "Universal Measurement and Calibration Protocol" is a network protocol originating from ASAM for connecting measurement/calibration systems to electronic control units, ECUs. It enables read and write access to variables and memory contents of micro-controller systems at run-time. To achieve independence from a specific physical transport layer, XCP was subdivided into a protocol layer and a transport layer. Depending on the transport layer, one refers to XCP on CAN, XCP on Ethernet, etc. and can be extended to future transport layers
The measurement and calibration system assumes the role of XCP master, while the ECU operates as a slave. The master and slave each communicate by XCP driver. There is an ECU description file (in A2L format) for each slave, which 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.
A key functionality of XCP is that it enables read and write access to the memory of the Slave. One of the great strengths of XCP lies in acquiring measured values from RAM which change synchronously to process flows or events in the ECU. This lets users evaluate direct relationships between time-based process flows in the ECU and the changing values. These are referred to as event-synchronous measurements. Write access lets the user optimize parameters of algorithms in the Slave.
The accesses are address-oriented, i.e. the communication between Master and Slave references addresses in memory. So, the measurement of a parameter is essentially implemented as a request of the Master to the Slave: “Give me the value of memory location 0x1234”. Calibration of a parameter – the write access – to the Slave means: “Set the value at address 0x9876 to 5”.
No comments:
Post a Comment