DAQ list configuration, calibration parameter read/write, STIM, and XCPoE over Ethernet - what XCP testing covers and how to automate it.

XCP (Universal Measurement and Calibration Protocol) testing is the validation of ASAM-compliant ECU calibration and measurement communication - verifying that an ECU's XCP slave correctly responds to measurement list (DAQ) configuration, synchronised data acquisition, and ECU parameter write (calibration) requests from an XCP master.
XCP (defined by ASAM) runs over CAN (XCPoC) or Ethernet (XCPoE) and is used during ECU development and validation for two primary workflows: measurement - reading ECU internal variables (engine torque, lambda, injection timing) in real time without disturbing ECU execution - and calibration - writing map and curve parameters to adjust ECU behaviour during development and production flash.
Why XCP requires dedicated testing: XCP implementation errors - incorrect DAQ list configuration, wrong data acquisition timing, or calibration write failures - corrupt development data and cause incorrect ECU behaviour. Testing the XCP slave implementation validates that measurement and calibration workflows are reliable before the ECU enters integration.
XCP has two primary workflows - measurement (DAQ) and calibration - each with distinct test requirements.
XCP DAQ lists define which ECU variables to measure, at what sample rate, and how to pack them into XCP data transfer packets. Testing validates: DAQ list configuration, ODT (Object Descriptor Table) setup, synchronised sampling at the specified event channel, and data integrity under full measurement load.
XCP STIM allows an external tool to write values into ECU variables synchronised with the ECU's task cycle. Testing validates: STIM list configuration, correct value injection at the specified event, and ECU response to stimulated inputs.
XCP calibration reads and writes ECU parameters from/to flash or RAM segments. Testing validates: correct read values, correct write-readback, address and segment mapping, and that write-protected areas are correctly rejected.
XCP runs over CAN (XCPoC at up to 8 bytes per frame, or with CAN FD at up to 64 bytes) or Ethernet (XCPoE using UDP). Testing must validate transport-layer specifics: correct command/response structure, byte order, and session management for each transport.
TestBot's XCP Server Agent simulates an XCP slave over CAN or Ethernet - respond to DAQ configuration, deliver measurement data, and accept calibration writes for validation of XCP master tools and workflows.
| Scenario | Agents Used | Validated Outcome |
|---|---|---|
| DAQ List Configuration | XCP Server Agent - DAQ list setup + data delivery | DAQ list accepted, ODTs configured correctly, data delivered at specified event rate |
| Calibration Parameter Read | XCP Server Agent - memory read at specified address | Parameter value read correctly, byte order correct, response within timing |
| Calibration Parameter Write | XCP Server Agent - memory write + readback | Written value confirmed by readback, out-of-range values rejected |
| Full Measurement Session | XCP Server Agent - DAQ + STIM combined | Simultaneous measurement and stimulation, no timing violations, data integrity confirmed |
| XCP over Ethernet (XCPoE) | XCP Server Agent (Ethernet) - UDP session | XCPoE session established, DAQ data delivered over UDP, no packet loss |
| XCP Tool Validation | XCP Server Agent (slave simulation) | Calibration tool under test correctly configures DAQ lists and reads/writes parameters |

XCP (Universal Measurement and Calibration Protocol) is the ASAM standard for accessing ECU internal variables for measurement (read) and calibration (write) without disturbing ECU execution. It needs testing because XCP slave implementation errors - incorrect DAQ timing, wrong address mapping, calibration write failures - corrupt development data and can cause incorrect ECU behaviour in production.

XCP over CAN uses the same physical adapter as CAN bus testing.

UDS is the diagnostic protocol for ECU software updates - XCP is for measurement and calibration.

DoIP and XCPoE both run over Ethernet - coexisting on next-generation ECU platforms.
XCP Server Agent over CAN and Ethernet. 14-day free trial.