RTA Knowledge Base

Introduction

Scope

This application note describes how to integrate the RTA-SUM ERRH module in your RTA-CAR 7.0.1 project using the RTA-SUM_1.0.0_MY23 packages. The ERRH module is an ASW module that:

  • Collects all the error events from the SUM and BSW modules
  • Does conditional checking of these events for DTC setting and event suppression
  • Debouncing of events and notifies Dem of these event statuses   
  • Conditional checks for clearing DTCs that are requested by the Dcm

Prerequisites

  • The user should read the RTA-SUM_ERRH_User_Guide.pdf available in the RTA-SUM package.
  • It is assumed you have followed the 1. SUM Integration - Getting started to install the RTA-SUM plugin.
  • In order to successfully follow this guide, you shall have the RTA-CAR toolchain installed and you must be familiar with the AUTOSAR specifications, terminology and methodology. You also must be familiar with the GM specification and GM-SUM modules functionalities.


The ERRH module integration depends on the below SUM modules being integrated in the project:

  • PNC - a working PNC project is recommended.

A working project with the following modules is also recommended, since the ERRH is linked with them:

  • Dem
  • Dcm
  • Nvm
  • SUSD (SUM)
  • LNM (SUM)
  • SSC (SUM)
  • SSM (SUM)

ERRH Configuration

If you haven't already, create an Errh module by following the generic SUM guide.

It is important to note that when modifying the configuration for the ERRH that you perform the changes in the correct .arxml file, to ensure configurations relating to the module are tracked in a module-specific file. It is also recommended that generic SUM configurations are inserted into an .arxml file labelled with the following format: "<Module>_SUM_EcucValues.arxml". See the image below for an example.

ERRH Calibration Configuration Parameters

Firstly configure the parameters in Errh_C_Params according to your Partial Network, Low Voltage Battery and diagnostic configuration. For details regarding the specific parameters refer to the ERRH module User Guide. See the image below for an example configuration.

ERRH BswErrors

The BswErrors are collections/aggregates of BSW production error events that come from the Dem module.

To create BswErrors right click ErrhConfigSet > New Child > BswError.

Choose the filter type and the thresholds related to the filter type, where X is the number of BSW event errors needed to set the related DTC, and Y is the number of counts/time the BSW event errors require to set the related DTC.

The DemEvent reference needs to be taken from a DemEventParameter in the Dem module, which needs to have a DemDTC and its related parameters configured. 

ERRH CanChannel

In order to manage BUS_OFF faults, it is also necessary to add the required references. For each Can channel available, configure the relevant DemEvent and Can_Channel as shown in the example below.

ERRH DtcConfigs

Any error events that are linked to the ERRH need to have a corresponding DtcConfig that maps to their DTCs.

To create a new one, right click > Create DtcConfigs.


The DtcConfig FaultType is project specific; refer to GB6001 for a definition of the types. The DTCRef reference needs to be taken from a DemDTC in the Dem module.

Please note that DTCConfigs container at a minimum should contain 1 (one) DTCConfig, for DTCTriggered be updated in Runnable_DTCsManagement

ERRH SumErrors

SUM specific errors are handled in SumErrors.

SUSD RunCrank faults are managed by the ERRH.

Below is an example of a SUSD DemEvent reference that is taken from a DemEventParameter in the Dem module, which needs to have a DemDTC and its related parameters configured.

The ERRH also handles SSM faults, when linked to the Authenticated Messages managed by the SSC module. An example of configuration is shown below (keep in mind that both SSC and SSM are required for this configuration):

Node loss events are configured in their own container "NodeLossErrors", collected separately depending on whether they are LNM managed or SSM managed. For each node a sub-container needs to created; a sample configuration is shown below, with the relevant Dem event referenced:

The SSCErrors container collects the specific errors linked to the SSC module security features. It is possible to configure MAC Generate, MAC Verify and Key Slot Verify faults under the respective containers; a sample configuration is shown below for each one.

MAC Generate errors require the configuration of the Dem Event referenced and, optionally, the filter definition, similarly to previous fault:

MAC Verify errors' configuration mirrors the Generate one:

Key Slot Verify errors require the configuration of not only the Dem Event referenced, but also of the FailedAuthenticationCounter and the QueueLength. Is is also important to set the KSV FilterType, as shown below:

General ERRH Configuration

