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-AB | v 9.2.0 |
RTA-RTE | v 7.5.0 |
RTA-BSW | v 6.1.2 |
RTA-OS | v 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:
Window | Parameters that can be configured |
---|---|
General or AccessPermission | Sessions, security levels, environmental condition, access permission |
ServiceTable | Diagnostic connection |
ServiceClass | UDS services creation |
UDS | UDS services configuration |
IdentifierServices | DID, Data Element, RDBI, WDBI, DDDI services, Map services |
ControlServices | IOC, ComControl, EcuReset, SecurityAccess services, Sessions, map R/WDBI |
DTCServices | DTC services |
Workflow
To configure correctly the UDS from the DEXT Editor a specific workflow has to be follow:
- Create a ContributionSet and a ServiceTable
- 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:
- ID Values: Identifier of DID
- Data Elements: Data belong to the DID
- UDS Services: clicking on Preferences all the possible UDS services and subservices can be selected
- Access Permission: allow the selection of sessions and security levels
In this example we have configured only one DID with:
- ID value: 0xF189
- one Data Element with base type Unsigned
- 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.