The Calibration Toolbox Components

Within this part we will explain the usage of the different components of the toolbox.

Filters

Streaming services

Filters

The XCP Master Filter

Introduction

The "XCP Master" - Filter connects the BUS devices (e.g. "XCP on CAN") in the streaming graph with the "XCP-En/Decode" - filters in the filter graph. The "XCP Master" - Filter provides the functionality to read from and write to XCP frames. In order to receive only a sub set of the available XCP values it is necessary to add a Binding Proxy between the "XCP Master" - Filter and the XCP De-/Encode Filter.

Configuration

The most important property of the "XCP Master" - Filter is the A2L or Xml Filename property where you should specify the A2L file that corresponds to the ECU that should be handled. Keep in mind that the "XCP Master" - Filter requires to be connected to one of the XCP Transport Filters/Sinks or Sources (CAN, Ethernet, FlexRay) in order to communicate with the slave ECU.

For further information about the configuration options please refer to XCP Master Filter Plugin.

Jump to top

The XCP Decode Filter

Introduction

The "XCP Decode" - Filter can be used to read out signal values of electronic control units. These values can be transformed from XCP frames into data structures common to ADTF (mediadescription) that are transmitted over the configured output pins. XCP allows two different modes for reading data from the ECUs memory:

Configuration

The property MapFilename specifies a configuration file which defines, what signals are acquired and/or written and how the data structures are made up that are sent over the filters output pins. For creating such a configuration file please see the Signal Config Filter Editor chapter.

For further information about the configuration options please refer to XCP Decode Filter Plugin.

Jump to top

The XCP Encode Filter

Introduction

The "XCP Encode" - Filter can be used to change signal values of the connected electronic control unit. The generated DDL values will be transformed into XCP frames and transmitted via your BUS filter to the ECU.
XCP allows two different modes for writing data to the ECUs memory:

Configuration

The property MapFilename specifies a configuration file which defines what signals are acquired and/or written and how the data structures are made up that are sent over the filters output pins. For creating such a configuration file please see the Signal Config Filter Editor chapter.

For further information about the configuration options please refer to XCP Encode Filter Plugin.

Jump to top

The XCP Emulator Filter

Introduction

The XCP Emulation Filter allows you to simulate any given ECU for which an A2L description file is available.

Configuration

To do so you specify the A2L file within the A2L or Xml Filename property and connect the filter with the XCP Transport Filter/Sink or Source (CAN, Ethernet, etc.) of your liking. Please make sure that you enable the Slave Mode property of your transport filter. The behaviour of the emulated ECU is described via a mandatory configuration file that specifies several so called ECU Processors. ECU Processors are plugins that can write to and read from ECU memory locations and react upon trigger events in the ECU. Please see following section for details.

For further information about the configuration options please refer to XCP Emulator Filter Plugin.

ECU Processor Configuration

The XML configuration file format is best described with the help of the following example:

  
  <?xml version="1.0" encoding="utf-8" standalone="no"?>
  <settings>
    <ecu_processors>
        <processor oid="adtf.ecu_processor.cyclic" event_name="100ms" interval="100000" />
        <processor oid="adtf.ecu_processor.constants" count="2" signal0="byteConstant1" value0="123" signal1="byteConstant2" value1="321" />
        <processor oid="adtf.ecu_processor.counter" signal_name="wordCounter" interval="50000" />
        <processor oid="adtf.ecu_processor.adtf_signal" signal_name="sawtooth" adtf_signal_name="Demo_Sawtooth_Provider/Demo Sawtooth Signal 0" />    
    </ecu_processors>
  </settings>
  
    
You can specify as many ECU Processors as you like (even multiple of the same kind) and you can configure your own ECU Processors. You can find a description of the already available ECU Processors in the following section.

Cyclic Event Processor

The Cyclic Event processor can be used to trigger a DAQ Event at a specific time interval.

Property Type Description
event_nameString The name of the event that should be triggered. Must be defined in the A2L file.
intervalInteger The interval in micro seconds at which the event should be triggered.

Constants Processor

The Constants processor can be used to set constant signal values at startup.

Property Type Description
countInteger The number of constants that should be set.
signalNString The signal name for constant N (with N starting at 0). Must be defined in the A2L file.
valueNInteger/Float The signal value for constant N (with N starting at 0).

Counter Processor

The Counter processor can be used to simulate a signal that represents a counter.

Property Type Description
signal_nameString The name of the signal that should be provided. Must be defined in the A2L file.
intervalInteger The interval in mirco seconds at which the counter should be incremented.

ADTF Signal Processor

The ADTF Signal processor can be used to forward a signal available through the ADTF Signal Registry on XCP.

Property Type Description
signal_nameString The name of the XCP signal that should be provided. Must be defined in the A2L file.
adtf_signal_nameString The name of the ADTF signal that should be forwarded.
scaleFloat An optional scale factor that is applied to the signal.
offsetFloat An optional offset that is added to the signal.

Jump to top

