Home Learning Paths ECU Lab Assessments Interview Preparation Arena Pricing Log In Sign Up
Engineer+

XCP Calibration Tool

Interactive ASAM XCP measurement & calibration simulator with real-time DAQ, map/curve editors, A2L browser, and CTO/DTO protocol visualization

Disconnected - No XCP Slave
0
CTO Packets
0
DTO Packets
0 Hz
DAQ Rate
0s
Session Time
DAQ List 0: Rate:
-
RPM
-
Coolant °C
-
Throttle %
RPM (÷10)
Coolant °C
Throttle %
Boost bar×100
Lambda×100
Inj ms×10
Cal Page:

📐 Scalar Parameters

Working Page
ParameterAddressValueUnitMin/Max

📈 1D Curve: Ignition Advance vs RPM

RPM800150025003500450055006500
Advance °8142228323430
Edit Point:

🗺 2D Map: Fuel Injection Duration (ms)

X-axis: RPM | Y-axis: Load (%) | Click cell to edit, Enter to confirm

📦 Memory Transfer

Short Upload (Read from ECU)
Short Download (Write to ECU)

📂 A2L Parameter Database

ENGINE_ECU.a2l

📋 Parameter Details

Select a parameter from the A2L tree to view details

🏗 A2L File Structure

ProjectENGINE_ECU_M1
ModuleECM_Module
VersionASAM MCD-2MC v1.71
ECU Address0x40000000 - 0x4003FFFF
Measurements6 signals
Characteristics8 scalars + 1 curve + 1 map
COMPU_METHODLinear, Tab_Interp, Rat_Func
Byte OrderMSB_LAST (Little-Endian)

Send XCP Command (CTO)

Command
XCP CTO/DTO Communication Log
╔═══════════════════════════════════════════╗
║ XCP Calibration Tool v2.0 - ASAM MCD-1 ║
╚═══════════════════════════════════════════╝
Select transport and connect to XCP slave.

ASAM XCP Protocol Reference

Standard Commands (CTO)

CodeCommandDescription
0xFFCONNECTEstablish connection to slave
0xFEDISCONNECTClose connection
0xFDGET_STATUSRead session status & protection
0xFCSYNCHSynchronize after error
0xFBGET_COMM_MODE_INFOGet comm capabilities
0xF9GET_IDRead slave identification
0xF5SET_MTASet memory transfer address
0xF4UPLOADRead from MTA (n bytes)
0xF3SHORT_UPLOADRead from address directly
0xF0DOWNLOADWrite to MTA (n bytes)
0xEFSHORT_DOWNLOADWrite to address directly
0xEBSET_CAL_PAGESwitch calibration page
0xEAGET_CAL_PAGEQuery active cal page

DAQ Commands

CodeCommandDescription
0xE5FREE_DAQRelease all DAQ lists
0xE4ALLOC_DAQAllocate DAQ list count
0xE3ALLOC_ODTAllocate ODTs per DAQ list
0xE2ALLOC_ODT_ENTRYAllocate entries per ODT
0xE1SET_DAQ_PTRPoint to ODT entry
0xE0WRITE_DAQConfigure ODT entry (addr/size)
0xDESET_DAQ_LIST_MODESet event channel & prescaler
0xDDSTART_STOP_DAQ_LISTStart/stop individual list
0xDCSTART_STOP_SYNCHStart/stop all DAQ lists
0xDBGET_DAQ_CLOCKRead ECU timestamp

Error Codes (ERR)

CodeName
0x00ERR_CMD_SYNCH
0x10ERR_CMD_BUSY
0x20ERR_CMD_UNKNOWN
0x21ERR_CMD_SYNTAX
0x22ERR_OUT_OF_RANGE
0x25ERR_ACCESS_DENIED
0x30ERR_PAGE_NOT_VALID
0x31ERR_PAGE_MODE_NOT_VALID
0x33ERR_WRITE_PROTECTED