Testing Services

XCP Testing Guide - Calibration Validation

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

XCP testing guide ASAM calibration

WHAT IS XCP TESTING?

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 CORE CONCEPTS FOR TESTING

What XCP Testing Must Cover

XCP has two primary workflows - measurement (DAQ) and calibration - each with distinct test requirements.

DAQ (Data Acquisition)

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.

STIM (Stimulation)

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.

Calibration (Memory Access)

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.

Transport Layer (CAN or Ethernet)

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 XCP AGENTS

Agent
XCP Server Agent (CAN)
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Simulate an XCP slave over CAN for calibration and measurement workflows - enable ECU parameter write and DAQ list recording in test sequences.
Agent
XCP Server Agent (Ethernet)
Hardware Required
None - PC Ethernet
Hardware Required
Simulate an XCP slave over Ethernet - high-speed calibration and DAQ measurement workflows for Ethernet-connected ECUs.
TEST SCENARIOS

XCP Test Scenarios With TestBot

ScenarioAgents UsedValidated Outcome
DAQ List ConfigurationXCP Server Agent - DAQ list setup + data deliveryDAQ list accepted, ODTs configured correctly, data delivered at specified event rate
Calibration Parameter ReadXCP Server Agent - memory read at specified addressParameter value read correctly, byte order correct, response within timing
Calibration Parameter WriteXCP Server Agent - memory write + readbackWritten value confirmed by readback, out-of-range values rejected
Full Measurement SessionXCP Server Agent - DAQ + STIM combinedSimultaneous measurement and stimulation, no timing violations, data integrity confirmed
XCP over Ethernet (XCPoE)XCP Server Agent (Ethernet) - UDP sessionXCPoE session established, DAQ data delivered over UDP, no packet loss
XCP Tool ValidationXCP Server Agent (slave simulation)Calibration tool under test correctly configures DAQ lists and reads/writes parameters

Frequently Asked Questions - XCP Testing

XCP testing FAQ

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.

Continue Learning

RELATED GUIDES

Validate Your XCP Slave Implementation

XCP Server Agent over CAN and Ethernet. 14-day free trial.