Below is an example of an ErrhGeneral configuration. Errh_ComMPNCRef references a ComMPnc container in the ComM module, which should have been created as part of a PNC (Partial Network Cluster) project.

Build the ERRH Module

Now it is possible to run the ERRH Build by following the SUM Generation section of RTA-CAR 8.0.1 - 1. SUM Integration - Getting started.

Configuration of BSW

BswM Configuration

Firstly make sure to add the ERRH module's header file in the BswMUserIncludeFiles container under BswMGeneral:

A runnable needs to be referenced in the BswM to initialize the ERRH module.  

To do this a BswMAction needs to be created to then create the Init function in a BswMUserCallout container.

Then an ActionListItem that is linked to this BswMAction initialisation function needs to be created, so that it can be invoked as part of a BswM Rule. 

To allow the ERRH to control the enable/disable of DTC setting, start by adding the following DataTypeMappingSets:

Then create a switch port, referencing the ERRH's ModeGroupRef dedicated to DTC handling:


Next step is the creation of required Action Items and Action Lists, and referencing the Switch Port just created. Below you can find a sample configuration, for the enabling/disabling of both Dtcs:

Then create a ModeRequestPort to interface with the ERRH mode changes:

Set up the necessary Arbitration rules to manage the DTC setting. Refer to the example below:



Finally add a new port to the DCM, through which it will access the interface ServiceRequestNotification:

Dem Configuration

The ERRH interfaces and relies on the Dem events to perform its functions. DTCs and their Attributes are defined here, with their linked Dem Events.

An example for an SSM_FailedSafety event is shown below:

Finally set up the DemEvent that will interface with the ERRH module:


For a complete sample configuration please refer to the GM Starter Kit, particularly at DEM_ ERRH_EcucValues.arxml.

Generate BSW

Generate the BSW code to create the interfaces between the ERRH, BSW and SUM modules. 

ERRH SWC Interfaces (ASW level)

In regenerating the BSW, the interfaces get created and there will be some incorrect references in the generated ERRH module (open SUM_ERRH SWC from the AR Explorer).

This is because of a known issue in the generated SWC, which is missing some interface references.

You can fix this in ISOLAR-AB by importing the missing interfaces definitions: these definitions are contained in the ERRH_Intefaces.arxml file that you can find in the RTA-SK GM project.

This can also be fixed by adding the references manually. Firstly, try searching for the name of the port to see if the correct interface is shown:

If it is not, as shown above, then it will need to be added to the project. To do this you must create a new .arxml file, which you will copy each missing interface into.

Usually there is a one-to-one reference between the port shortname, and the interface. This makes it easier to search for missing references inside of a sample project.

For example, searching for SECP inside of a working project's ERRH SWCD arxml shows that the interface required is called "SECPError_Notification".

Missing interfaces can be found in ERRH_Interfaces.arxml, inside of the SK sample project. This file contains the interfaces which are missing from ERRH, and by searching for the port, you can find the interface it should link to in your project.

From here, you can copy the interface from the SK ERRH_Interfaces.arxml file into your own .arxml file (e.g. your own ERRH_Interfaces.arxml).

Once this is done and the project is refreshed in ISOLAR-AB (By pressing F5), the interface should automatically populate the empty input.

Note: Sometimes the data type of the port is also missing from the project; this will also need to be copied over from the starter kit project (please refer to ERRH_Interfaces.arxml).

ASW and System Update

Now the BSW and the ERRH configuration is completed. The next step is to update the ASW adding the ERRH to the composition and creating the connections with the other SWC (ASW, DEM, DCM, other SUMs).

An example might be the ERRH, that needs to be connected to the SUSD for the PermitExecution and the ShutdownPermission signals (please refer to the SUSD and ERRH User Guide for further information).

How to create the connections is out of the scope of this AN. Please consult the RTA-CAR Guides for more information.

In the RTA-SK we also added a test SWC to test the ERRH functionalities.

Now you can:

  1. Update all the connections in the ASW composition
  2. Add the SWC to the ECU Mapping using the "SWC To ECU Mapping Editor"
  3. Map the new signals in the Signal Mapping Editor
  4. Regenerate the Ecu Extract
  5. Update the RTE Configuration mapping the new runnables to the Tasks

BSW/RTE/OS generation

The last steps are:

  1. Run the BSW Code Generator
  2. Regenerate the RTE
  3. Generate OS

Integration with the ERRH is complete.



  • No labels