The ECU M&C API is divided into three main function categories, the high-level Channel-based functions, and the generic low-level XCP and CCP functions. The ECU M&C Channel functions provide an easy way to access ECU internal data through named channels. The ECU M&C XCP functions provide direct access to the XCP commands on a very low programming level. The ECU M&C CCP functions provide direct access to the CCP commands on a very low programming level. The following figure outlines the three function categories.

ECU M&C Channel Functions

With the ECU M&C Channel functions there are a number of ways to access memory content in an ECU. The starting point is always the creation of a database task, which is the link to a valid ASAM MCD 2MC database file (*.A2L file), and the selection of the protocol (XCP or CCP). With the database task reference it is possible to create an ECU task reference, which links to the selected ECU. Depending on the application scenario, the ECU task reference can be used for the following:

  • Creation of a Measurement task to measure ECU internal data continuously or on demand
  • Direct read/write of 0- to 2-dimensional Characteristics
  • Read/write of single Measurement values on demand

What is an ECU Measurement?

An ECU Measurement, called ECU Data Acquisition (DAQ) in the XCP and CCP specifications, is a definition of specific procedures and CAN messages sent from the slave device (ECU) to the master device for fast data acquisition (DAQ).

The XCP protocol supports synchronous data transfer in both directions, from Master to Slave (DAQ list) and from Slave to Master (STIM list). XCP allows several DAQ lists, which may be simultaneously active. The sampling and transfer of each DAQ list is triggered by individual events in the slave. To allow reduction of the transfer rate, a transfer rate prescaler may be applied to the DAQ lists.

What is an ECU Characteristic?

An ECU Characteristic represents an ECU internal memory range with defined access methods through the CCP protocol. The memory range of a single Characteristic can be structured in three ways:

  • 0-dimensional—a single value
  • 1-dimensional—a curve of values
  • 2-dimensional—a field of values

A Characteristic may be defined as read-only or read and write accessible.

ECU M&C XCP and CCP Functions

The ECU M&C Channel functions do not expose the method used for ECU memory access. However, some applications may need specific XCP or CCP command sequences, or custom designed commands, which are not supported by the XCP or CCP protocols. For these applications, the ECU M&C XCP functions and the ECU M&C CCP functions provide access to the ECU information at a very low level.