The XCP on CAN Filter

Introduction

The "XCP On CAN" - Filter can be used to communicate with ECUs that support XCP via CAN.

Configuration

To use it connect:

You will also find a example configuration within the delivered 'calibrationtoolbox.adtfproject'.

For further information about the configuration options please refer to XCP on CAN Filter Plugin.

Jump to top

The XCP on CAN FD Filter

Introduction

The "XCP On CAN FD" - Filter can be used to communicate with ECUs that support XCP via CAN FD.

Configuration

To use it connect:

For further information about the configuration options please refer to XCP on CANFD Filter Plugin.

Jump to top

The XCP On FlexRay Filter

Introduction

The "XCP On FlexRay" - Filter can be used to communicate with ECUs that support XCP via FlexRay.

Configuration

To use it connect:

For further information about the configuration options please refer to XCP On FlexRay Filter Plugin.

Jump to top

Qt5 XCP Master GUI Filter (BETA)

Introduction

The "Qt5 XCP Master GUI" - Filter can be used to select XCP signals and parameters for reading and writing while runtime.

For further information about the configuration options please refer to Qt5 XCP Master GUI Filter Plugin (BETA) Plugin.

Configuration

To use it connect:

Overview

The "Qt5 XCP Master GUI" - Filter creates two xSystem Windows:
XCP Measurement UI
The "XCP Measurement UI" window can be used to create a Measurement Configuration. This configuration consists of Measurement Methods (e.g. a DAQ - Event) which contain XCP Signals. Regarding the configuration the signals will be requested from the ECU and decoded. After pushing the Re-/Start Measurement - button, the signal values will be updated automatically and printed in the corresponding Value cell.


Measurement Configuration
  1. Open the config menu of the measurement - Configuration View and choose the Add Measurement Method... - entry.
  2. This will open the Measurement Method Dialog, where you can create a Measurement Method regarding your needs:

    You can choose between
    • a DAQ - Method
    • a Polling - Method
    By pushing the OK - button the Measurement Method will appear in the Configuration View. Due to the naming convention of the Measurement Methods, you can easily identify the methods setting.
    Examples:
    • DAQ 10 ms (1): DAQ - Event 10 ms with a prescaler 1
    • Polling 1000000 [ms]: A polling interval of 1000000 milliseconds
  3. By opening the Configuration View context menu on a selected Measurement Method, the Add Signals to Measurement Method... - entry is activated. Pushing this will open the Signal List Editor - Dialog.
  4. Here you can select all signals, you like to add to the Measurement Method
  5. Since you finished your Measurement Configuration, you're able to start the measurement by hitting the Re-/Start Measurement - button. The XCP Master Filter will request the XCP Signals regarding the Measurement Method. Signal updates will immediately be decoded and plotted.
Loading a Measurement Configuration

You can load a *.json measurement configuration by

The *.json must declare for every measurment method:

Example configuration file:
[
  {
    "daq_event": "10 ms",
    "name": "DAQ 10 ms (1)",
    "signals": [
      "BitSlice",
      "KL1"
    ]
  },
  {
      "name": "Polling 100000 [ms]",
      "polling_interval": 100000,
      "signals": [
          "bit12Counter"
      ]
  }
]

The Import Configuration from Mapfile... context menu entry will create the measurement configuration from a already existing *.map file. You can find brief introduction of the *.map format here.

Saving a Measurement Configuration


XCP Parameter UI
The "XCP Parameter UI" window can be used to create a Parameter Configuration containing XCP Parameters. For all configured elements, a SpinBox will be shown. With the help of these, you can change the value of the corresponding element. Pushing the Write to ECU - button will transmit the updates to the ECU.


Parameter Configuration
  1. Open the config menu of the parameter - Configuration View and choose the Add Parameters... - entry.
  2. The Signal List Editor - Dialog will open, and you're able to add selected signals/parameters to the Parameter Configuration.
  3. Use the SpinBoxes to change the parameters value and hit the Write to ECU - button, to write all signal updates to the ECU.
Loading a Parameter Configuration
You can load different parameter file formats with Possible file formats:
Saving a Parameter Configuration

Jump to top

Streaming services

XCP On Ethernet Receiver

Introduction

The "XCP On Ethernet Receiver" can be used to receive ethernet frames with XCP information and provide them to the XCP Master.

Configuration

To use it connect:

With the delivered XCP on Ethernet - Master Session we are providing you a small example how to build up a running XCP On Ethernet Connection.

For further information about the configuration options please refer to XCP On Ethernet Receiver Plugin.

Jump to top

XCP On Ethernet Transmitter

Introduction

The "XCP On Ethernet Transmitter" can be used to send the XCP frames (from XCP Master Filter) via Ethernet to the ECU.

Configuration

To use it connect:

With the delivered XCP on Ethernet - Master Session we are providing you a small example how to build up a running XCP On Ethernet Connection.

For further information about the configuration options please refer to XCP on Ethernet Transmitter Plugin.

Jump to top