RTA Knowledge Base

Introduction

The Diagnostic Extract is a standardized AUTOSAR exchange format on diagnostic functionality (DCM, DEM and FIM), formalized as an ARXML file.

During an ECU development project, three main roles (OEM, Application Developer and ECU Integrator) exchange Diagnostic Extract files. 

Therefore, the Diagnostic Extract format is based on the Diagnostic Extract Template (DEXT) that allows gradual enrichment of definitions by the different roles.

Further, it supports the automatic code generation process for diagnostic modules.

Scope

In this guide we will explain how to create a Diagnostic Extract file with a UDS configuration through the DEXT Editor of ISOLAR-AB.

Definitions and Abbreviations

BSW: AUTOSAR Basic Software, Hardware independent service layer

DCM: Diagnostic Communication Manager

DDDI: Dynamically Define Data Identifier

DEM: Diagnostic Event Manager

DEXT: Diagnostic Extract Template

DID: Diagnostic Identifier

DTC: Diagnostic Trouble Codes

FIM: Function Inhibition Manager

IOC: Input Output Control

OS: AUTOSAR Operating System

RTE: AUTOSAR Run-Time Environment

RDBI: Read Data By Identifier

UDS: Unified Diagnostic Services

WDBI: Write Data By Identifier

Toolchain

It is assumed you are using the RTA-CAR 9.2.0 toolchain:

RTA-CAR 9.2.0 toolchain

ISOLAR-ABv 9.2.0
RTA-RTEv 7.5.0
RTA-BSWv 6.1.2
RTA-OSv 6.2.0

However, the workflow should be applicable also with previous versions of the toolchain.

Prerequisites

In order to successfully follow this guide, you must have the RTA-CAR toolchain installed, and you must be familiar with the AUTOSAR specifications, terminology and methodology.

DEXT Editor container view

The DEXT Editor has a lot of different windows visible on the container view present on the left of the editor. 


Some parameters have to be configured from more than one view so, to help the understanding of the editor, here there is a summary of what can be configured from which view:

WindowParameters that can be configured
General or AccessPermissionSessions, security levels, environmental condition, access permission
ServiceTableDiagnostic connection
ServiceClassUDS services creation
UDSUDS services configuration 
IdentifierServicesDID, Data Element, RDBI, WDBI, DDDI services, Map services
ControlServicesIOC, ComControl, EcuReset, SecurityAccess services, Sessions, map R/WDBI
DTCServicesDTC services

Workflow

To configure correctly the UDS from the DEXT Editor a specific workflow has to be follow:

  1. Create a ContributionSet and a ServiceTable
  2. Create a Data Identifier (that will generate DID, DataElements and UDS Services)

Is very important that the second step of the workflow will be the creation of a Data Identifier because through this command not only a DID will be created, it will also generate automatically DataElements and UDS Services.  

Step 1. Contribution Set and Service Table creation

If a diagnostic configuration is not present on your project yet you can simply create one opening the DEXT editor.

To do so right click on the project name and click on Open with > DEXT Editor

After this step a window will open asking for the names of Contribution Set and Service Table that can be set as shown in this image:

N.B.: Unfortunately the Service Table name can be only set during this step and not changed anymore through the DEXT Editor. Anyway, it can be changed manually in the ARXML file if needed.

Step 2. Identifier Services Workflow

Configure DIDs window

The Configure DIDs window is the first step of the workflow shown opening the DEXT Editor and also the first that has to be configured:

The DIDs, Data Element, UDS Services, Sessions, Security Levels and Access Permission can and should be created from this window. 

The first step is the creation of a DID clicking on the command Create Data Identifier:

Inside the Create Data Identifier window can be configured:

  1. ID Values: Identifier of DID
  2. Data Elements: Data belong to the DID
  3. UDS Services: clicking on Preferences all the possible UDS services and subservices can be selected
  4. Access Permission: allow the selection of sessions and security levels

In this example we have configured only one DID with:

  1. ID value: 0xF189
  2. one Data Element with base type Unsigned
  3. Services:

After this step different parameter will be configured:

  • Data Identifier
  • Data Element
  • Security Level
  • Sessions
  • UDS services

Now, let see the other parameters that can be configured from the Configure DIDs windows other than the command Create Data Identifier.

Clicking on the Contribution Set column of the DID created in the step before to see also its Data Element on the table under it and configure all the parameters present in here as needed.

In this example you can configure:

  • Data Identifiers Short Name: DspDid_ASW_VER_F189
  • Data Identifiers Size: 64
  • Data Element Bit Offset: 0
  • Data Element Max Number Of Elements: 8

Configure Identifier Services - RDBI, WDBI

Moving on the second step of the workflow, the Configure Identifier Services, the RDBI and WDBI services are already present because they are added during the creation of a DID if selected, the first step of this guide.

Form here the default access permission of the DID can be configured or, you can create new AP configuration following this step ConfigureAccessPermissions and then connect them to the RDBI or WDBI form this view.

In this example the configuration is:

The Access Permission AP_Comb_002 is created under this step ConfigureAccessPermissions

Step 3. General Workflow

The General Workflow can be open clicking on General from the Diagnostic Services window and it allows to configure:

  • Sessions
  • Security Levels
  • Environmental Conditions
  • Access Permission 

Configure Session/Security Levels

From this window the Security Levels and Sessions created during ConfigureDIDswindow are visible and can be changed if needed.

New Security Levels and Sessions can also be added clicking on Create SecurityLevels and Create Sessions or the one created from the first step can be modified changing the parameters that are present in these two tables:


Configure Access Permissions

Moving on in the workflow, on Configure Access Permissions window, the Access Permission created during ConfigureDIDswindow are visible and can be changed if needed.

New AP can be added clicking on Create Access Permission or the one that are already present can be changed double clicking on the parameters that wants to be changed.

Service Table - Diagnostic Connection configuration

All the services added through ConfigureDIDswindow or ServiceClass-UDSservicesconfiguration can be seen in a table from the Service Table window but, no-one of them can be modified from here.

The Service Table window can be use to add or modify a Diagnostic Connection.

The one already generated from ConfigureDIDswindow can be seen by clicking on the Service Table and then on the Diagnostic Connection button 

Service Class - UDS services configuration

The Service Class window can be open clicking on the ServiceClass button under General.

The name of the UDS services created during  ConfigureDIDswindow can be seen and changed moving on the different windows that will appears clicking on the Show button, number two on the image below, and double clicking on the ShortName of the service that you want to change.

 

Step 4. UDS Window - UDS services configuration

The UDS Window can be open clicking on UDS from the Diagnostic Services window and it allows to see and configure all the services name and access permission that are created during ConfigureDIDswindow

Step 5. Control Services - Sessions and Security Level configuration

The Control Service window can be open clicking on the ControlService button under General.

The Security levels and Sessions created during  ConfigureDIDswindow can be seen and changed or add from the table SecurityAccessServices and SessionControlServices.

Step 6. ConfGen 

All the parameters configured through the DEXT Editor can be added to the ECU configuration clicking on ConfGen

After this step the Dcm configuration is visible on the file ApplicationECU_Project_Dcm_EcucValues.arxml from the BSW Editor of the DCM module.