Configuration Desk Bus Manager Implementation Guide
Configuration Desk Bus Manager Implementation Guide
If possible, always provide the serial number of the hardware, the relevant dSPACE License
ID, or the serial number of the CmContainer in your support request.
Important Notice
This publication contains proprietary information that is protected by copyright. All rights
are reserved. The publication may be printed for personal or internal use provided all the
proprietary markings are retained on all printed copies. In all other cases, the publication
must not be copied, photocopied, reproduced, translated, or reduced to any electronic
medium or machine-readable form, in whole or in part, without the prior written consent
of dSPACE GmbH.
This publication and the contents hereof are subject to change without notice.
Contents
Safety Precautions 15
General Warning .......................................................................................... 15
3
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Contents
4
ConfigurationDesk Bus Manager Implementation Guide May 2024
Contents
5
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Contents
Bus Configuration Features Available for Global Time Domains.................. .......... 313
Controlling the Timing of Time Synchronization.......................................... 313
Accessing the Time Base Data of Time Masters and Time Slaves.................. 315
Accessing Validity Checks for Time Synchronization Messages..................... 317
6
ConfigurationDesk Bus Manager Implementation Guide May 2024
Contents
7
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Contents
8
ConfigurationDesk Bus Manager Implementation Guide May 2024
Contents
Appendix 537
Mapping of Bus Manager PDU Types to Communication Standard
PDU Types................................................................................................... 537
9
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Contents
Index 571
10
ConfigurationDesk Bus Manager Implementation Guide May 2024
About This Guide
Note
Two variants of the Bus Manager are available, the Bus Manager in
ConfigurationDesk and the Bus Manager (stand-alone). For information on
working with the Bus Manager (stand-alone), refer to Bus Manager (Stand-
Alone) Implementation Guide .
Target group This guide is primarily intended for engineers who configure bus communication
for simulation, inspection, and/or manipulation purposes. The target group
performs some or all of the following tasks:
§ Set up bus communication based on communication matrices.
§ Specify a model interface to exchange bus signals between ConfigurationDesk
and a behavior model modeled in a modeling tool such as
MATLAB®/Simulink®.
§ Build real-time applications or generate bus simulation containers that include
the configured bus communication.
11
May 2024 ConfigurationDesk Bus Manager Implementation Guide
About This Guide
Symbol Description
Indicates a hazardous situation that, if not avoided,
V DANGER
will result in death or serious injury.
Indicates a hazardous situation that, if not avoided,
V WARNING could result in death or serious injury.
Indicates a hazardous situation that, if not avoided,
V CAUTION could result in minor or moderate injury.
Indicates a hazard that, if not avoided, could result in
NOTICE
property damage.
Indicates important information that you should take
Note
into account to avoid malfunctions.
Indicates tips that can make your work easier.
Tip
Indicates a link that refers to a definition in the
glossary, which you can find at the end of the
document unless stated otherwise.
Follows the document title in a link that refers to
another document.
Naming conventions dSPACE user documentation uses the following naming conventions:
Special Windows folders Windows‑based software products use the following special folders:
12
ConfigurationDesk Bus Manager Implementation Guide May 2024
About This Guide
Accessing dSPACE Help and After you install and decrypt Windows‑based dSPACE software, the
PDF files documentation for the installed products is available in dSPACE Help and as PDF
files.
dSPACE Help (local) You can open your local installation of dSPACE Help:
§ On its home page via Windows Start Menu
§ On specific content using context-sensitive help via F1
PDF files You can access PDF files via the icon in dSPACE Help. The PDF
opens on the first page.
13
May 2024 ConfigurationDesk Bus Manager Implementation Guide
About This Guide
14
ConfigurationDesk Bus Manager Implementation Guide May 2024
Safety Precautions
Safety Precautions
General Warning
Danger potential Using dSPACE software can be dangerous. You must observe the following
safety instructions and the relevant instructions in the user documentation.
V WARNING
15
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Safety Precautions
Data loss during operating The shutdown procedure of Microsoft Windows operating systems causes some
system shutdown required processes to be aborted although they are still being used by dSPACE
software. To avoid data loss, the dSPACE software must be terminated manually
before a PC shutdown is performed.
16
ConfigurationDesk Bus Manager Implementation Guide May 2024
Introduction to the Bus Manager
Purpose of the Bus Manager The Bus Manager lets you configure bus communication for simulation,
inspection, and manipulation purposes. You can work with multiple
communication matrix files in various file formats and configure the
communication of multiple communication clusters at the same time.
17
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Introduction to the Bus Manager
Variants of the Bus Manager Two variants of the Bus Manager are available. The following illustration provides
an overview of the variants and their fields of application.
Bus Manager in SCALEXIO, MicroAutoBox III,
ConfigurationDesk MicroLabBox II
Real-time
application
Re
ap al-ti
pli me
ca
tio
n
Communication ControlDesk
Bu
ss
matrices
im
ula
NS_ :
Behavior
t
Projects
model
ion
NS_DESC_
CM_
</> BA_DEF_
BA_
c
VAL_
on
CAT_DEF_
CAT_
tai
ne
r
e
Bus Manager flin n
(stand-alone) Of latio n
VEOS u tio
sim lica
pp
Bus simulation a
container
18
ConfigurationDesk Bus Manager Implementation Guide May 2024
Overview of the Bus Manager
To watch this video, click the following link or scan the QR code:
https://www.dspace.com/dspace-help/kqEcy
Providing preview versions of Some features of the Bus Manager are provided as a preview version, i.e., the
Bus Manager features features are in an early but completely tested development stage. You can
unambiguously identify the respective features by the (preview version) suffix,
which is used for the feature descriptions in this document.
We provide these preview versions so you can use new features of the Bus
Manager as early as possible. Moreover, we would like to collect feedback that
we can consider in the further feature development. Do you have any feedback?
Contact dSPACE Support (www.dspace.com/go/supportrequest).
Note
Bus Manager license The Bus Manager is license-protected. Refer to Required Licenses
(ConfigurationDesk Getting Started ).
ConfigurationDesk and the When you work with the Bus Manager, you can use all the elements of
Bus Manager ConfigurationDesk and all the ConfigurationDesk concepts apply to your work.
19
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Introduction to the Bus Manager
Consistent user interface The Bus Manager provides a consistent user interface for different bus systems
and use cases, letting you configure the bus communication according to your
requirements. For example, you can configure the bus communication for various
bus systems simultaneously without switching between different tools or views.
Supported bus systems The Bus Manager supports the following bus systems:
§ CAN
§ LIN
For details on supported bus system features, refer to Aspects of Supported Bus
Communication on page 57.
Implementing bus The main elements for implementing bus communication in a ConfigurationDesk
communication in application are:
a ConfigurationDesk § Communication matrices
application § Bus configurations
Tip
20
ConfigurationDesk Bus Manager Implementation Guide May 2024
Overview of the Bus Manager
Supported communication The Bus Manager supports the following communication matrix file formats:
matrix file formats § AUTOSAR system description files (ARXML files)
§ FIBEX files (XML files)
§ DBC files
§ LDF files
For details on the supported communication matrix file formats and versions,
refer to Working with Communication Matrices on page 92.
Working with behavior Behavior models can define the behavior of ECUs, for example.
models
When you configure bus communication with the Bus Manager, you can work
with or without behavior models .
§ If you work with behavior models and implement bus communication in a
real-time application, you can configure the bus communication independently
from a specific modeling tool, i.e., the behavior models can be modeled with
MATLAB®/Simulink® or other modeling tools.
§ If you work with behavior models and generate bus simulation containers, the
behavior models must be Simulink® implementation containers (SIC files).
To work with Simulink implementation containers, no local MATLAB/Simulink
installation is needed.
However, if you want to use the full functionality of the Bus Manager
when working with behavior models, MATLAB/Simulink must be installed and
connected to your dSPACE installation.
Conflict handling The Bus Manager lets you configure the bus communication without strict
constraints. This lets you work more freely, but it can lead to conflicting
configuration settings, such as duplicate CAN identifiers for CAN frame
triggerings of one channel. Before building a real-time application or generating
bus simulation containers, you have to resolve at least the most severe conflicts.
You can view and resolve conflicts via the Conflicts Viewer.
21
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Introduction to the Bus Manager
Supported real-time hardware Real-time applications containing bus communication that is configured with the
Bus Manager are supported by SCALEXIO, MicroAutoBox III, and MicroLabBox II
systems with the following real-time hardware:
§ SCALEXIO real-time hardware:
§ DS2671 Bus Board
§ DS2672 Bus Module
§ DS6301 CAN/LIN Board
§ DS6341 CAN Board
§ DS6342 CAN Board
§ DS6344 CAN Board
§ DS6351 LIN Board
§ MicroAutoBox III real-time hardware:
§ DS1511/DS1511B1 Multi-I/O Board
§ DS1513 Multi-I/O Board
§ DS1521 Bus Board
§ DS4342 CAN FD Interface Module
§ MicroLabBox II real‑time hardware: DS1303 Multi‑I/O Board, supported
channel types:
§ CAN 9 channel type
§ LIN 5 channel type
Support of You can automate Bus Manager features via the ConfigurationDesk automation
the ConfigurationDesk interface. For more information, refer to Accessing Bus Manager Features via the
automation interface ConfigurationDesk Automation Interface on page 152.
Bus Manager tutorials Two tutorials are available for the Bus Manager:
§ Bus Manager Tutorial: Guides you through the basic steps when you start
working with the Bus Manager using the user interface. The tutorial introduces
you to typical workflows and provides detailed descriptions on the individual
workflow steps.
Refer to Bus Manager Tutorial .
§ Using Python for Automating the Bus Manager: Shows you how to automate
workflows that are provided by the Bus Manager Tutorial using Python.
Tip
Bus Manager demos Two demos are available for the Bus Manager:
§ Bus Manager Basics demo: Introduces you to the basic steps of accessing the
Bus Manager and configuring simple bus communication.
22
ConfigurationDesk Bus Manager Implementation Guide May 2024
Introduction to Bus Communication Defined in Communication Matrices
Both Bus Manager demos use automation to access the Bus Manager and
configure the bus communication. Refer to Working with the Bus Manager
Demos on page 441.
Purpose of communication To work with the Bus Manager, you need at least one communication
matrices matrix. Communication matrices define the communication of a bus network.
A communication matrix can describe the bus communication of one
communication cluster or a bus network consisting of different bus systems and
communication clusters. The topology of the bus communication defined in a
communication matrix consists of various elements.
Example for bus The following illustration is an example of a communication matrix that defines a
communication defined in a simple bus communication network of a vehicle consisting of three bus systems
communication matrix (CAN, LIN, FlexRay) and five communication clusters.
Channel A
Body CAN Channel B Vehicle Dyn FlexRay
ECU/network node
Powertrain Powertrain
Comfort ECU 1 Comfort ECU 2 ECU 1 ECU 2
23
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Introduction to the Bus Manager
Elements of a bus The following terms are used to describe the topology of the bus communication
communication topology defined in a communication matrix:
§ Channel
Describes the physical channel that is used for bus communication. Depending
on the bus protocol, one or more channels are used for bus communication:
for example, CAN and LIN use one channel, FlexRay uses up to two channels.
§ Communication cluster
Describes all the network nodes that are connected to the same physical
channel(s) and share the same bus protocol and address range.
§ ECU/network node
An ECU can be a member of multiple bus systems and communication
clusters. Depending on the focus of the bus communication that is performed
by an ECU, the following terms are used:
§ ECU addresses the entire bus communication of an ECU, i.e., the
communication for all the connected communication clusters.
§ Network node addresses the bus communication of an ECU for only one
communication cluster.
24
ConfigurationDesk Bus Manager Implementation Guide May 2024
Elements of the Bus Manager
User interface When you work with the Bus Manager, you use Bus Manager elements and
standard ConfigurationDesk elements. In the following illustration, the Bus
Manager elements are in bold letters.
View-set-specific Home
ribbon (here: specific for Working area
Buses view set) Buses Browser (Bus Manager-specific tables displayed)
Bus Manager elements of the The following elements of the user interface are specific to the Bus Manager.
user interface
Buses view set Provides access to panes that are frequently used when you
configure bus communication with the Bus Manager. Additionally, the Home
ribbon provides access to frequently used commands when you configure bus
communication. Some of these commands are specific to the Bus Manager.
Buses Browser Lets you add new communication matrices to the active
ConfigurationDesk application and provides access to all the communication
matrices of the active application. You can select communication matrices
completely or partly to assign them to bus configurations.
25
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Introduction to the Bus Manager
26
ConfigurationDesk Bus Manager Implementation Guide May 2024
Elements of the Bus Manager
Tip
The Project Manager displays the project folder and its content, such
as application subfolders. You can include external documents, such as
communication matrices, in the project folder and/or its subfolders. External
documents are included in project and application backups. Refer to
Handling ConfigurationDesk Projects and Applications (ConfigurationDesk
Real-Time Implementation Guide ).
27
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Introduction to the Bus Manager
28
ConfigurationDesk Bus Manager Implementation Guide May 2024
Use Scenarios for Configuring Bus Communication with the Bus Manager
Overview of the Use Scenarios for Configuring Bus Communication with the
Bus Manager
Introduction The Bus Manager lets you implement bus communication in a ConfigurationDesk
application. You can import communication matrices of different types and
configure the bus communication of various bus systems at the same time for
different use scenarios.
29
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
Overview of the use scenarios In general, you can configure the bus communication for the following use
scenarios:
Configure bus communication The Bus Manager lets you independently configure the bus communication for
independently for the use simulation, inspection, manipulation, and/or gateway purposes. For example, if
scenarios you configure bus communication for simulation purposes or change the already
configured bus communication, this does not affect the bus communication that
is configured for inspection, manipulation, or gateway purposes.
To achieve this, dedicated bus configuration parts are available that let you
configure the bus communication. You can access the bus configuration parts in
the Bus Configurations table. Refer to Bus Configurations table on page 105.
Tip
Implementing the configured Depending on your use scenario, you can implement the configured bus
bus communication in communication in a real-time application or in bus simulation containers:
real‑time applications or bus § Using a real-time application, you can load the bus communication to real-
simulation containers time hardware.
§ Using bus simulation containers, you can implement the bus communication in
an offline simulation application , for example.
You can access the bus communication of the real-time application and offline
simulation application via experiment software.
30
ConfigurationDesk Bus Manager Implementation Guide May 2024
Use Scenarios for Simulating Bus Communication
Accessing and manipulating Depending on your settings, you can access and manipulate the bus
bus communication via communication via experiment software such as ControlDesk during run time.
experiment software You can, for example:
§ Switch the signal sources between a static signal value specified in
ConfigurationDesk and dynamic signal values that are exchanged with the
behavior model.
§ Manipulate signal values to simulate value changes or faulty signals.
Introduction The Bus Manager lets you simulate the bus communication between ECUs of the
same or different communication clusters or bus systems.
ECU or restbus simulation You can simulate individual ECUs or perform a restbus simulation.
§ ECU simulation
Simulating individual ECUs lets you, for example, test the behavior model of an
ECU before the real ECU is available.
§ Restbus simulation
Restbus simulation lets you test one or more ECUs while simulating the other
ECUs of the related communication clusters. ECUs under test can be one of
the following:
§ Real ECUs that are connected to a simulator.
§ V-ECU implementations that are implemented in SIL simulation .
For example, 'Comfort ECU 1' is available as a real ECU and connected to
a simulator. To test this ECU, you can simulate all the other members of the
'Comfort CAN' and 'Comfort LIN' clusters (restbus simulation). The following
illustration displays this example graphically:
31
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
Comfort CAN
Comfort LIN
Simulated restbus
Tip
The Bus Manager can help you to configure a restbus simulation. Refer to
Creating Restbus Configurations on page 121.
Static and dynamic simulation Depending on the requirements of your simulation, you can perform a static
and/or dynamic simulation:
Simulation Description
Type
Static You can perform a static simulation to transmit or receive constant signal values on the bus. This is often sufficient
simulation in most use cases: For example, you perform a restbus simulation and the ECU under test expects a cabin
temperature within a specific temperature range from an ECU that is part of the simulated restbus. In this case,
you can let the simulated ECU transmit a constant temperature value that is within this temperature range.
You can use constant values that are defined in the communication matrix or specify user-defined constant values
in ConfigurationDesk. Static simulation lets you work without a behavior model that defines, for example, the
behavior of ECUs.
Dynamic When signals of a simulated ECU change dynamically during run time (e.g., cabin temperature values that
simulation are regulated by the ECU under test and exchanged with the simulated ECU), you have to perform a
dynamic simulation: You have to connect these signals to a behavior model that is, for example, modeled in
MATLAB®/Simulink®. The control algorithms of the behavior model calculate the dynamic signal values of the
simulated ECU during run time. If required, you can also switch between static and dynamic signal values during
run time.
Workflow To configure bus communication for simulation purposes, you have to assign
communication matrix elements to the Simulated ECUs part of one or more bus
configurations and add bus configuration features to the elements.
32
ConfigurationDesk Bus Manager Implementation Guide May 2024
Use Scenarios for Inspecting Bus Communication
§ Typical Workflows for Using the Bus Manager and Generating Bus Simulation
Containers on page 51
Tip
Introduction The Bus Manager lets you inspect the bus communication of communication
clusters independently from the involved ECUs.
Inspecting bus communication The following illustration is an example of inspecting bus communication in
combination with a restbus simulation.
Inspection
Comfort CAN
Comfort LIN
Restbus simulation
33
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
Depending on your use scenario, you can use the inspected bus communication
in a mapped behavior model (e.g., to have a simulated ECU react on the
inspected bus communication).
Workflow To configure bus communication for inspection purposes, you have to assign
communication matrix elements to the Inspection part of one or more bus
configurations and add bus configuration features to the elements.
Tip
Introduction The Bus Manager lets you manipulate the bus communication before it is
transmitted to the ECU under test (e.g., a real ECU that is connected to the
simulator). This lets you test the response of the ECU under test in case it
receives faulty bus communication, for example.
34
ConfigurationDesk Bus Manager Implementation Guide May 2024
Use Scenarios for Manipulating Bus Communication
Manipulation
Comfort CAN
Comfort LIN
Restbus simulation
The manipulation applies to frames and their included PDUs and ISignals
immediately before a frame is transmitted on the bus, regardless of the source
that sends the frame on the simulation platform. For example, the source can be
an ECU that is simulated by the Bus Manager, a frame gateway, or frames in a
data replay use scenario.
Depending on your use scenario, you can manipulate the bus communication
permanently or temporarily:
§ Permanent manipulation lets you test, for example, if and how the ECU under
test reacts on the faulty bus communication.
§ Temporarily manipulation lets you test, for example, the fault memory of the
ECU under test.
Note
Workflow To configure bus communication for manipulation purposes, you have to assign
communication matrix elements to the Manipulation part of one or more bus
configurations and add bus configuration features to the elements.
35
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
Tip
Introduction The Bus Manager lets you gateway bus communication, i.e., route bus
communication between different bus channels. This lets you exchange frames
between different communication clusters .
The Bus Manager offers two different approaches for gatewaying bus
communication:
§ You can gateway CAN frames that pass a specified filter between two
communication clusters.
§ You can simulate PDU gateways that are specified in communication matrices.
If a communication matrix does not specify a required PDU gateway, you can
modify the communication matrix to specify user‑defined PDU gateways.
CAN frame gateways Use scenario for CAN frame gateways A typical use scenario for a CAN
frame gateway is a failure gateway, i.e., the CAN frames are not only routed
from one channel to another but also manipulated. The following illustration is
an example for a failure gateway with real ECUs connected to the simulator.
Only the ECU under test receives the gatewayed and manipulated frame.
36
ConfigurationDesk Bus Manager Implementation Guide May 2024
Use Scenarios for Gatewaying Bus Communication
Comfort ECU 1
Simulator
ECU
under test 11001101 TX: Frame 1
RX: Frame 1 11001101
Gateway
Ch 1
Comfort CAN
11001101
11001101
TX: Frame 1
RX: Frame 1
For more information on CAN frame gateways, refer to Specifying CAN Frame
Gateways on page 173.
PDU gateways (preview Use scenario for PDU gateways A typical use scenario for a PDU gateway
version) is the simulation of a gateway ECU according to AUTOSAR, as shown in the
following example.
Gateway ECU
receive
Body CAN Source PDU (RX) Source PDU (RX)
transfer data
transmit
Comfort LIN Target PDU 2 (TX)
Workflow To configure PDU gateways, you have to add the respective source
and target PDUs to the Simulated ECUs part of the same bus configuration. If a
37
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
communication matrix does not specify a required PDU gateway, you can modify
the communication matrix to specify user‑defined PDU gateways.
For an overview of the required workflow steps, refer to:
§ Typical Workflows for Using the Bus Manager and Building Real-Time
Applications on page 43
§ Typical Workflows for Using the Bus Manager and Generating Bus Simulation
Containers on page 51
Note
Introduction Depending on your use scenario, you can configure bus communication in
different ways:
§ To access data that is received on the bus, you can configure bus
communication for simulation and/or inspection.
§ To access data that is transmitted on the bus, you can configure bus
communication for simulation and/or manipulation.
Tip
If it is required according to your use scenario, you can also combine the
different ways for configuring bus communication.
For example, if you simulate an ECU and you want to manipulate some of
the PDUs that are transmitted by the simulated ECU, you have to assign the
respective PDUs to the Simulated ECUs part and the Manipulation part of
a bus configuration:
§ The transmission of the PDUs is triggered according to their configuration
in the Simulated ECUs part.
§ Immediately before the PDUs are actually transmitted on the bus,
you can manipulate their data according to the configuration in the
Manipulation part.
Criteria for using RX The following criteria can help you to decide whether RX simulation or
simulation or inspection inspection is the better approach for your use scenario to access data that is
received on the bus:
38
ConfigurationDesk Bus Manager Implementation Guide May 2024
Criteria for Simulating, Inspecting, or Manipulating Bus Communication
Criteria for using TX The following criteria can help you to decide whether TX simulation or
simulation or manipulation manipulation is the better approach for your use scenario to access data that
is transmitted on the bus:
39
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
Introduction A special use scenario is to receive data on a bus, manipulate some of the data,
and provide this data to a behavior model.
You cannot realize this use scenario by configuring bus communication for
manipulation, i.e., using the Manipulation part of bus configurations. This is
because this manipulation applies only to data that is transmitted on the bus.
Instead, you have to configure the bus communication for reception and
generate additional variables into the variable description file (TRC file). By this,
you can access and manipulate the received data via experiment software before
it is provided to the behavior model.
Note
Recommended workflow To ensure optimum run‑time performance for this use scenario, it is
recommended to configure the bus communication as shown in the following
illustration.
Bus configuration
Variable description: Complete
Function outports:
Enable model access and Model port block Behavior model
test automation support
40
ConfigurationDesk Bus Manager Implementation Guide May 2024
Special Use Scenario: Providing Received and Manipulated Data to a Behavior Model
§ To generate the additional variables into the variable description file, set the
Variable description property of the bus configuration to Complete.
Manipulating the bus At run time, you can access the function outports with enabled test automation
communication at run time support via experiment software, such as ControlDesk. Using the experiment
software, you can manipulate the data that is received on the bus. You can
do this by using the TA_Switchvalue and TA_Replacevalue variables of the
function outports. The manipulated data is then provided to the behavior model.
For more information on the variables that are generated into the variable
description file, refer to Accessing Function Ports with Enabled Test Automation
Support in Variable Description Files (TRC Files) on page 202.
Tip
If you are using ControlDesk to access the data: The variables are not
available in the Bus Instruments. You have to manually select them in the
Variables pane and assign them to instruments.
41
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Use Scenarios for Configuring Bus Communication with the Bus Manager
42
ConfigurationDesk Bus Manager Implementation Guide May 2024
Typical Workflows for Using the Bus Manager and Building Real-Time Applications
Workflow for Using the Bus Manager and Configuring Bus Communication
for Real-Time Applications
Introduction Implementing bus communication by using the Bus Manager has only a minor
influence on the standard ConfigurationDesk workflows for building a real-time
application.
Overview The following illustration gives you an overview of the workflow for using the
Bus Manager and configuring bus communication for a real-time application.
Parts that are specific to this workflow are in bold letters. Parts that are optional
for configuring bus communication are marked by dashed lines.
43
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Building Real-Time Applications
Communication matrices
(created in external tool)
ConfigurationDesk
Model interface*
Signal chain
Bus configuration
Bus Configuration
function block
External CAN/LIN
function
devices blocks
Hardware
resources
44
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configuring Bus Communication for Real-Time Applications with a Behavior Model
Further information For general information on typical ConfigurationDesk workflows, refer to Typical
Workflows for Beginners (ConfigurationDesk Getting Started ).
Introduction When signals that are assigned to a bus configuration have to change
dynamically during run time (e.g., for dynamic ECU simulation), you need a
behavior model and have to map the required signals to the model before you
build a real-time application.
45
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Building Real-Time Applications
Communication matrices
(created in external tool)
Bus configuration
Bus Configuration Model port Model port Control
function block blocks blocks system
Bus access request
External CAN/LIN
function
devices blocks
Hardware
resources
Build
Build results
EXPSWCFG
SDF RTA
TRC MAP
Real-time hardware
SCALEXIO,
MicroAutoBox III,
Download MicroLabBox II
Workflow Building a real-time application that includes bus communication configured with
the Bus Manager and a behavior model comprises the following workflow steps:
1. Configure the bus communication via the Bus Manager. Refer to Workflow
for Using the Bus Manager and Configuring Bus Communication for Real-
Time Applications on page 43.
2. Enable model access for function ports.
Refer to How to Enable Model Access for Function Ports on page 351.
3. Add a behavior model to the ConfigurationDesk application and map the
function ports with enabled model access to model ports:
§ If you already have a suitable behavior model, add the behavior model to
the ConfigurationDesk application. When you do this, model port blocks
46
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configuring Bus Communication for Real-Time Applications with a Behavior Model
are available in the Model Browser. You can then map the function ports
to the available model ports (e.g., via bus configuration tables).
Refer to How to Add Behavior Models to a ConfigurationDesk Application
on page 352.
§ If you do not have a suitable behavior model yet, ConfigurationDesk can
support you by creating the required model interface. This is possible only
if MATLAB®/Simulink® and Model Interface Package for Simulink are
installed.
For more information, refer to Transferring the ConfigurationDesk Model
Interface to a New Simulink Interface Model (ConfigurationDesk Real-Time
Implementation Guide ).
4. Model the executable application and tasks.
Tip
Overview of the Use Scenarios for Configuring Bus Communication with the Bus
Manager.................................................................................................................................. 29
47
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Building Real-Time Applications
Introduction When signals that are assigned to a bus configuration do not have to change
dynamically during run time (e.g., in case of static ECU simulation) or you only
want to access the signals via an experiment software, you can work without a
behavior model.
Overview The following illustration gives you an overview of working without a behavior
model. Parts that are specific to this use scenario are in bold letters. Parts that are
optional for this use scenario are marked by dashed lines.
Communication matrices
(created in external tool)
ConfigurationDesk
Signal chain
Bus configuration
Bus Configuration
function block
External CAN/LIN
function
devices blocks
Hardware
resources
Creating application
processes providing
default tasks
Build
Build results
EXPSWCFG
SDF RTA
TRC MAP
Real-time hardware
SCALEXIO,
MicroAutoBox III,
Download MicroLabBox II
48
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configuring Bus Communication for Real-Time Applications Without a Behavior Model
Workflow Building a real-time application that includes bus communication configured with
the Bus Manager but no behavior model comprises the following workflow
steps:
1. Configure the bus communication via the Bus Manager.
Refer to Workflow for Using the Bus Manager and Configuring Bus
Communication for Real-Time Applications on page 43.
2. Create at least one application process that provides default tasks.
Refer to How to Create Application Processes that Provide Default Tasks on
page 386.
3. Configure and start the build process.
During the build process, an EXPSWCFG file is generated that contains the
bus configuration data. This file is used by an experiment software such as
ControlDesk to access and manipulate bus communication.
Refer to Building Real-Time Applications (ConfigurationDesk Real-Time
Implementation Guide ).
4. Download and execute the real-time application.
Refer to Loading and Executing Real-Time Applications (ConfigurationDesk
Real-Time Implementation Guide ).
Overview of the Use Scenarios for Configuring Bus Communication with the Bus
Manager.................................................................................................................................. 29
49
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Building Real-Time Applications
50
ConfigurationDesk Bus Manager Implementation Guide May 2024
Typical Workflows for Using the Bus Manager and Generating Bus Simulation Containers
Introduction You can use the Bus Manager to configure bus communication and generate
bus simulation containers that contain the configured bus communication.
Bus simulation containers can be used on various dSPACE simulation
platforms. For example, you can use bus simulation containers in VEOS or
ConfigurationDesk to implement the configured bus communication in offline
simulation applications or real-time applications , respectively.
Overview The following illustration gives you an overview of the workflow for using the
Bus Manager to configure bus communication and generate a bus simulation
container that contains the configured bus communication. Parts that are specific
to this workflow are in bold letters.
51
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Generating Bus Simulation Containers
Communication matrices
(created in external tool)
Bus Manager in ConfigurationDesk
or stand-alone
Model interface*
Signal chain
Bus configuration
Bus Configuration
function block
52
ConfigurationDesk Bus Manager Implementation Guide May 2024
Generating Bus Simulation Containers with a Behavior Model
6. Generate the bus simulation container. The necessary steps depend on your
use scenario. For more information, refer to the following workflows:
§ Generating Bus Simulation Containers with a Behavior Model on page 53
§ Generating Bus Simulation Containers Without a Behavior Model on
page 54
Introduction When signals that are assigned to a bus configuration have to change
dynamically during run time (e.g., for dynamic ECU simulation), you need a
behavior model and have to map the required signals to the model before you
generate bus simulation containers. The behavior model must be a Simulink®
implementation container (SIC) file.
Overview The following illustration gives you an overview of working with a behavior
model. Parts that are specific to this use scenario are in bold letters.
Communication matrices
(created in external tool)
Bus Manager in ConfigurationDesk
or stand-alone MATLAB®/Simulink® +
Model Interface
Model interface Package for Simulink
Signal chain Simulink implementation
container
Bus configuration
Bus Configuration Model SIC
function block port
blocks
Generate
Bus simulation
container
BSC
Workflow Generating a bus simulation container that contains the bus communication
configured with the Bus Manager and a mapped Simulink implementation
container comprises the following workflow steps:
1. Configure the bus communication via the Bus Manager.
Refer to Workflow for Configuring Bus Communication and Generating Bus
Simulation Containers on page 51.
53
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Generating Bus Simulation Containers
Tip
4. Map model ports of the SIC file to function ports of bus configurations.
§ For an example of mapping the ports via bus configuration tables, refer to
Example of Mapping Model Ports to Bus Configuration Ports via Tables on
page 358.
§ For basic information on model port mapping, refer to Model Port
Mapping (ConfigurationDesk Real-Time Implementation Guide ).
5. Model the executable application and tasks.
If you created a preconfigured application process when you added the SIC
file to the ConfigurationDesk application, you can usually skip this step. The
settings of the preconfigured application process and the tasks are sufficient
in most cases.
For basic information, refer to:
§ Introduction to Modeling Executable Applications and Tasks
(ConfigurationDesk Real-Time Implementation Guide ).
§ Basics on Tasks, Events, and Runnable Functions Provided by the Bus
Manager on page 363
6. Generate the bus simulation container.
Refer to How to Generate Bus Simulation Containers on page 379.
Introduction When signals that are assigned to a bus configuration do not have to change
dynamically during run time (e.g., in case of static ECU simulation) or you only
54
ConfigurationDesk Bus Manager Implementation Guide May 2024
Generating Bus Simulation Containers Without a Behavior Model
want to access the signals via an experiment software, you can work without a
behavior model.
Overview The following illustration gives you an overview of working without a behavior
model. Parts that are specific to this use scenario are in bold letters.
Communication matrices
(created in external tool)
Bus Manager in ConfigurationDesk
or stand-alone
Signal chain
Bus configuration
Bus Configuration
function block
Creating application
processes providing
default tasks
Assigning bus
configurations to
application processes
Generate
Bus simulation
container
BSC
Workflow Generating bus simulation containers that contain the bus communication
configured with the Bus Manager but no behavior model comprises the
following workflow steps:
1. Configure the bus communication via the Bus Manager.
Refer to Workflow for Configuring Bus Communication and Generating Bus
Simulation Containers on page 51.
2. Create one or more application processes that provide default tasks.
Refer to How to Create Application Processes that Provide Default Tasks on
page 386.
3. Assign the bus configurations to the available application processes
manually.
Refer to How to Manually Assign Bus Configurations to Application
Processes on page 387.
4. Generate the bus simulation containers.
Refer to How to Generate Bus Simulation Containers on page 379.
55
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Typical Workflows for Using the Bus Manager and Generating Bus Simulation Containers
56
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported Bus Communication
57
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Supported PDU types The Bus Manager supports various PDU types according to AUTOSAR, FIBEX,
DBC, and LDF. To provide a consistent representation of the supported PDU
types, the Bus Manager uses PDU-specific element types that are derived from
the AUTOSAR PDU entities. PDUs of other communication standards are mapped
to these element types. The following PDU-specific element types are available:
§ Bus ISignal IPDU
§ Bus General-Purpose IPDU
§ Bus General-Purpose PDU
§ Bus DCM IPDU
§ Bus NMPDU
§ Bus NPDU
§ Bus Secured IPDU
§ Bus User-Defined IPDU
§ Bus User-Defined PDU
§ Bus Multiplexed IPDU
§ Bus Extended Multiplexed IPDU
§ Bus Container IPDU
Note
The Bus Manager does not provide access to all the features and functions
that are defined in the communication standards for the supported PDU
types.
Except for multiplexed IPDUs, container IPDUs, and secured IPDUs, the Bus
Manager provides the same functionalities for the supported PDU types.
These PDU types are named basic PDUs in the documentation. In the
ConfigurationDesk application, basic PDUs are represented by the or
symbol in tables and browsers. However, basic PDUs can be distinguished by
their PDU element type in tables, browsers, and via the automation interface.
Therefore, you can filter for specific PDU types in tables or access them directly
via XPath expressions in automation scripts, for example.
58
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported PDUs and Signals
Further information
§ For more information on multiplexed IPDUs, refer to Aspects of Multiplexed
IPDUs on page 63.
§ For more information on container IPDUs, refer to Aspects of Container IPDUs
and Contained IPDUs on page 64.
§ For more information on secured IPDUs, refer to Aspects of Secure Onboard
Communication (SecOC) on page 67.
§ For more information on extended multiplexed IPDUs, refer to Aspects of
Miscellaneous Supported CAN Bus Features on page 77.
§ For more information on the mapping of the Bus Manager PDU types to the
AUTOSAR, FIBEX, DBC, and LDF PDU types, refer to Mapping of Bus Manager
PDU Types to Communication Standard PDU Types on page 537.
§ For more information on accessing Bus Manager elements via
XPath expressions, refer to Accessing Bus Manager Features via the
ConfigurationDesk Automation Interface on page 152.
§ For more information on limitations regarding the supported PDU types, refer
to:
§ Limitations for Communication Matrices and Communication Standards on
page 519
§ Limitations for CAN Communication on page 525
§ Limitations for LIN Communication on page 528
Supported signal data types The Bus Manager supports signals of the following data types:
§ Int8
§ Int16
§ Int32
§ Int64
§ UInt8
§ UInt16
§ UInt32
§ UInt64
§ UInt8[] (array signals)
§ Float (Float32)
§ Double (Float64)
§ Boolean
Other data types (e.g., ASCII string, char, bitfield) are not supported. Signals
whose signal length is a multiple of 8 and exceeds 64 bits are imported as
UInt8[] array signals with static length. For the support of array signals, some
limitations apply. Refer to Limitations for array signals on page 525.
59
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Transmitting and receiving The Bus Manager accesses ISignals via their converted physical signal values
ISignals on the bus (e.g., EngineTempSig = 85 °C). Because physical signal values cannot be
transmitted on a bus, the Bus Manager converts physical signal values into coded
signal values (e.g., EngineTempSig = 0x17) and includes the ISignals in a
PDU (TX ISignals). When a PDU is received on the bus, the contained coded
ISignals are extracted and their signal values are converted to physical values (RX
ISignals).
ISignal/ISignal group
ISig
Physical ISig ISig ISig ISig (Converted physical values)
Bus Manager:
Signal conversion according
to computation methods
Coded
ISignal/ISignal group
ISig ISig ISig ISig ISig (Coded values)
Computation methods for Computation methods define the algorithm for converting coded ISignal
converting ISignal values values into physical values and vice versa. Normally, the communication
matrix defines a computation method for each ISignal. If the communication
matrix does not define a computation method for an ISignal, the Bus Manager
uses a default computation method.
Aspect Description
Basics on Generally, computation methods can be specified in different ways, for example, as linear conversion or as a
computation rational function of higher order:
methods Num0 + Num1 ⋅ x + Num2 ⋅ x2 + Num3 ⋅ x3 + … + Numn ⋅ xn
y=
Denom0 + Denom1 ⋅ x + … + Denomn ⋅ xn
Supported The Bus Manager only supports computation methods that define a linear computation scale, i.e.:
Num0 + Num1 ⋅ x
y= , with Num1 ≠ 0
computation
methods Denom0
Num1
This also includes identical computation methods, i.e., with Num0 = 0 (offset) and = 1 (factor).
Denom0
60
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported PDUs and Signals
Aspect Description
If a rational function is used as the computation method, the numerator and denominator arrays must be
defined as follows:
§ The numerator array must contain at least two elements and the second element must not be zero.
§ If the numerator array contains a third element, it and all following elements must be zero.
§ If a denominator array is defined, the first element must not be zero. If the array contains more elements,
they must all be zero.
If no denominator array is defined, the default denominator value 1 is used.
Examples:
Numerator[] = {0,1}
Denominator[] = {}
Numerator[] = {0,2.7,0,0,0}
Denominator[] = {3,0,0}
Numerator[] = {2,5.6,0,0}
Denominator[] = {4,0}
Default If the communication matrix does not define a computation method for a signal, the Bus Manager uses an
computation identical computation method by default.
method
Representation When you select an ISignal (e.g., in the Buses Browser), the Properties Browser provides the following
in the Bus properties:
Manager Num0
Denom0
§ Offset: Displays the offset of the computation method, i.e., .
Num1
Denom0
§ Scale: Displays the factor of the computation method, i.e., .
§ Numerators, Denominators: Let you specify user-defined settings for the numerator and denominator
arrays, respectively. However, whether these properties are available depend on the specifications in the
communication matrix. Refer to Configurable Settings of ISignals on page 427.
Regarding the computation methods, some limitations apply. For details, refer
to Limitations for Communication Matrices and Communication Standards on
page 519.
61
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Determining the data type for If the communication matrix specifies data types for physical signal values, the
physical signal values Bus Manager uses these data types. If the communication matrix does not
specify data types for physical signal values but only for coded ISignals, the Bus
Manager determines the physical data type by using the computation method
definitions of the communication matrix:
In case of an array signal, the Bus Manager does not determine the physical data
type on the basis of computation methods. Instead, the Bus Manager uses the
same data type as specified for the coded data type of the array signal.
Regarding the determination of data types for physical signal values, some
limitations apply. For details, refer to Limitations for Communication Matrices
and Communication Standards on page 519.
62
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
Introduction For CAN communication, the Bus Manager supports multiplexed IPDUs.
Multiplexing is used to transport varying ISignal IPDUs via the same bytes of a
multiplexed IPDU.
Parts of multiplexed IPDUs A multiplexed IPDU consists of one dynamic part, a selector field, and one
optional static part:
§ The dynamic part is one ISignal IPDU that is selected for transmission at run
time. Several ISignal IPDUs can be specified as dynamic‑part alternatives, i.e.,
as dynamic‑part IPDUs. One of these alternatives is transmitted at a time.
§ The selector field value indicates which ISignal IPDU is transmitted in the
dynamic part during run time. For each ISignal IPDU that is configured as
a dynamic‑part alternative, there must be a unique selector field value. The
selector field value is evaluated by the receiver of the multiplexed IPDU.
§ The static part is one ISignal IPDU, i.e., the static‑part IPDU, that is always
transmitted.
63
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Triggering modes for According to AUTOSAR, the following triggering modes can be specified to
multiplexed IPDUs trigger the transmission of multiplexed IPDUs:
However, regardless of the specified triggering mode, the Bus Manager transmits
a multiplexed IPDU each time its transmission is triggered by a dynamic‑part IPDU
or the static‑part IPDU. Refer to Triggering the Transmission of Multiplexed IPDUs
on page 137.
Limitations For multiplexed IPDUs, some limitations apply. Refer to Limitations for
Communication Matrices and Communication Standards on page 519.
Introduction For CAN FD communication, the Bus Manager supports container IPDUs. A
container IPDU consists of several smaller IPDUs (i.e., contained IPDUs). The
contained IPDUs can be ISignal IPDUs or multiplexed IPDUs , for example. A
container IPDU can be used to transmit several classic CAN‑compliant IPDUs in
one CAN‑FD‑compliant IPDU on a CAN FD bus, for example.
Dynamic and static container The container layout of container IPDUs can be organized dynamically or
layout statically:
Container Description
Layout
Dynamic The contained IPDUs do not have a predefined position in the container IPDU. The receiving ECU identifies the
container contained IPDUs via their header IDs.
layout For this purpose, two header types are available (SHORT-HEADER, LONG-HEADER). A contained IPDU can provide
a separate header ID for each of these header types. The container IPDU defines the required header type: The
ID of the required header type must be specified for each contained IPDU and the receiving ECU evaluates only
these IDs.
64
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
Container Description
Layout
Static container The contained IPDUs have a fixed position within the container IPDU. The receiving ECU identifies the contained
layout IPDUs unambiguously by their position within the container IPDU.
For this purpose, the header type of the container IPDU must be set to NO-HEADER and an offset value must
be specified for each contained IPDU. The offset value determines the position of the contained IPDU within the
container IPDU.
Triggering of container IPDUs The triggering of container IPDUs depends on various timing and triggering
conditions that can be specified for container and/or contained IPDUs in the
communication matrix. For example, a container IPDU can be transmitted:
§ When a specified timeout value elapses
§ Immediately after the first contained IPDU is added
§ When a specific contained IPDU triggers its transmission
Queuing of contained IPDUs For each contained IPDU that is transmitted on the bus, the communication
matrix must specify the collection semantics:
Collection Description
Semantics
Queued Several instances of the contained IPDU can be added to one container IPDU.
The queued semantics is supported only for contained IPDUs that are included in container IPDUs with a dynamic
container layout.
Last‑is‑best Only one instance of the contained IPDU can be added to one container IPDU. In this case, the data of the
contained IPDU is buffered and only the latest data is added to the container IPDU just before it is transmitted.
The last‑is‑best semantics is supported for contained IPDUs that are included in container IPDUs with a dynamic or
static container layout.
According to AUTOSAR, all contained IPDUs that are included in the same
container IPDU must have the same collection semantics specified. In contrast to
AUTOSAR, the Bus Manager supports both semantics within the same container
IPDU. The behavior is the following:
§ For contained IPDUs that are included in a container IPDU with a static
container layout, the specified collection semantics is not evaluated. Instead,
the last‑is‑best semantics applies to all contained IPDUs of this container IPDU.
§ For contained IPDUs that are included in a container IPDU with a dynamic
container layout, the collection semantics is evaluated: Each contained IPDU is
included in the container IPDU according to its specified collection semantics.
65
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
The Bus Manager lets you specify the collection semantics. Refer to Configurable
Settings of PDUs on page 414.
Adding additional bytes to Container IPDUs with a static container layout When a container IPDU
the related frame with a static container layout is added to a frame and the resulting frame length
is invalid according to CAN FD, padding bytes are added to the frame. Refer to
CAN FD protocol on page 77.
If the maximum number of 0‑bytes is added to the frame and the resulting frame
length is still invalid according to CAN FD, additional padding bytes are added.
These padding bytes are filled with the unused bit pattern that is specified for
the container IPDU. If no unused bit pattern is specified, the padding bytes are
filled with 255.
Static container layout: When a container IPDU with a static container layout is transmitted, some of its
Identifying updated contained IPDUs might not have been updated since the previous transmission
contained IPDUs and therefore provide old data. There are two ways to identify the update state:
Setting Description
Update bit of Contained IPDUs can provide an update bit. The bit is set if a
contained IPDU contained IPDU has been updated between two transmissions of
the related container IPDU.
Unused bit pattern Container IPDUs can provide an unused bit pattern. If a contained
of container IPDU IPDU of the container IPDU is not updated, the content of the
contained IPDU is cleared and replaced with the unused bit
pattern.
Dynamic container layout: For container IPDUs with a dynamic container layout, the setting of the
Accepting received contained RX-ACCEPT-CONTAINED-IPDU attribute determines which contained IPDUs are
IPDUs accepted by the receiving ECU:
66
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
Setting Description
ACCEPT-ALL In general, the receiving ECU accepts any contained IPDU, regardless of whether it is included in the container
IPDU according to the specifications in the communication matrix.
However, to accept a contained IPDU that is not included in the container IPDU according to the specifications in
the communication matrix, the following conditions must be met:
§ The communication matrix includes the IPDU in another container IPDU whose RX-ACCEPT-CONTAINED-
IPDU attribute is set to ACCEPT-ALL.
§ The header ID of the header type that is required by the container IPDU is specified for the contained IPDU.
ACCEPT- The receiving ECU accepts only contained IPDUs that are included in the container IPDU according to the
CONFIGURED specifications in the communication matrix.
Contained IPDUs that are not accepted are ignored by the receiving ECU, i.e.,
they are not extracted from the container IPDU and their data is not processed.
Limitations For container IPDUs and contained IPDUs, some limitations apply. Refer to
Limitations for container IPDUs on page 521.
Introduction For CAN communication, the Bus Manager supports secure onboard
communication (SecOC) according to AUTOSAR. Secure onboard communication
provides authentication mechanisms to identify PDU data that was modified or
transmitted without authorization, e.g., due to a replay attack.
PDUs for secure onboard In secure onboard communication scenarios, the following PDUs are used:
communication § Authentic IPDUs
Authentic IPDUs contain the payload that will be secured by the authentication
mechanisms of SecOC. The required authentication information itself is not
included in authentic IPDUs but in secured IPDUs. According to AUTOSAR,
authentic IPDUs can be ISignal IPDUs, container IPDUs, or multiplexed IPDUs,
for example.
Generating
OK
authentication Verification
information
Processing
Authentication Authentication
Authentic IPDU Authentic IPDU Authentic IPDU Authentic IPDU
information information
67
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Authentication information According to AUTOSAR, there are various ways for generating and verifying
authentication information. To generate and verify specific authentication
information, OEM-specific implementations are therefore required. In general,
authentication information that is included in a secured IPDU consists of a
freshness value and an authenticator:
§ Freshness value
The freshness value is a monotonous increasing value. Depending on the
OEM-specific implementation, the freshness value can be a counter value
or a time stamp value. The freshness value is required for calculating the
authenticator. Additionally, the freshness value can directly be included in the
secured IPDU. If it is, it can be included completely or in part, i.e., as truncated
freshness value.
§ Authenticator
The authenticator, also called message authentication code (MAC), is
calculated according to OEM-specific algorithms and keys. For calculating the
authenticator, the following data is required:
§ Data identifier of the secured IPDU
§ Payload of the authentic IPDU
§ Freshness value
The authenticator is either completely included in the secured IPDU or in part,
i.e., as truncated authenticator.
Sender
Key
Authenticator
Counter or Freshness
time stamp value
Payload
Data ID
Freshness
Authentic IPDU Authenticator
value
Secured IPDU
Authentication information
68
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
Implementing secure onboard To implement secure onboard communication in executable applications , you
communication in executable have to enable SecOC support and provide the OEM-specific implementation
applications for generating and/or verifying authentication information via user code . Refer
to Implementing Secure Onboard Communication in Executable Applications on
page 143.
Limitations For secure onboard communication, some limitations apply. Refer to Limitations
for Communication Matrices and Communication Standards on page 519.
Introduction The Bus Manager supports end-to-end (E2E) protection for ISignal groups
according to AUTOSAR end‑to‑end protection profiles (E2E profiles).
Supported end‑to‑end The Bus Manager the following AUTOSAR end-to-end protection profiles
protection features (E2E profiles) for ISignal groups:
§ Profile 01 (including the profile variants 1A, 1B, 1C)
§ Profile 02
§ Profile 05
§ Profile 11 (including the profile variants 11A, 11C)
§ Profile 22
The Bus Manager supports COM E2E callouts (only for profile 01 and profile 02)
and E2E transformers (for all supported profiles) for calling the end-to-end
communication protection library (E2E library).
The Bus Manager can transmit and receive end-to-end-protected ISignals groups:
§ TX ISignal groups are transmitted with the end-to-end protection information
that is required according to the specified profile.
§ RX ISignal groups are received but the end-to-end protection information is
not evaluated by the Bus Manager, i.e., a received IPDU is decoded regardless
of whether the end-to-end protection of a contained ISignal group indicates
failures.
Limitations For end‑to‑end protection, some limitations apply. Refer to Limitations for
Communication Matrices and Communication Standards on page 519.
69
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Introduction For PDU transmission, the Bus Manager supports event‑controlled timings
according to AUTOSAR. With event‑controlled timings, ISignals and ISignal
groups can trigger the transmission of the PDUs in which they are included.
Event‑controlled timings and To trigger the transmission of a PDU according to event‑controlled timings,
transfer property each ISignal and ISignal group can provide a TRANSFER‑PROPERTY attribute. The
setting of this attribute determines if and how an ISignal/ISignal group triggers
the transmission of the PDU. The PDU must provide the event‑controlled timing.
The event‑controlled timing can specify the number of repetitions and the
repetition period, which apply to the transmission of the PDU if the transmission
is triggered with repetitions.
Setting Description
PENDING The ISignal or ISignal group does not trigger the transmission of the PDU.
TRIGGERED The ISignal or ISignal group triggers the transmissions of the PDU with repetitions. The
transmission is triggered each time the ISignal/ISignal group is updated, regardless of
whether a signal value has changed.
TRIGGERED‑ON‑CHANGE The ISignal or ISignal group triggers the transmissions of the PDU with repetitions. The
transmission is triggered only if the ISignal/ISignal group is updated and a signal value has
changed, i.e.:
§ ISignal: The value of the ISignal has changed.
§ ISignal group: The value of at least one ISignal that is included in the ISignal group
has changed and the transfer property of this ISignal is either unspecified or set to
TRIGGERED‑ON‑CHANGE.
TRIGGERED‑WITHOUT‑REPETITION The ISignal or ISignal group triggers a single transmission of the PDU. The transmission
is triggered each time the ISignal/ISignal group is updated, regardless of whether a signal
value has changed.
TRIGGERED‑ON-CHANGE- The ISignal or ISignal group triggers a single transmission of the PDU. The transmission is
WITHOUT‑REPETITION triggered only if the ISignal/ISignal group is updated and a signal value has changed, i.e.:
§ ISignal: The value of the ISignal has changed.
§ ISignal group: The value of at least one ISignal that is included in the ISignal group
has changed and the transfer property of this ISignal is either unspecified or set to
TRIGGERED‑ON‑CHANGE.
70
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
However, to trigger the transmission of PDUs via ISignals/ISignal groups and use
event‑controlled timings, you have to enable the use of the transfer property.
Refer to Using Event‑Controlled Timings for Transmitting PDUs on page 136.
Limitations For event‑controlled timings, some limitations apply. Refer to Limitations for
Communication Matrices and Communication Standards on page 519.
Introduction The Bus Manager supports global time synchronization (GTS) according to
AUTOSAR. Global time synchronization means providing and distributing
synchronized times among all ECUs in a bus network. By this, the bus
communication of multiple ECUs can be synchronized, for example.
Time bases A synchronized time is called a time base. A time base is a unique time entity
characterized by the progression of time, ownership, and reference to the
physical world. There are two types of time bases:
Time bases can provide absolute times (e.g., a UTC time) or relative times (e.g.,
time after power-up of an ECU or an operating hours counter). Because there
can be more than just one time in a bus network, multiple time bases can exist in
parallel. Per ECU, there can be up to 16 synchronized time bases and offset time
bases each.
Global time domains A global time domain contains components (e.g., network nodes ) that are
linked to the same synchronized time base. There can be several global time
71
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Global time domains that use the same synchronized time base are connected
by the means of subdomains. A subdomain denotes which components are
linked to the related time base. Each subdomain is limited to exactly one
communication cluster . A global time domain can declare several other global
time domains as its subdomains.
GTD_1
ECU1
ECU3 ECU7
GTD_S10
ECU10
GTD_S21
Depending on its role in the network, an ECU can be a time master and/or a
time slave.
Time masters, time slaves, and Global time synchronization is based on a master-slave system. An ECU can
time gateways be both master and slave at the same time. Additionally, if synchronized times
are processed via multiple communication clusters, an ECU can act as a time
gateway. To distinguish between the different roles, the following terms are
used:
72
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
Time synchronization The messages that distribute the time information are called time
messages synchronization messages.
SYNC and FUP messages are identified by their message type, and their message
layout depends on whether they are CRC-secured:
73
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Implementing global time Depending on your use scenario, there are different ways for implementing
synchronization in executable global time synchronization in executable applications . Refer to Basics
applications on Implementing Global Time Synchronization in Executable Applications on
page 181.
Limitations For global time synchronization, some limitations apply. Refer to Limitations for
Communication Matrices and Communication Standards on page 519.
Introduction The Bus Manager supports partial networking according to AUTOSAR 4.3. Partial
networking lets you reduce the power consumption, e.g., in a vehicle, by
deactivating specific bus communication interfaces in ECUs .
ISignal IPDU groups and The bus communication interfaces of an ECU are deactivated at function level:
partial network clusters For this purpose, the ECU communication can be structured in ISignal IPDU
groups. ISignal IPDU groups can be used to group PDUs with specific functions,
e.g., PDUs that control the seat settings. PDUs can be included in one or more
ISignal IPDU groups. The ISignal IPDU groups can be assigned to one or more
partial network clusters. A partial network cluster can be restricted to only one
communication cluster or can span over several communication clusters. Each
74
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported AUTOSAR Features
ISignal IPDU group: Group 1 ISignal IPDU group: Group 1 ISignal IPDU group: Group 1
TX PDU A RX PDU A RX PDU A
TX PDU B RX PDU B RX PDU C
TX PDU C
ISignal IPDU group: Group 2 ISignal IPDU group: Group 2
ISignal IPDU group: Group 2 RX PDU A RX PDU A
TX PDU A RX PDU D RX PDU D
TX PDU D
ISignal IPDU group: Group 3 ISignal IPDU group: Group 3
TX PDU X RX PDU X
TX PDU Y RX PDU Y
PNC 01
PNC 02
PNC 03
ECU 1, ECU 2, ECU 3: Group 1 ECU 1, ECU 2, ECU 3: Group 1 ECU 2, ECU 3: Group 3
ECU 1, ECU 2, ECU 3: Group 2
Restrictions for partial According to AUTOSAR 4.3, the following restrictions apply concerning partial
networking according to networking:
AUTOSAR § Partial networking is supported for CAN communication clusters but not for
LIN communication clusters.
§ ISignal IPDU groups can contain only other ISignal IPDU groups, ISignal IPDUs,
or NMPDUs containing ISignals. Other PDU types such as container IPDUs or
secured IPDUs cannot be included in ISignal IPDU groups.
Limitations For partial networking, some limitations apply. Refer to Limitations for
Communication Matrices and Communication Standards on page 519.
75
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Introduction The Bus Manager supports PDU gateways according to AUTOSAR. With PDU
gateways, an ECU can route the data of PDUs from one or more
communication clusters to other communication clusters.
Source PDUs and target PDUs An ECU that acts as a gateway ECU specifies PDU gateways via IPDU mappings.
for PDU gateways Each IPDU mapping unambiguously maps one source PDU to one target PDU.
However, multiple IPDU mappings can be used to map the same source PDU
to multiple target PDUs (multicast PDU routing) and vice versa (multisource PDU
routing).
Source PDUs are always RX PDUs, target PDUs are always TX PDUs. When a
gateway ECU receives a source PDU on a communication cluster, it transfers the
PDU data to the related target PDUs and transmits these PDUs on one or more
communication clusters, as shown in the following example.
Gateway ECU
receive
Body CAN Source PDU (RX) Source PDU (RX)
transfer data
transmit
Comfort LIN Target PDU 2 (TX)
To use PDU gateways, you have to enable the PDU gateway support for
bus configurations. Refer to Simulating PDU Gateways (Preview Version) on
page 148.
Limitations For PDU gateways, some limitations apply. Refer to Limitations for PDU gateways
on page 524.
76
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported CAN Bus Features
Identifier format The Bus Manager supports frames with the standard (11‑bit) and extended
(29‑bit) identifier format.
The identifier contains address information. It does not address individual bus
members, but refers to the information the frame contains. As a result, a frame
can be received by any number of bus members. Each bus member can filter out
frames of interest. The identifier must be defined for each CAN frame.
For each CAN frame, you can change the specified identifier format and specify a
user-defined identifier value.
CAN FD protocol The Bus Manager supports the CAN FD protocol. CAN FD stands for CAN with
Flexible Data Rate. Compared with the classic CAN protocol, CAN FD comes with
an increased bandwidth for serial communication. The improvement is based on
two factors:
Factor Description
Longer The data fields (payload length) of CAN FD frames can be up to 64 bytes long (classic CAN: 8 bytes). Valid CAN FD
payload payload lengths are: 0 … 8, 12, 16, 20, 24, 32, 48, and 64 bytes.
length If a CAN FD frame has an invalid payload length, the Bus Manager adds padding bytes to the frame and extends the
payload length to the next higher valid length. For example, to a payload length of 14 bytes, the Bus Manager adds
2 padding bytes.
In general, the value of each padding byte is 255. Only for the following PDU types, different values are used:
§ Container IPDUs with a dynamic container layout: The value of each padding byte is set to the value that is specified
for the unused bit pattern of the container IPDU. Only if no unused bit pattern is specified, 255 is used as the
padding value.
For more information, refer to Aspects of Container IPDUs and Contained IPDUs on page 64.
§ J1939‑22‑compliant IPDUs:
§ Multi‑PG protocol: The value of the first three padding bytes that are added is 0, the value of all subsequent
added padding bytes is 170 (0xAA).
§ Broadcast Announce Message protocol: The value of each padding byte is 170 (0xAA).
For more information, refer to Aspects of the J1939 Protocol on page 80.
77
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Factor Description
Higher bit CAN frames consist of an arbitration phase and a data phase. The data phase spans the phase in which the data
rate for fields, CRC, and length information are transferred. The data phase of CAN FD frames can be transmitted with an
the data optional higher bit rate (e.g., higher by a factor of 8).
phase
Arbitration Arbitration
phase Data phase phase
Currently, there are two CAN FD protocols on the market which are not
compatible with each other.
§ The non‑ISO CAN FD protocol is the original CAN FD protocol from Bosch.
§ The ISO CAN FD protocol is the CAN FD protocol according to
ISO 11898‑1:2015.
The ISO CAN FD protocol comes with an improved failure detection capability.
The Bus Manager supports both CAN FD protocols and lets you use classic CAN
frames and CAN FD frames in parallel. For CAN FD frames, you can define a
separate bit rate for the data phase.
J1939 protocol The Bus Manager supports the J1939 protocol. For more information, refer to
Aspects of the J1939 Protocol on page 80.
Multiplexed IPDUs The Bus Manager supports CAN multiplexed IPDUs. For more information, refer
to Aspects of Multiplexed IPDUs on page 63.
Event‑controlled timings The Bus Manager supports event‑controlled timings, which let ISignals trigger the
transmission of the PDUs in which they are included. The Bus Manager supports
event‑controlled timings according to AUTOSAR. For more information, refer to
Aspects of Event‑Controlled Timings on page 70.
Tip
Extended signal multiplexing The Bus Manager supports extended signal multiplexing. Extended signal
multiplexing is possible only for bus communication that is specified in DBC files.
78
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported CAN Bus Features
In the Bus Manager, the multiplexer signals and multiplexed signals that are used
for extended signal multiplexing are included in extended multiplexed IPDUs.
MuxSignal1
MuxValue = 1 ... 3
MuxedSignal1.1
MuxValue = 5
MuxedSignal2.1
MuxValue = 5
MuxedSignal2.2
MuxValue = 6
MuxedSignal2.3
MuxValue = 4
MuxedSignal2.4
Payload of extended multiplexed IPDU:
MuxSignal1 MuxedSignal1.1
Case 1: MuxedSignal2.1 MuxedSignal2.2
MuxValue = 1 MuxValue = 5
MuxSignal1 MuxedSignal1.1
Case 2: MuxedSignal2.3
MuxValue = 2 MuxValue = 6
Case 3: MuxSignal1
MuxedSignal2.4
MuxValue = 4
If a multiplexed signal is not included in the extended multiplexed IPDU and this
results in unused bits, these bits are filled with a default unused bit pattern,
which is 255 for J1939‑compliant IPDUs and 0 for all other PDUs. If required,
you can modify the communication matrix in the ConfigurationDesk application
to specify a user-defined unused bit pattern. Refer to Basics on Modifying
Communication Matrices on page 391.
Limitations When you work with a CAN bus system, some limitations apply. Refer to
Limitations for CAN Communication on page 525.
79
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Introduction The Bus Manager supports the J1939 protocol as specified by the Society of
Automotive Engineers (SAE) J1939 standard.
The J1939 protocol is used, for example, for the communication in heavy-duty
vehicles, such as between a tractor and its trailer. It allows peer‑to‑peer and
broadcast communication, and supports large messages. The maximum message
size depends on whether the J1939‑21 or J1939‑22 protocol is used.
J1939‑21 and J1939‑22 The characteristics of J1939‑compliant bus communication depend on whether
the J1939‑21 or J1939‑22 protocol is used, as shown in the following table.
80
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported CAN Bus Features
For J1939‑22, the Bus Manager neither supports the CMDT protocol nor the
standard identifier format.
Tip
Extended CAN identifier The J1939‑21 and J1939‑22 protocols support the 29-bit extended CAN
identifier. The identifier is segmented as follows:
28 26 25 8 7 0
29-bit extended CAN identifier
Segment Description
Priority The priority of the IPDU. A value of 0 represents the highest priority,
a value of 7 represents the lowest priority.
Parameter group A unique number that unambiguously references a parameter group,
number (PGN) i.e., the content of the IPDU. The PGN itself consists of four
segments.
Source address The transport protocol address of the network node that transmits
the IPDU.
The Bus Manager lets you access the priority of J1939‑21‑compliant IPDUs at run
time. Refer to Accessing the Priority of J1939-Compliant IPDUs on page 263.
81
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
The PGN uses the bits 25 … 8 of the CAN identifier, which are segmented as
follows:
Extended data page (EDP)
Data page (DP)
Segment Description
Extended data Reserved for future use according to the J1939 standard.
page (EDP) Regardless of whether the EDP of an IPDU is set to 0 or 1, the Bus Manager handles the IPDU as
J1939‑compliant.
Data page (DP) Specifies the used data page (data page 0 or data page 1). The data pages are used to expand the PGN value
range.
PDU format Specifies the PDU format. Either PDU 1 or PDU 2.
(PDU‑F) § PDU 1:
§ PDU‑F value: 0 … 239 (0x00 … 0xEF)
§ Communication mode: Depends on the specified PDU‑S value (destination address):
§ 0 … 253: Peer‑to‑peer communication, i.e., the IPDU is transmitted to a specific destination network
node.
§ 255: Broadcast communication, i.e., the IPDU is transmitted to all network nodes in the communication
cluster.
§ PDU 2:
§ PDU‑F value: 240 … 255 (0xF0 … 0xFF)
§ Communication mode: Broadcast, i.e., the IPDU is transmitted to all network nodes in the communication
cluster.
PDU specific The usage depends on the specified PDU format:
(PDU‑S) § PDU 1:
Provides the transport protocol address of the destination.
§ PDU 2:
Provides the group extension. The group extension is used to increase the number of IPDUs that can be
broadcast in the communication cluster.
J1939 name and transport Each network node that participates in J1939 communication can be
protocol address identified by its J1939 name and its transport protocol address. Regarding the
J1939 name and transport protocol address, the following terms are used to
address a network node:
82
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported CAN Bus Features
Arbitrary Industry Vehicle Vehicle Reserved Function Function ECU Manufacturer Identity
Address Group System System Instance Instance Code Number
Capable Instance
1 bit 3 bit 4 bit 7 bit 1 bit 8 bit 5 bit 3 bit 11 bit 21 bit
Address claiming The J1939 standard defines an address claiming procedure in which transport
protocol addresses are assigned to network nodes during communication cluster
initialization. This procedure ensures that each address is unique.
Each network node can send an address claim to the CAN bus. The nodes that
receive an address claim verify the claimed address. If there is an address conflict,
the network node with the lowest 64‑bit name value (i.e., the highest priority)
gets the claimed address. The other network nodes must either claim different
addresses or stop the communication. However, the arbitrary address
capable parameter of a network node's J1939 name determines whether the
node can claim a different address:
§ Arbitrary address capable set to 1: The network node can claim a
different address.
§ Arbitrary address capable set to 0: The network node cannot claim a
different address. In this case, it sends a cannot claim address message on the
bus and stops its J1939 communication.
83
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
§ For PDUs that are inspected or manipulated by the Bus Manager, the source
and/or destination addresses are adjusted at run time if the related network
nodes have claimed a new transport protocol address.
Transmitting IPDUs using the To transmit and receive J1939‑22‑compliant IPDUs with up to 60 bytes payload,
Multi‑PG protocol the Multi‑PG protocol is used. The Multi‑PG protocol includes each IPDU in a
single Multi‑PG‑compliant CAN FD frame, i.e., the PDU is not segmented.
Type of Trailer Contained parameter group number (CPGN) Payload length (PL)
service (TOS) format (TF)
3 bits 3 bits 18 bits 8 bits
Segment Description
Type of service Specifies the structure and the type of the content of the C‑PG:
(TOS) § 0: C‑PG used for padding unused bytes of the CAN FD frame to a valid CAN FD length. In this case, the
layout of the C‑PG is the following:
§ The header consists of maximum 3 bytes, the payload length (PL) segment is not available. Depending on
the required number of padding bytes, the header can also be shorter.
§ The maximum total length, i.e., header and payload, is limited to 15 bytes.
For more information on padding the CAN FD frame, refer to CAN FD frames according to the Multi‑PG
protocol on page 84.
§ 1: C‑PG with manufacturer‑specific assurance data.
§ 2: C‑PG with optional assurance data specified by SAE.
§ 3 … 7: Reserved for future use according to the J1939 standard.
Trailer format Required to specify the type of the assurance data that is used with the C‑PG. However, to specify the specific
(TF) assurance data type, the [TOS, TF] tuple is required. For example, the tuple [TOS = 2, TF = 0] specifies a
C‑PG without any assurance data.
Contained Specifies the parameter group number (PGN) of the C‑PG. In contrast to the PGN that is specified in the
parameter group extended CAN identifier, the CPGN does not specify the destination address because this is specified for the
number (CPGN) used CAN FD frame.
Payload length Specifies the number of bytes that are used for the payload of the C‑PG.
(PL)
For each C‑PG, the Bus Manager lets you specify the following:
§ You can specify the collection semantics, i.e., whether several instances of the
C‑PG can be included in the frame or only one instance.
§ You can specify whether the C‑PG can trigger the transmission of the
related frame. Moreover, you can specify a timeout value for triggering the
transmission.
§ You can specify the type of service (TOS) and the trailer format (TF).
For more information, refer to Configurable Settings of PDUs on page 414.
84
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported CAN Bus Features
In addition to the contained C‑PGs, the CAN FD frame contains the CAN
identifier. According to the Multi‑PG protocol, CAN FD frames with extended
identifier are always of PDU 1 format, i.e., their communication mode can be
peer‑to‑peer or broadcast. Refer to Extended CAN identifier on page 81.
If the payload length of the frame is invalid according to CAN FD, the length is
extended by padding bytes to the next higher valid length. For this purpose, a
C‑PG with TOS set to 0 is used. The total length of this C‑PG is determined by
the number of bytes that must be added to reach the valid length. The value of
the first three bytes of this C‑PG is always 0, the value of all following bytes is
170 (0xAA).
Transmitting IPDUs using the To broadcast J1939‑compliant IPDUs with more than 8 bytes payload (J1939‑21)
Broadcast Announce Message or 60 bytes payload (J1939‑22) to any network node in the communication
(BAM) protocol cluster, the Broadcast Announce Message (BAM) protocol is used. This protocol
has the following characteristics:
Characteristics Description
Communication Broadcast
mode
Parallel transmission J1939‑21: No J1939‑22: Yes
Each sending network node can transmit only Each sending network node can transmit up to four
one IPDU at a time by using the BAM protocol. IPDUs at a time by using the BAM protocol, i.e., there
can be up to four transfer sessions in parallel.
Acknowledgement The transfer is not acknowledged: The sending network node does not know which network node receives
the IPDU and the receiving network node cannot influence the transfer.
Maximum IPDU J1939‑21: 1,785 bytes J1939‑22: 15,300 bytes plus 52 bytes of optional
length assurance data
IPDU segmentation The data of an IPDU is segmented into multiple packets (data transfer (DT) messages), which are
transmitted on the bus.
Maximum number of Depending on the payload length, each IPDU can be segmented into up to 255 packets.
packets
Data field of each J1939‑21: J1939‑22:
packet § 8 bytes § Up to 64 bytes:
§ The first byte is reserved for the sequence § Except for the last packet, the data field of each
number of the packet, i.e., only 7 bytes of packet is 64 bytes long.
the data field are used for the IPDU data. § Depending on the payload length of the IPDU, the
§ Only for the last packet: Data bytes that are data field of the last packet might be shorter.
not used by the IPDU data are filled with 255 § The first four bytes are reserved. They contain
(0xFF). information such as the transfer session number of
the IPDU and the sequence number of the packet.
Therefore, only 60 bytes of the data field are used for
the IPDU data.
§ Only for the last packet: If the actual length of the
data field results in an invalid CAN FD length of the
related frame, the data field is extended by padding
bytes to reach the next valid CAN FD length of the
frame. The padding bytes are filled with 170 (0xAA).
85
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
Characteristics Description
Transmission The sending network node first sends a broadcast announce message (BAM). The BAM allows all receiving
sequence network nodes to prepare for reception. The data field of the BAM contains the following information:
§ The parameter group number (PGN) of the IPDU.
§ The number of data bytes of the IPDU.
§ The number of packets that are used to transmit the data bytes of the IPDU on the bus.
After sending the broadcast announce message, the sending network node starts the actual data transfer,
i.e., it transmits the packets on the bus.
Only J1939‑22:
§ After the last packet is transmitted, a J1939‑22‑compliant sending network node sends an
end‑of‑message status (EOMS). The EOMS indicates the end of the current data transfer and can
additionally contain assurance data.
§ If the sending network node cancels the transmission of packets before the last packet is transmitted, it
sends a connection‑abort message. In this case, all receiving network nodes discard the already received
packets.
Transfer duration J1939‑21: J1939‑22:
§ Depends on the number of packets and the § Depends on the number of packets and the time gap
time gap before each packet. before each packet.
§ 255 packets (IPDU payload length of § 255 packets (IPDU payload length of 15,300 bytes):
1,785 bytes): § Min. duration: 2.57 seconds (time gap of 10 ms)
§ Min. duration: 12.8 seconds (time gap of § Max. duration: 51.4 seconds (time gap of 200 ms)
50 ms)
§ Max. duration: 51.2 seconds (time gap of
200 ms)
For each J1939‑22‑compliant IPDU, you can specify the assurance data type, if
any. Moreover, you can specify the assurance data size. Refer to Configurable
Settings of PDUs on page 414.
Transmitting IPDUs using To transmit J1939‑21‑compliant IPDUs with more than 8 bytes payload to
the Connection Mode Data a specific destination, the Connection Mode Data Transfer (CMDT) protocol
Transfer (CMDT) protocol is used. For J1939‑21‑compliant IPDUs, this protocol has the following
characteristics:
Characteristics Description
Communication mode Peer‑to‑peer
Parallel transmission No. To a specific receiving network node, each sending network node can transmit only one IPDU at
a time by using the CMDT protocol.
Acknowledgement and § The transfer is acknowledged: The sending network knows whether the receiving network node
interaction has received the PDU.
§ The receiving network node can request individual packets again.
§ The sending and the receiving network node can cancel the transmission of an IPDU at any time.
Maximum PDU length 1,785 bytes
PDU segmentation The data of an IPDU is segmented into multiple packets (data transfer (DT) messages), which are
transmitted on the bus.
Maximum number of Depending on the payload length, each IPDU can be segmented into up to 255 packets.
packets
Data field of each packet § 8 bytes
§ The first byte is reserved for the sequence number of the packet, i.e., only 7 bytes of the data field
are used for the IPDU data.
86
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported CAN Bus Features
Characteristics Description
Transmission sequence The sending network node first sends a request‑to‑send (RTS) message. The receiving network node
responds with either a clear‑to‑send (CTS) or a connection‑abort message if the connection cannot
be established. When the sending network node receives the CTS, it starts the actual data transfer.
The data transfer might be segmented, i.e., the receiving network sends further CTS to request data
packets. After the receiving network node has successfully received the complete data, it sends an
end‑of‑message acknowledgment (EOM).
Limitations For the support of the J1939 protocol, some limitations apply. Refer to
Limitations for J1939 on page 526.
87
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
LIN specifications The Bus Manager lets you work with LIN communication that complies with the
following LIN specifications and SAE standards:
§ LIN specification 1.3
§ LIN specifications 2.0, 2.1, and 2.2
§ SAE J2602 standard (protocol version: J2602_1_1.0, language version:
J2602_3_1.0)
SAE J2602 is a vehicle LIN bus standard based on LIN 2.0 and defined by the
Society of Automotive Engineers (SAE).
Frame types The Bus Manager supports the following frame types:
§ Unconditional frames
An unconditional frame is a standard LIN frame. The frame header sent by the
LIN master is explicitly assigned to one frame response of a LIN node.
§ Event-triggered frames
An event-triggered frame consists of a frame header that is assigned to several
frame responses of different LIN nodes. A frame response is sent only if its
data changed since its last transmission. This allows frame transmission of
different LIN nodes via the same frame slot. If more than one LIN node tries to
send a frame response, a collision occurs. Collisions have to be resolved by the
LIN master (e.g., via collision resolver schedules).
§ Sporadic frames
A sporadic frame references a list of frames. The position of a frame in the
list determines the frame's priority. When a sporadic frame is scheduled, the
referenced list is checked for frames containing at least one changed signal.
The frame that contains a changed signal and has the highest priority is
transmitted.
§ Diagnostic frames
A diagnostic frame has eight data bytes and is either a master request frame
(ID 60) or a slave response frame (ID 61). Diagnostic frames are used for slave
node configuration and identification or for implementing diagnostic data
transfer between a LIN master and LIN slaves.
Checksum types The Bus Manager supports LIN frames with classic and enhanced checksum
calculation types.
With the classic checksum calculation type, only the data bytes of a LIN frame are
used to calculate the checksum. With the enhanced checksum calculation type,
the data bytes and the protected identifier (PID) byte are used to calculate the
checksum.
88
ConfigurationDesk Bus Manager Implementation Guide May 2024
Aspects of Supported LIN Bus Features
LIN masters and slaves The Bus Manager supports the simulation of LIN masters and LIN slaves .
Simulating a LIN master supports the following LIN master tasks at run time:
§ Send frame headers according to a schedule table that is defined in the
communication matrix.
§ Specify an initial schedule table that is started automatically after the
executable application was started, and change the active schedule table
during run time. For details, refer to Working with LIN Schedule Tables on
page 307.
§ Configure LIN slave nodes by transmitting master request frames with the
following configuration commands:
§ AssignNAD
§ AssignFrameId
§ UnassignFrameId
§ AssignFrameIdRange
§ ConditionalChangeNAD
§ FreeFormat
§ SaveConfiguration
§ DataDump
To transmit the master request frames, they must be elements of the
active schedule table. The configuration commands including their required
parameters must be specified in the communication matrix and cannot be
changed by the Bus Manager.
§ Resolve collisions of event-triggered frames by automatically executing a
related collision resolver schedule table. The collision resolver tables must be
specified in the communication matrix for each event-triggered frame.
Limitations When you work with a LIN bus system, some limitations apply. Refer to
Limitations for LIN Communication on page 528.
89
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Aspects of Supported Bus Communication
90
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on the Bus Manager
91
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Basics on communication Communication matrices define the communication of bus systems according to
matrices various standards. The design and file format of a communication matrix depend
on the standard that is used to define the bus communication. Depending on
the standard, communication matrices can be generated by various commercial
off-the-shelf tools, by user-specific tools (e.g., OEM-specific database export tool)
or other methods.
Tip
Supported file formats and The Bus Manager supports the following communication matrix file formats:
versions
92
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with Communication Matrices
Handling communication The Bus Manager lets you add communication matrices to the active
matrices in ConfigurationDesk application . There, they serve as a library from which
the ConfigurationDesk you can select elements to work with. You can assign communication
application matrix elements to bus configurations and specify user-defined settings for
configurable elements.
You can handle communication matrices in the user interface of the Bus
Manager and by using the ConfigurationDesk automation interface. For more
information on using automation, refer to Accessing Bus Manager Features via
the ConfigurationDesk Automation Interface on page 152.
Tip
The Bus Manager lets you add communication matrices to the active application
without strict constraints. This means that you can even add communication
matrices with inconsistent, conflicting, or unsupported settings. Depending on
the affected communication matrix elements, this results in one of the following:
§ The communication matrix is added to the active application but the affected
communication matrix elements are discarded and not added. In this case, the
Message Viewer provides information on the communication matrix elements
that are not added, as shown in the following example.
93
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Tip
During the import, the Bus Manager also checks the communication matrix
for the following:
§ The Bus Manager checks whether all required ECUs that participate in bus
communication are part of the communication matrix. If a required ECU
is missing, it is generated during the import. Refer to Generating missing
ECUs on page 95.
§ The Bus Manager checks whether update bits are specified for ISignal
groups. For each update bit that is specified for an ISignal group, an
ISignal is generated. Refer to Generating ISignals for update bits of ISignal
groups on page 96.
94
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with Communication Matrices
Generating missing ECUs If a communication matrix contains PDUs for which no sending or receiving ECU
is specified and/or a specified ECU is not part of the communication matrix, the
required ECUs are generated during the import.
ECUs generated for classic CAN, CAN FD, and LIN PDUs For classic CAN
PDUs that are not J1939-compliant, CAN FD PDUs, and LIN PDUs, the generated
ECUs are named DS_UnknownSender or DS_UnknownReceiver.
The affected PDUs and their ISignals are assigned to the related sending or
receiving ECU.
In case of LIN, the following restrictions apply for generating ECUs:
§ The required ECUs can be generated only if the communication matrix
specifies the LIN master.
§ The generated ECUs contain only LIN slave communication controllers, no LIN
master communication controllers.
The affected IPDUs and ISignals are assigned to the generated ECUs as follows:
Affected Description
IPDUs
TX IPDUs TX IPDUs and all their ISignals are assigned to a generated ECU if it is the sending ECU, i.e., the transport protocol
address of the generated ECU is the transport protocol address that is specified as the source address of an
affected IPDU.
Peer‑to‑peer Peer‑to‑peer RX IPDUs and all their ISignals are assigned to a generated ECU if it is the receiving ECU, i.e.,
RX IPDUs the transport protocol address of the generated ECU is the transport protocol address that is specified as the
destination address of an affected peer‑to‑peer IPDU.
Broadcast Broadcast RX IPDUs can be received by any network node in a communication cluster. Therefore, no specific
RX IPDUs receiving ECU is specified for broadcast IPDUs. However, to handle broadcast IPDUs, the Bus Manager generates a
receiving ECU in the following cases:
§ The communication matrix does not assign any RX ISignals to a broadcast IPDU.
§ For at least one RX ISignal of a broadcast IPDU, the communication matrix does not specify a receiving ECU, or
the receiving ECU is not part of the communication matrix.
95
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Affected Description
IPDUs
In these cases, the generated ECU is named DS_UnknownJ1939ECU_0xFF and all affected broadcast RX IPDUs are
assigned to this ECU. However, related ISignals are assigned to this ECU only if the communication matrix does
not specify a receiving ECU for an ISignal, or the receiving ECU is not part of the communication matrix.
Tip
J1939 bridge ECUs are a typical use scenario in which ECUs are missing
in DBC communication matrices. Bridge ECUs route J1939‑compliant IPDUs
from one communication cluster to another by using the transport protocol
address of the original sending and/or receiving ECUs. Because a DBC file
specifies the communication of only one communication cluster, the original
sending and/or receiving ECUs are not available in the DBC file.
For more information on the J1939 protocol, refer to Aspects of the J1939
Protocol on page 80.
Import of dependent PDUs, In some cases, a communication matrix does not specify a sending and/or
ISignal groups, and ISignals receiving ECU for the following elements:
with missing sending and/or § Dependent PDUs, i.e.:
receiving ECU § Contained IPDUs of container IPDUs
§ Authentic IPDUs of non‑cryptographic secured IPDUs
§ Static‑part and dynamic‑part IPDUs of multiplexed IPDUs
§ ISignal groups
§ ISignals
If the communication matrix does not specify a sending and/or receiving ECU for
such an element, the element is imported. In the Buses Browser, the element is
available for its related higher‑level element. For example, if no receiving ECU is
specified for an ISignal, the ISignal is imported for its related ISignal IPDU and
available for all ECUs that receive this ISignal IPDU.
Tip
Generating ISignals for Communication matrices can specify an update bit for ISignals and ISignal
update bits of ISignal groups groups. The value of the update bit indicates to the receiving ECU whether the
ISignal or ISignal group has changed since the last reception. For each update
bit that a communication matrix specifies for an ISignal group, the Bus Manager
generates an ISignal with the following characteristics:
96
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with Communication Matrices
Property Value
Name <name of ISignal group>_UpdateBit
Length 1 bit
Initial value 1
Base data type Boolean
Start bit position Position of the update bit of the ISignal group in the related
ISignal‑to‑IPDU mapping
Endianness Derived from the first ISignal of the ISignal group
Is start bit LSB
The generated ISignal lets you access the value of the update bit at run time. For
this purpose, you can configure the generated ISignal in bus configurations in
the same way as any other ISignal.
However, the Bus Manager does not generate the update bit functionality along
with the ISignal. Therefore, the value of the update bit remains unchanged by
default, regardless of whether the related ISignal group has changed. To have
the value of the update bit change with the update state of the related ISignal
group, you have to model the update bit functionality in a mapped behavior
model, for example.
Clusters and ECUs view The Bus Manager provides different views on communication matrix elements.
You can switch between the following views:
§ Clusters view (default view)
§ ECUs view
97
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Filtering communication For a better overview, you can filter the communication matrix elements in the
matrix elements Buses Browser. You can filter for:
98
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with Communication Matrices
Tip
For details on using filters, refer to Using Display Filters (ConfigurationDesk Real-
Time Implementation Guide ).
99
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Introduction Bus configurations let you implement bus communication in the signal
chain of ConfigurationDesk and configure it for simulation, inspection,
and/or manipulation purposes. Additionally, you can specify gateways for CAN
communication between communication clusters .
You can work with bus configurations in the user interface of the Bus
Manager and by using the ConfigurationDesk automation interface. For more
information on using automation, refer to Accessing Bus Manager Features via
the ConfigurationDesk Automation Interface on page 152.
Using multiple bus You can work with multiple bus configurations at the same time. This
configurations makes it possible for you to use a separate bus configuration, e.g., for each
communication cluster or each ECU you want to simulate.
Accessing bus configurations When you add a bus configuration to the signal chain, you can access
it via specific tables and its Bus Configuration function block. The tables
provide access to the complete structure of the bus configurations (e.g., to
the ISignals you want to simulate, their function ports, the bus access
requests, etc.) and they let you configure the bus communication for simulation,
inspection, and/or manipulation purposes, and specify gateways. The Bus
Configuration function block can be accessed via working views and provides a
structured overview of the ports of a bus configuration.
100
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Bus Configurations
Assigning communication To simulate, inspect, and/or manipulate bus communication, you have to
matrix elements assign communication matrix elements to different parts of one or more bus
and configuring bus configurations. Refer to Assigning Communication Matrix Elements to Bus
communication Configurations on page 112.
To configure the bus communication in each bus configuration, you can use
various bus configuration features. Refer to Working with Bus Configuration
Features on page 191.
Removing communication You can remove an assigned communication matrix element from a bus
matrix elements from bus configuration by simply deleting it from the bus configuration. Refer to
configurations Removing Communication Matrix Elements from Bus Configurations on
page 120.
101
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Specifying gateways To exchange CAN communication between CAN communication clusters, you
can specify gateways. Refer to Specifying CAN Frame Captures and Gateways on
page 171.
Element identification via The node names in a bus configuration structure are used to identify bus
node names communication elements unambiguously within the structure. The names are
used in the variable description file (TRC file) and can, for example, be used to
access ISignals via automation scripts.
The node names of the bus configuration and the assigned communication
matrices are configurable. If you work with DBC or LDF communication matrices,
you can also configure the names of communication cluster nodes in the
bus configuration. Changing the node names applies only to the specific bus
configuration. Other bus configurations and the related communication matrix
are not affected.
Tip
Updating bus configurations Typically, the bus communication defined in a communication matrix is
frequently changed during the development process. Communication matrices
cannot be updated in the ConfigurationDesk application but you can import
the modified communication matrix regardless of whether its name has
changed. The Bus Manager updates a bus configuration when you replace the
assigned communication matrix by the modified communication matrix. Refer to
Replacing Assigned Communication Matrices on page 435.
Transferring configured bus You can easily transfer configured bus communication from one bus
communication to bus configuration to another. To do this, you can copy entire bus configurations,
configurations or copy or cut individual bus configuration elements and paste them to
one or more bus configurations. Refer to Copying, Cutting, and Pasting Bus
Configuration Elements on page 131.
102
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Tables
Accessing real-time hardware To simulate, inspect, or manipulate bus communication on real-time hardware
during run time, the real-time hardware must provide bus channels. When
you assign communication matrix elements to a bus configuration, the
communication clusters of the assigned elements are represented by bus access
requests. To specify the bus access, you have to assign the bus access requests to
a CAN or LIN function block (bus function block). Via the bus function blocks,
you can assign suitable hardware resources and configure the bus channels
according to your requirements. Refer to Specifying the Hardware Access on
page 157.
Including bus communication To include bus communication in SIL simulation , you can generate
in offline simulation bus simulation containers . You can import bus simulation containers to
VEOS and implement the contained bus communication in an offline
simulation application . Refer to Basics on Bus Simulation Containers (BSC Files)
on page 373.
Introduction The bus configuration tables are the main elements for accessing and working
with bus configurations:
§ They let you assign communication matrix elements to bus configurations.
§ They let you configure the bus communication for simulation, inspection,
and/or manipulation purposes.
§ They let you specify gateways.
§ They provide access to all the elements and properties of bus configurations.
The tables provide a high number of columns that let you access and work with
the bus configurations. For a better overview, not all of the columns that are
available for a table are displayed by default. The columns that are not displayed
are available in the Column Chooser. You can add or remove columns to or
from a table by dragging the columns from the Column Chooser to the table or
vice versa.
103
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Tip
§ You can access the Column Chooser via the context menu of the column
headers.
§ The Column Chooser applies only to the table for which you open it.
When you select another table, the Column Chooser is automatically
closed.
§ You can use the Reset Columns command to reset the columns of the
selected table to the default state. You can access the command when
you right‑click in an empty area of the table.
Moreover, you can customize the display of the tables according to your
requirements, for example, by using display filters, selecting elements by type,
or sorting columns. Some of the changes, such as added or removed columns,
apply to all ConfigurationDesk projects and are stored, even if you close the
tables or ConfigurationDesk. For more information, refer to Customizing Table
Rows and Columns (ConfigurationDesk Real-Time Implementation Guide ).
104
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Tables
Tip
If a table is closed, you can open it via Show Panes on the View ribbon, for
example.
Bus Configurations table This table provides access to all the bus configurations of the
active ConfigurationDesk application. The following illustration is an
example of the Bus Configurations table structure for an application
with two bus configurations named 'Combi_BusConfiguration' and
'Controller_BusConfiguration'.
Bus Description
Configuration
Part
Simulated ECUs Lets you assign communication matrix elements to the bus configuration for simulation purposes. Simulating
bus communication is ECU-dependent. Therefore, elements are assigned in the context of their sending or
receiving ECUs. You can select individual elements to access their properties in the Properties Browser and
add available bus configuration features.
Inspection § Lets you assign communication matrix elements to the bus configuration for inspection purposes. Inspecting
bus communication is cluster-dependent, i.e., ECU-independent. Therefore, elements are assigned in the
context of their communication cluster .
105
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Bus Description
Configuration
Part
§ Lets you add frame captures to capture CAN frames that are received on the bus. Frame captures are
independent from communication matrices, i.e., frames are captured on the basis of specified frame
parameters and not on the basis of communication matrix elements.
You can select individual elements to access their properties in the Properties Browser and add available bus
configuration features.
Manipulation Lets you assign communication matrix elements to the bus configuration for manipulation purposes.
Manipulating bus communication is cluster-dependent, i.e., ECU-independent. Therefore, elements are
assigned in the context of their communication cluster. You can select individual elements to access their
properties in the Properties Browser and add available bus configuration features.
Gateways Lets you specify gateways. Via a gateway, you can exchange CAN communication between two
communication clusters. Specifying gateways is independent from communication matrices, i.e., you cannot
assign communication matrix elements to this part. Instead, you have to add a frame gateway for each
gateway you want to specify.
Tip
§ The fifth part of each bus configuration is the Bus Access Requests part.
You can access this part via the Bus Access Requests table.
§ All the communication matrix elements that are assigned to a
bus configuration are displayed hierarchically, starting with the
communication matrix they are part of. Therefore, a communication
matrix can be represented by up to four communication matrix nodes,
one below each Simulated ECUs, Inspection, Manipulation, and Bus
Access Requests node. Changes you make to one communication matrix
node automatically apply to the other nodes.
§ When you drag communication matrix elements to a bus configuration
node, the elements are automatically assigned to the Simulated ECUs
part of the related bus configuration.
Further information
§ For an overview of the use scenarios for simulating, inspecting, manipulating,
and gatewaying bus communication, refer to Overview of the Use Scenarios
for Configuring Bus Communication with the Bus Manager on page 29.
§ For basic information on assigning communication matrix elements for
simulation, inspection, and manipulation purposes to bus configurations,
refer to Assigning Communication Matrix Elements to Bus Configurations on
page 112.
§ For basic information on capturing CAN frames, refer to Capturing CAN
Frames on page 171.
§ For basic information on specifying gateways, refer to Specifying CAN Frame
Gateways on page 173.
§ For more information on this table, refer to Bus Configurations Table
(ConfigurationDesk User Interface Reference ).
§ For an overview of all the available symbols, refer to Elements and Symbols
of Bus Configurations and Communication Matrices (ConfigurationDesk User
Interface Reference ).
106
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Tables
Bus Access Requests table This table provides access to all the bus access requests of all bus
configurations of the active ConfigurationDesk application. Bus access requests
are generated for the following elements:
§ One bus access is generated for each pair of a communication cluster and
the Simulated ECUs, Inspection, or Manipulation part of a bus
configuration if at least one cluster element is assigned to the related part.
§ One bus access request is generated for each frame capture element that is
added to the Inspection part of a bus configuration.
§ Two bus access requests are generated for each frame gateway that is added
to the Gateways part of a bus configuration.
You can specify user-defined names for the bus access requests and assign the
bus access requests to bus accesses .
Further information
§ For more information on bus access requests and bus accesses, refer to Basics
on Bus Access Requests on page 155.
§ For more information on this table, refer to Bus Access Requests Table
(ConfigurationDesk User Interface Reference ).
§ For an overview of all the available symbols, refer to Elements and Symbols
of Bus Configurations and Communication Matrices (ConfigurationDesk User
Interface Reference ).
Bus Simulation Features Bus configurations provide various bus configuration features, which are
table, Bus Inspection Features available for specific elements and for simulation, inspection, and/or
table, and Bus Manipulation manipulation purposes.
Features table
The Bus Simulation Features table, Bus Inspection Features table, and
Bus Manipulation Features table provide access to the bus configuration
features that can be added to PDUs and ISignals for simulation, inspection,
and manipulation purposes, respectively. Each table lets you enable and
disable PDU-related and signal-related bus configuration features for all the
bus configurations of the active ConfigurationDesk application. Depending on
107
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
the enabled bus configuration features, function ports and/or event ports are
added to the related bus configuration. You can access the ports via the Bus
Configurations and Bus Configuration Ports table, for example.
Tip
Subview Purpose
PDU Features Provides a list of all the PDUs that are assigned to the related bus
configuration part and the available PDU-related bus configuration
features. This is the default view.
Signal Provides a list of all the ISignals that are assigned to the related bus
Features configuration part and the available signal-related bus configuration
features.
Further information
§ For more information on working with bus configuration features, refer to
Working with Bus Configuration Features on page 191.
§ For more information on these tables, refer to
§ Bus Simulation Features Table (ConfigurationDesk User Interface
Reference )
§ Bus Inspection Features Table (ConfigurationDesk User Interface
Reference )
§ Bus Manipulation Features Table (ConfigurationDesk User Interface
Reference )
Bus Configuration Ports table Bus configurations provide function ports and/or event ports for enabled
bus configuration features. The ports let you access ISignal values, LIN schedule
tables, PDU raw data, etc.
This table provides access to the available ports of all the bus configurations
of the active ConfigurationDesk application. In the table, you can configure the
108
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Function Block
ports: For example, you can enable Model access for several function ports at
the same time or map model ports to function ports or event ports via drag &
drop. For a better overview, you can filter this table via various port filters. When
you select a port in the list, all the properties of the port are displayed in the
Properties Browser.
Further information
§ For more information on configuring function ports, refer to Configuring
Function Ports for Bus Configuration Features on page 198.
§ For an example of mapping model ports to function ports or event ports via
this table, refer to Example of Mapping Model Ports to Bus Configuration Ports
via Tables on page 358.
§ For more information on filtering elements, refer to Using Display Filters
(ConfigurationDesk Real-Time Implementation Guide ).
§ For more information on this table, refer to Bus Configuration Ports Table
(ConfigurationDesk User Interface Reference ).
Introduction In working views, each bus configuration can be accessed via its Bus
Configuration function block.
Port-based appearance of Bus The appearance of Bus Configuration function blocks is port-based, i.e., each
Configuration function blocks function block provides a hierarchically structured access to the ports of a bus
configuration. Because the available ports and the related hierarchies depend on
the configured bus communication, the appearance of each Bus Configuration
function block depends on the bus communication that is configured for the
related bus configuration.
Default view of Bus By default, bus configurations do not provide any ports. Therefore, a default Bus
Configuration function blocks Configuration function block displays only the name of the bus configuration.
Function ports of Bus Function ports are available when you configure bus communication by using
Configuration function blocks bus configuration features that provide function ports. In many cases, the bus
communication that is configured for a bus configuration results in hundreds of
signals that can be accessed via function ports. Therefore, Bus Configuration
function blocks can provide hundreds of function ports.
109
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
To improve the overview, function ports with disabled model access are hidden
by default. The related hierarchical structures are also hidden. Because model
access is disabled for all the function ports by default, Bus Configuration
function blocks display no function ports by default.
When you enable model access for function ports, the function ports and the
related hierarchical structures are displayed. In the following example, model
access is enabled for four function ports.
Tip
To display function ports with disabled model access, you have to deactivate
the filter for mappable ports. To do so, right-click a free area of the
working view and clear Filter for Mappable Ports on the context menu.
The function ports with disabled model access are indicated by and
symbols.
110
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Function Block
Event ports of Bus Event ports are available only if you add bus configuration features that
Configuration function blocks provide event ports to the bus configuration. If you do this, the related
Bus Configuration function block displays the event ports, including their
hierarchical structure, as shown in the following example.
Tip
§ In contrast to function ports, all the available event ports are displayed by
default.
§ When you configure bus communication, events are created
automatically. However, for these events no event ports are available.
For more information, refer to Basics on Tasks, Events, and Runnable
Functions Provided by the Bus Manager on page 363.
Default view of Bus When you open a working view that contains a Bus Configuration function
Configuration function blocks block with a high number of mappable ports (i.e., function ports with enabled
providing a high number of model access and/or event ports), the function block is collapsed by default. To
mappable ports expand the function block, click the expand arrow.
If you click the expand arrow once and ports of the Bus Configuration function
block are mapped to model ports, the mapping lines are still collapsed and
drawn to the parent port of the function block. To expand the mapping lines as
well, click the expand arrow twice.
111
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Introduction To simulate, inspect, and/or manipulate bus communication, you have to assign
communication matrix elements to specific bus configuration parts:
§ To simulate bus communication, assign communication matrix elements to the
Simulated ECUs bus configuration part.
§ To inspect bus communication, assign communication matrix elements to the
Inspection bus configuration part.
§ To manipulate bus communication, assign communication matrix elements to
the Manipulation bus configuration part.
You can access the bus configuration parts in the Bus Configurations table.
The bus configuration parts do not influence each other. Therefore, you can
configure the bus communication independently for simulation, inspection, and
manipulation purposes. For more information on these use scenarios, refer to
Overview of the Use Scenarios for Configuring Bus Communication with the Bus
Manager on page 29.
Assigning communication You can assign communication matrices completely or in part to bus
matrix elements to bus configurations. You can do this by selecting communication matrix elements in
configurations the Buses Browser and dragging them to the Bus Configurations table.
112
ConfigurationDesk Bus Manager Implementation Guide May 2024
Assigning Communication Matrix Elements to Bus Configurations
In the Buses Browser, the assigned communication matrix elements are marked
by a chain symbol ( ). These elements are part of the signal chain and are
implemented in the real-time application when you build the application and
in bus simulation containers when you generate the containers.
General assignment rules When you assign a communication matrix element to a bus configuration, the
following general assignment rules apply:
§ Relevant higher-level elements are assigned as well.
§ Relevant subelements are assigned as well.
§ Elements of the same hierarchy level are not assigned.
Example:
PDUs and ISignals that are assigned to a bus configuration are instantiated. For
more information, refer to Instantiating PDUs and ISignals on page 119.
113
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
114
ConfigurationDesk Bus Manager Implementation Guide May 2024
Assigning Communication Matrix Elements to Bus Configurations
Assigning the related higher-level elements and subelements does not differ
for the Inspection and Manipulation parts. However, the assignment differs
depending on whether you select the communication matrix elements in the
Communication Matrices by Clusters or Communication Matrices by ECUs
view of the Buses Browser, as shown in the following examples.
§ Example 1:
115
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
§ Example 2:
Tip
If the PDU is assigned to the Manipulation part, the PDU direction is not
converted. The assignment of the relevant related elements is identical.
116
ConfigurationDesk Bus Manager Implementation Guide May 2024
Assigning Communication Matrix Elements to Bus Configurations
Notes on assigning specific Container IPDUs , multiplexed IPDUs , and non‑cryptographic secured
PDU types IPDUs have dependent IPDUs, which are displayed as subelements of the
IPDUs in the Buses Browser. To these IPDU types and their dependent IPDUs, the
same assignment rules apply as to other communication matrix elements.
For example, a container IPDU has two dependent IPDUs, i.e., contained IPDUs:
§ When you assign the container IPDU to a bus configuration, both contained
IPDUs are assigned as well.
§ When you assign one of the contained IPDUs to a bus configuration, the
container IPDU is assigned as well. The other contained IPDU is not assigned.
However, in bus configurations, PDUs are always displayed on the same hierarchy
level, as shown in the following example:
When you select a container IPDU, multiplexed IPDU, or secured IPDU in the
bus configuration, the Properties Browser provides the Contained IPDUs,
Multiplexed Part IPDUs, or Authentic IPDUs page. These pages display the
related dependent IPDUs that are also assigned to the bus configuration, as
shown in the following example:
117
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Tip
In the example above, the Is initial dynamic part and Selector field
code properties are grouped for the multiplexed IPDU. To display the
properties for each dynamic‑part IPDU, select the intersection mode in
the Properties Browser.
118
ConfigurationDesk Bus Manager Implementation Guide May 2024
Assigning Communication Matrix Elements to Bus Configurations
You have to assign both IPDUs to the same bus configuration part of a bus
configuration manually.
Tip
Instantiating PDUs and PDUs and ISignals that are assigned to bus configurations are instantiated. The
ISignals instances of one PDU/ISignal are not synchronized. Therefore, you can configure
different settings for each instance.
PDUs and ISignals assigned to the Simulated ECUs part PDUs and ISignals
that are assigned to the Simulated ECUs part of one or more bus configurations
are instantiated for each related transmitting or receiving ECU and for each bus
configuration.
In the following example, CarLockControlIPdu is assigned to two bus
configurations: To Bus Configuration (1), the PDU is assigned in the context
of two ECUs. To Bus Configuration (2), the PDU is assigned in the context of
three ECUs. Therefore, five instances are generated for the PDU.
119
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Conflicting assignments A communication matrix can contain elements that cannot be used with the Bus
Manager, for example, PDUs with exceeding ISignals or ISignals with an invalid
coding. If you assign such elements to bus configurations, conflicts occur. In
most cases, you must resolve these conflicts before you can build a real-time
application or generate bus simulation containers that include the affected bus
configurations. Refer to Basics on Bus Manager-Related Conflicts on page 163.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Basics on Bus Access Requests................................................................................................ 155
Introduction to the Properties Browser (ConfigurationDesk Real-Time
Implementation Guide )
Introduction You can remove communication matrix elements from bus configurations by
deleting them in bus configuration tables.
Removing communication To remove a communication matrix element from a bus configuration, you can
matrix elements in bus select it in a bus configuration table (e.g., in the Bus Configurations table
configuration tables or Bus Simulation Features table) and delete it via the context menu or the
120
ConfigurationDesk Bus Manager Implementation Guide May 2024
Creating Restbus Configurations
Delete key. Deleting a communication matrix element has the following effects
on the related bus configuration:
§ Subelements of the deleted element are removed as well.
§ Higher-level elements of the deleted element are removed as well if all of the
following conditions are fulfilled:
§ The higher-level elements have no other subelements.
§ The higher-level elements have no configurable properties themselves.
§ No bus configuration features are available for the higher-level elements.
§ Elements that directly depend on the deleted element are removed as well:
§ If you delete a container IPDU , the related contained IPDUs are removed
as well.
§ If you delete a multiplexed IPDU , the related static‑part and dynamic‑part
IPDUs are removed as well.
§ If you delete a secured IPDU that is configured as a non‑cryptographic
IPDU, the related authentic IPDU is removed as well.
§ If you delete a bus channel (available for the Inspection and Manipulation
bus configuration parts), the related cluster is removed as well.
§ If you delete a communication controller (available only for the Simulated
ECUs bus configuration part), all the elements that are transmitted or
received by the related ECU via the affected cluster are removed as well.
For example, you work with a bus configuration as shown in the following
illustration and you delete the 'FrontModule_CAN_Comfort_Controller'.
In this case, all the PDUs that are transmitted or received only via
'CAN_Comfort_Cluster' are removed as well. 'PDU_FrontModule_Burst' is
transmitted via two clusters. Therefore, the PDU itself is not removed but
only the frame that transmits the PDU via 'CAN_Comfort_Cluster'.
Introduction If you want to perform a restbus simulation for one or more ECUs under test
(e.g., real ECUs), you can create a restbus configuration. When you do this, all
the communication matrix elements that are required for the restbus simulation
are assigned to a bus configuration in one step.
121
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
For an example of a restbus simulation, refer to Use Scenarios for Simulating Bus
Communication on page 31.
Creating a restbus To create a restbus configuration for the ECUs under test, you can select the
configuration related ECUs or network nodes in the Buses Browser. When you do this,
the Create Restbus Configuration command is available on the context menu.
This command assigns the communication matrix elements that are required for
the restbus simulation to a bus configuration.
PDU 3_1
ECU 1
PDU 1_5
CAN 2 ECU 4
PDU 1_1
PDU 2_1 PDU 4_1
PDU 1_2 CAN 1 PDU 2_2 PDU 4_2
PDU 1_3
PDU 2_3
ECU 2 LIN 1 ECU 5
PDU 5_1
122
ConfigurationDesk Bus Manager Implementation Guide May 2024
Creating Restbus Configurations
transmitting ECUs are simulated. The PDUs are transmitted and can be
received by the ECUs under test.
§ All PDUs, including their subelements, that are transmitted by a selected ECU
or network node are assigned to the Inspection part of the bus configuration.
When the ECUs under test transmit the PDUs at run time, they are received by
the bus configuration.
For the example above, the required communication matrix elements are
assigned to the bus configuration as follows:
Tip
Excluding ECUs from restbus You can exclude ECUs from a restbus configuration. For this purpose, the
configurations Restbus Configuration Exclude List is available. ECUs that are listed in the
exclude list are not considered for creating a restbus configuration. For example,
if ECU 3 from the example above is listed in the exclude list, the PDUs that
are exchanged between ECU 1 and ECU 3 are not included in the restbus
configuration.
123
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
You can open the Restbus Configuration Exclude List via Show Panes on the
View ribbon.
To exclude ECUs, you can drag them from the Buses Browser to the exclude list
or type their names in the exclude list. If you type the names, use a semicolon to
separate the names.
Tip
The exclude list is string‑based, i.e., it can contain any string. However,
strings that are no ECU names have no effects, i.e., they are ignored when
you create a restbus configuration.
Restrictions for creating For creating restbus configurations, the following restrictions apply:
restbus configurations § You can create a restbus configuration only for ECUs or network nodes that
are specified in the same communication matrix.
§ You cannot exclude network nodes from a restbus configuration, i.e., you
cannot exclude the communication on individual clusters. When you add the
name of an ECU to the Restbus Configuration Exclude List, the ECU's bus
communication on all involved communication clusters is excluded from the
restbus configuration.
§ The entries of the Restbus Configuration Exclude List are not saved. When
you close the list or the ConfigurationDesk application, the list is cleared.
§ You cannot update a created restbus configuration, e.g., if elements that are
required for the restbus configuration have changed in an updated version of
the communication matrix.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Specifying the Behavior for Assigning Communication Matrix Elements and Adding
Bus Configuration Features (Preview Version).......................................................................... 125
124
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying the Behavior for Assigning Communication Matrix Elements and Adding Bus Configuration Features (Preview Version)
Introduction The Bus Manager provides a default behavior for configuring bus communication
in bus configurations, called default bus configuration behavior. This behavior
applies to the following actions:
§ Assigning communication matrix elements to bus configurations.
§ Adding bus configuration features to assigned communication matrix
elements.
If the default bus configuration behavior does not meet your requirements, you
can specify a user‑defined bus configuration behavior.
Note
Overview of the default bus With the default bus configuration behavior, the following behavior applies for
configuration behavior assigning communication matrix elements to bus configurations and adding bus
configuration features to assigned communication matrix elements:
Tip
Note
If you drag communication matrix elements to the Bus Configurations table when two or more bus
configurations are available, the elements cannot be assigned to any bus configuration.
Dragging communication matrix elements to a bus The elements are assigned to the Simulated ECUs
configuration as follows: part of the respective bus configuration.
§ To the bus configuration node of a bus
configuration.
§ Between the bus configuration part nodes of a bus
configuration (indicated by a blue line).
125
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Enabling and disabling If the default bus configuration behavior does not meet your requirements, you
a user‑defined bus can enable the use of a user‑defined bus configuration behavior. You can do this
configuration behavior in the following ways:
§ In the Bus Configuration Behavior table, set User‑defined configuration
to On.
Tip
You can open the Bus Configuration Behavior table via Windows on
the Home ribbon, for example.
When enabled, the columns of the Bus Configuration Behavior table are
configurable and you can specify a user‑defined bus configuration behavior. This
behavior applies to all subsequently assigned communication matrix elements
126
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying the Behavior for Assigning Communication Matrix Elements and Adding Bus Configuration Features (Preview Version)
and added bus configuration features. Refer to Specifying the user‑defined bus
configuration behavior on page 127.
When you disable the user‑defined configuration behavior, i.e., you set the
User‑defined configuration button to Off or click the Enable button again
so that it is not highlighted anymore, the default bus configuration behavior
applies. The Bus Configuration Behavior table is read‑only and displays
the default bus configuration behavior. However, the specified user‑defined
configuration is preserved and you can enable it again at any time.
Tip
The specified enable state is stored locally on the host PC and applies
to all ConfigurationDesk projects and applications, even if you close
ConfigurationDesk. For example, when you enable the user‑defined
configuration behavior before you close ConfigurationDesk, this behavior
is enabled when you open ConfigurationDesk the next time.
Specifying the user‑defined When you enable the user‑defined bus configuration behavior, the Bus
bus configuration behavior Configuration Behavior table lets you specify the user‑defined bus
configuration behavior as follows:
Tip
Column Description
Forward The settings of this column apply only in the following cases:
Assignment § You drag communication matrix elements to the empty Bus Configurations table.
§ You drag communication matrix elements to the Bus Configurations table when only one bus configuration is
available.
§ You drag communication matrix elements directly onto a bus configuration node.
§ You drag communication matrix elements between the bus configuration part nodes of a bus configuration
(indicated by a blue line).
127
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Column Description
In these cases, the elements are assigned to the bus configuration parts for which the respective checkboxes are
selected. For example:
When you now drag TX and RX PDUs to a bus configuration node, the elements are assigned as follows:
§ All TX PDUs are assigned to the Simulated ECUs and Manipulation parts.
§ The ISignal groups and ISignals that are available for the TX PDUs are only assigned to the Simulated ECUs
part.
§ All RX PDUs, including their ISignal groups and ISignals, are assigned to the Inspection part.
128
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying the Behavior for Assigning Communication Matrix Elements and Adding Bus Configuration Features (Preview Version)
Column Description
Tip
The checkboxes of required higher‑level and dependent lower‑level elements are selected/cleared
automatically when you select or clear the checkbox of an element. For example:
§ If you select RX Signals for Simulated ECUs, RX Signal Groups and RX PDUs are selected as well.
§ If you clear RX PDUs for Simulated ECUs, RX Signal Groups and RX Signals are cleared as well.
Add Feature The settings of this column apply whenever communication matrix elements are assigned to a bus configuration,
regardless of the source that assigns the elements, i.e.:
§ Assignments according to the settings of the Forward Assignment column or the Create Restbus
Configuration command.
§ Manual drag & drop operations.
§ Assignments via automation.
When you select a checkbox in this column, the selected bus configuration feature is added to the applicable
communication matrix elements when you assign the elements to the respective bus configuration part.
§ Test The settings of these columns apply whenever bus configuration features are added to communication matrix
Automation elements, regardless of the way in which the features are added, i.e.:
Support § Adding features according to the settings of the Add Feature column.
§ Model § Enabling features in the bus configuration feature tables.
Access
§ Adding features via context menu or automation.
When you select a checkbox in any of these columns, test automation support/model access is enabled for all
function ports of the related feature when you add it to a communication matrix element in the respective bus
configuration part.
Tip
§ You can search and filter for elements in the Name column using the
Search name and Filter for name edit fields, respectively:
§ Search name: While you are typing, each occurrence of the entered
search string is highlighted in yellow in the Name column.
§ Filter for name: While you are typing, the Name column is filtered for
the entered filter string.
§ For each column, you can easily select and clear all checkboxes in the
context of a selected higher‑level element using the Select All and Clear
All context menu commands.
Points to note for the Inspection and Manipulation parts The Bus
Configuration Behavior table lets you select TX and RX elements for
the Inspection and Manipulation parts, even though all elements in the
Inspection part have the RX direction and all elements in the Manipulation
part have the TX direction. Nevertheless, you can select TX and RX elements for
129
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
both parts because the element direction in the Bus Configuration Behavior
table refers to the element direction in the Buses Browser, not to the element
direction in the respective bus configuration part. For example:
When you now drag the selected ISignals to a bus configuration node, the
behavior is the following:
§ The selected TX and RX ISignals, including the required higher‑level elements,
are assigned to the Inspection part. However, in the Inspection part, the
direction of all elements is RX.
§ The ISignal Value feature is added to LockCarISignal and UnlockCarISignal,
whose direction is RX in the Buses Browser.
Resetting the bus You can reset the user‑defined bus configuration behavior to the default
configuration behavior behavior by clicking Reset in the Bus Configuration Behavior table. When
you do this, a dialog opens, asking you whether you really want to reset
your user‑defined configuration behavior. When you click Yes, the specified
user‑defined configuration is lost and overwritten with the default bus
configuration behavior.
130
ConfigurationDesk Bus Manager Implementation Guide May 2024
Copying, Cutting, and Pasting Bus Configuration Elements
Tip
Restrictions for specifying For specifying a user‑defined bus configuration behavior, the following
a user‑defined bus restrictions apply:
configuration behavior § You cannot add frame capture and frame gateway elements using a
user‑defined bus configuration behavior.
§ You cannot add the Partial Network Cluster Enable, GTS Transmission
Control, GTS Time Base Data, GTS Validation, Frame Capture Data,
Frame Gateway Direction, and Filter Control features using a user‑defined
bus configuration behavior.
Introduction You can easily transfer configured bus communication from one bus
configuration to another using copy, cut, and paste in the Bus Configurations
table.
131
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Copy Cut
Using … § Copy context menu command § Cut context menu command
§ Ctrl + C shortcut § Ctrl + X shortcut
Applicable § One selected bus configuration One or more selected bus configuration elements,
elements § One or more selected bus configuration elements, e.g., e.g., multiple selected PDUs.
multiple selected PDUs
Restrictions § You can copy or cut elements only in the Bus Configurations table.
§ You can copy or cut multiple selected bus configuration elements only if all of the following applies:
§ All elements are of the same element type.
§ All elements are selected in the same bus configuration.
§ You cannot cut bus configurations.
Tip
§ When you cut elements, they are grayed out in the related bus
configuration. They are removed from the bus configuration when you
paste them to another bus configuration. If you do not paste the
elements, they are not removed from the bus configuration.
§ If you select the Simulated ECUs, Inspection, Manipulation, or
Gateways node of a bus configuration, not the node itself but all its
subelements are cut.
Effects of copying or cutting Additionally involved elements When you copy or cut a bus configuration
elements element, the following elements are also involved:
Copy Cut
Involved § All subelements, including available bus configuration feature nodes and bus configuration ports.
elements § All related higher‑level elements.
§ Required elements on the same hierarchy level.
For example, if you select a dynamic‑part IPDU, the related multiplexed IPDU is also involved.
Effects All involved elements are § All subelements are cut as well.
copied as well. § In most cases, higher‑level elements and required elements on the same hierarchy
level are only copied. These elements are cut only if all of the following applies:
§ The elements have no other subelements.
§ The elements have no configurable properties themselves.
§ No bus configuration features are available for the elements.
However, if you cut a bus channel (available for the Inspection and
Manipulation bus configuration parts), these conditions do not apply: In this
case, the related communication cluster is cut as well even though it has
configurable properties.
132
ConfigurationDesk Bus Manager Implementation Guide May 2024
Copying, Cutting, and Pasting Bus Configuration Elements
133
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Tip
Effects on configured settings All elements are copied or cut with their
configured settings, e.g., copied/cut bus configuration features keep their
configured settings when you paste them to a bus configuration.
However, the following elements and settings are not copied or cut:
§ Bus configuration features of related higher‑level elements or of required
elements on the same hierarchy level. Therefore, no bus configuration features
are added to pasted higher‑level or required elements.
For an animated graphic, refer to dSPACE Help.
§ Port mappings. Therefore, pasted function ports or event ports are not
mapped to model ports.
§ Assigned bus accesses . Therefore, bus access requests of pasted elements
are not assigned to bus accesses.
134
ConfigurationDesk Bus Manager Implementation Guide May 2024
Copying, Cutting, and Pasting Bus Configuration Elements
Tip
Because port mappings and assigned bus accesses are not copied or cut
as well, pasted bus configurations are not assigned to any application
process.
Pasting copied or Pasting elements You can paste copied or cut elements to an existing
cut elements to bus bus configuration or to one or more new bus configurations in the Bus
configurations Configurations table:
Aspect Description
Bus configuration The elements are automatically added to that bus configuration part (Simulated ECUs, Inspection,
parts Manipulation, Gateways) from which you copied or cut them.
Existing elements If a copied/cut element is already available in the respective bus configuration part, the element in the bus
configuration is replaced with the copied/cut element.
Names of The names of communication matrices and communication clusters in the bus configuration are not
communication affected by the paste operation.
matrices and clusters When you paste elements of a communication matrix or a communication cluster to a bus configuration
that already has elements of that matrix/cluster assigned, the name of the matrix/cluster in the bus
configuration remains unchanged.
Frame gateways and Frame gateways and frame captures can only be identified by their names. If you paste frame gateways or
frame captures captures to a bus configuration, they cannot unambiguously be identified in the following cases:
§ You copied/cut frame gateways or captures with identical names.
§ The bus configuration contains at least two frame gateways or captures whose names are identical to
the pasted frame gateways/captures.
In these cases, the pasted frame gateways/captures are added to the bus configuration without replacing
existing frame gateways/captures. If required, the names of the pasted frame gateways/captures are
extended with Copy (<n>). However, the paste operation does not resolve the duplicate names.
Therefore, conflicts occur.
Limitations For copying, cutting, and pasting elements, some limitations apply. Refer to
Limitations for Bus Configuration Handling on page 531.
135
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Enable the use of the transfer Each bus configuration provides the Use transfer property property. It lets you
property enable the use of the transfer property, which is available for ISignals and ISignal
groups.
If set to True, the setting of the transfer property is considered for transmitting
PDUs, and the PDUs can be transmitted according to event‑controlled timings.
Thus, depending on the specifications in the communication matrix, the
transmission of a PDU can be triggered in two ways: By ISignals and ISignal
groups that are included in the PDU and/or by a cyclic timing.
By default, the use of the transfer property is disabled, i.e., Use transfer
property is set to False.
Note
If Use transfer property is set to True, all ISignals and ISignal groups
for which the transfer property is specified can trigger the transmission
of their related PDUs. If many ISignals and ISignal groups can trigger the
transmission, the run‑time performance might be reduced. Therefore, it is
recommended to set the property to True only if you want to trigger the
transmission of PDUs according to the setting of the transfer property.
136
ConfigurationDesk Bus Manager Implementation Guide May 2024
Triggering the Transmission of Multiplexed IPDUs
Tip
Specifying event‑controlled If the communication matrix does not specify an event‑controlled timing for an
timings and configuring the ISignal IPDU or extended multiplexed IPDU , you can add it. Refer to Adding
transfer property Event‑Controlled Timing Elements to IPDUs on page 401.
Moreover, you can specify user-defined settings for the following communication
matrix elements of PDUs, ISignal groups, and ISignals:
§ PDUs: Number of repetitions, repetition period, and minimum delay time of an
event‑controlled timing
Refer to Configurable Settings of PDUs on page 414.
§ ISignal groups and ISignals: Transfer property
Refer to Configurable Settings of ISignal Groups on page 425 and
Configurable Settings of ISignals on page 427, respectively.
Limitations for For using event‑controlled timings, some limitations apply. Refer to Limitations
event‑controlled timings for transmitting PDUs according to event‑controlled timings on page 520.
Introduction The Bus Manager supports multiplexed IPDUs according to AUTOSAR. Refer to
Aspects of Multiplexed IPDUs on page 63.
With the Bus Manager, the transmission of multiplexed IPDUs can be triggered
by the dynamic‑part IPDUs or the static‑part IPDU as follows:
§ Via cyclic timings that are specified in the communication matrix.
To dynamic‑part IPDUs, these timings apply automatically. For the static‑part
IPDU, you can enable and disable the use of the cyclic timings. Refer to Using
cyclic timings of the communication matrix for static‑part IPDUs on page 138.
137
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
If the static‑part IPDU triggers the transmission of the multiplexed IPDU, the
dynamic‑part IPDU that is also transmitted depends on various factors. Refer to
Transmitted dynamic‑part IPDU if the static‑part IPDU triggers the transmission on
page 138.
Using cyclic timings of the Each bus configuration provides the Use predefined cyclic timings of
communication matrix for static‑part IPDUs property. This property lets you enable and disable the use
static‑part IPDUs of cyclic timings that are specified in the communication matrix for static‑part
IPDUs.
If set to True, cyclic timings that are specified in the communication matrix
for static‑part IPDUs are considered for transmitting the IPDUs and their related
multiplexed IPDUs. If set to False, these cyclic timings are not considered.
By default, these cyclic timings are considered, i.e., Use predefined cyclic
timings of static‑part IPDUs is set to True.
Transmitted dynamic‑part In general, if the static‑part IPDU triggers the transmission of the related
IPDU if the static‑part IPDU multiplexed IPDU, the dynamic‑part IPDU that is also transmitted depends on
triggers the transmission the following:
138
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with User Code
Moreover, you can use the PDU Selector Field feature to specify a specific
dynamic‑part IPDU that is transmitted when the static‑part IPDU triggers the
transmission of the multiplexed IPDU. Refer to Accessing the Selector Field Value
of Multiplexed IPDUs on page 266.
Limitations for transmitting For transmitting multiplexed IPDUs, some limitations apply. Refer to Limitations
multiplexed IPDUs for Communication Matrices and Communication Standards on page 519.
Introduction When you configure bus communication with the Bus Manager, you can work
with user code. You can use user code to implement user-specific algorithms in
executable applications .
User code and the When you work with user code, you also need the functionality of the Bus
DsBusCustomCode interface Custom Code interface.
User code User code is C code or C++ code that contains user-specific
algorithms. You can use user-specific algorithms to provide additional
functionality to the Bus Manager, for example, for calculating checksum
or counter signal values or generating authentication information in secure
onboard communication (SecOC) scenarios. A user code implementation in
ConfigurationDesk consists of one or more source files (*.c, *.cpp) and optional
include files (*.h, *.hpp), such as header files.
Bus Custom Code interface The Bus Custom Code interface is a C-based
API interface provided by dSPACE. It is required to implement user code and
its functionalities in executable applications. In general, the Bus Custom Code
interface lets you do the following:
§ Specify a user code ID for each user code implementation. This ID is
required to unambiguously reference specific user code implementations in
bus configurations.
§ Initialize the functionalities provided by user code in the executable
application.
§ Exchange data between the user code and the Bus Manager, for example,
to access properties of secured IPDUs or write calculated checksum values to
ISignals of a PDU.
139
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
For more information on the Bus Custom Code interface, and on the required
content and structure of user code implementations, refer to Bus Custom Code
Interface Handling .
Implementing user code To implement user code in ConfigurationDesk applications, you have to add the
in ConfigurationDesk required user code implementations to build configuration sets and reference the
applications user code in bus configurations.
Tip
If the Build Configuration table is closed, you can open it on the View
ribbon via Show Panes.
Via the properties of the Bus Custom Code category of each build configuration
set, you can add one or more user code implementations. The related user code
applies to all application processes that are assigned to this build configuration
set. Application processes of other build configuration sets are not affected by
the user code.
When you build a real-time application or generate bus simulation containers,
the user code is included in the real-time application or bus simulation
containers, respectively.
Via the Bus Custom Code category, you can add the following files:
§ Source files (*.c; *.cpp)
§ Include files (*.h; *.hpp), such as header files
140
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with User Code
Tip
Non-build files are included only in bus simulation containers but not in
real-time applications. For example, if you use bus simulation containers
to archive bus communication, you can add non-build files to include
the information that is required to ensure that the archives comply with
applicable law.
For more information on build configuration sets, refer to Specifying Options for
the Build Process (ConfigurationDesk Real-Time Implementation Guide ).
For more information on the properties of the Bus Custom Code category, refer
to Build Configuration Table (ConfigurationDesk User Interface Reference ).
Referencing user code in bus configurations You can add various user
code implementations to a ConfigurationDesk application. This allows you to use
different user code implementations for different use cases, e.g., to implement
secure onboard communication or provide checksum algorithms to be used with
the PDU User Code feature.
To unambiguously reference specific user code implementations in bus
configurations, user code IDs are used. Exactly one source file (*.c, *.cpp)
of a user code implementation must specify a unique user code ID via the
DS_BUS_CUSTOM_CODE_FEATURE_NAME definition. You have to reference the
specified ID in the required user code ID property of a bus configuration. For
more information, refer to:
§ Implementing Secure Onboard Communication in Executable Applications on
page 143
§ Applying User Code to PDUs on page 254
However, to use the related user code, the bus configuration must be assigned
to an application process of the build configuration set to which you added the
referenced user code implementation.
Restrictions for
Restrictions for file and path names
implementing user code
in ConfigurationDesk § Names of include files must be unique
applications The names of include files (*.h; *.hpp) must be unique. This even involves
include files that are internally used by the Bus Manager.
For example, among others, the Bus Manager internally uses file names such
as StdTypes.h, SecOC.h, SecOCTypes.h, and Config.h. Your custom code
implementation must not contain any include files with such internally used
file names.
Tip
To ensure that you do not accidentally use include file names that are
already used by the Bus Manager, add user‑defined prefixes or postfixes
to the names of your include files.
141
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Note
You must manually ensure that the file and path names comply with these
restrictions. If a file or path name does not comply with the restrictions, the
following applies:
§ When you build a real-time application, the build process is either aborted
or the run‑time behavior of the resulting real‑time application might be
unexpected.
§ When you generate bus simulation containers, BSC files are generated
but it might not be possible to integrate the BSC files in an executable
application .
Note
You must manually ensure that each application process uses all required
modules. If an application process does not use a required module, the
following applies:
§ When you build a real-time application, the build process is aborted.
§ When you generate bus simulation containers, a BSC file is generated for
the application process but this file is invalid.
An application process uses the modules, for example, in the following cases:
§ DsBusCustomCode_SecOC module: SecOC support is enabled for at least one
bus configuration of the application process.
142
ConfigurationDesk Bus Manager Implementation Guide May 2024
Implementing Secure Onboard Communication in Executable Applications
Restrictions for Working with the Bus Custom Code Interface (Bus Custom Code
Interface Handling )
Introduction The Bus Manager supports secure onboard communication (SecOC) according
to AUTOSAR. Refer to Aspects of Secure Onboard Communication (SecOC) on
page 67.
Enabling SecOC support Each bus configuration provides an Enable SecOC property that lets you enable
the support of secure onboard communication for the bus configuration.
Effects of enabled SecOC If the Enable SecOC property is set to True, the bus configuration supports
support secure onboard communication on the basis of the OEM‑specific implementation
that is provided by the user code. You have to reference the respective user
code via a user code ID. Refer to Providing user code for secure onboard
communication on page 144.
143
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Effects of disabled SecOC If Enable SecOC is set to False, the bus configuration does not support secure
support onboard communication. No user code is used, regardless of whether it is
referenced by a user code ID. This has the following effects:
Providing user code for secure To use secure onboard communication at run time, you have to provide
onboard communication the required OEM-specific implementation for generating and/or verifying
authentication information via user code as follows:
1. Specify the user code, i.e., the implementation for generating and/or
verifying authentication information, according to your requirements in
C code (*.c, *.h) or C++ code (*.cpp, *.hpp).
2. Extend the user code by functions for initializing secure onboard
communication and for exchanging data with the Bus Manager, such as
accessing properties of secured IPDUs or writing generated authentication
information to secured IPDUs. Use functions of the DsBusCustomCode and
144
ConfigurationDesk Bus Manager Implementation Guide May 2024
Implementing Secure Onboard Communication in Executable Applications
Tip
Tip
145
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Introduction The Bus Manager supports partial networking according to AUTOSAR. Refer to
Aspects of Partial Networking on page 74.
Tip
Accessing partial networking When you add a communication matrix that specifies partial networking settings
elements to the Buses Browser, the Buses Browser does not display any partial
networking elements.
Instead, when you assign any communication matrix element to the Simulated
ECUs part of a bus configuration, all partial network clusters that are specified
in the communication matrix are assigned automatically. This applies regardless
of whether the communication matrix element is a member of a partial network
cluster. The partial network clusters are grouped below the Partial Network
Clusters node, which is available for the communication matrix in the bus
configuration.
146
ConfigurationDesk Bus Manager Implementation Guide May 2024
Implementing Partial Networking in Executable Applications
Naming of partial network When importing the communication matrix, the names of the partial network
clusters clusters are derived from attributes of the PNC-MAPPING class according to the
following rules:
§ If the communication matrix specifies a value for the SHORT-LABEL attribute,
this is used as the name of the partial network cluster.
§ If the communication matrix does not specify a value for the SHORT-LABEL
attribute but for the SHORT-NAME attribute, the SHORT-NAME value is used as
the name of the partial network cluster.
§ If the communication matrix does not specify values for the SHORT-LABEL and
the SHORT-NAME attributes, the name is generated on the basis of the PNC-
IDENTIFIER attribute and according to the following naming convention:
PNC<value of PNC-IDENTIFIER>.
Including partial network Partial network clusters that are available for a bus configuration are not
clusters in real-time automatically included in real-time applications and bus simulation containers.
applications and bus To include a partial network cluster in a real-time application or in bus simulation
simulation containers containers, you have to add the Partial Network Cluster Enable feature to the
partial network cluster. Refer to Including Partial Network Clusters in Executable
Applications and Enabling and Disabling the Clusters on page 321.
If you do not add the Partial Network Cluster Enable feature to a partial
network cluster, the partial network cluster is ignored during the build process
or the generation of bus simulation containers. At run time, the affected bus
communication is processed as if the communication matrix does not specify the
related partial network cluster.
147
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Using NMPDUs for partial In general, partial network clusters are enabled via NMPDUs. When you
networking implement partial networking by using the Bus Manager, you have to provide
the required NMPDUs to a Simulink model that uses blocks from the AUTOSAR
Network Management Solution. These blocks provide the functionality to enable
partial network clusters. For this purpose, the Bus Manager can transmit
NMPDUs that are provided by the blocks of the AUTOSAR Network Management
Solution on the bus.
§ To provide the required NMPDUs to the Simulink model, you can use the PDU
Raw Data feature or capture the raw data of the related frames via frame
captures, for example. Refer to Accessing the Payload of PDUs in Raw Data
Format on page 240 or Capturing CAN Frames on page 171, respectively.
§ To transmit NMPDUs that are provided by the Simulink model, you can
use the PDU Trigger feature. Refer to Specifying User-Defined Triggers for
Transmitting PDUs on page 246.
Restrictions for implementing For implementing partial networking in executable applications, the following
partial networking in restrictions apply:
executable applications § For simulating partial networking at run time, you must work with a Simulink
behavior model that uses blocks from the AUTOSAR Network Management
Solution.
§ Partial network clusters can neither be deleted from nor renamed in bus
configurations.
§ No partial-networking-specific properties are available. Therefore, you cannot
identify which PDUs are assigned to a partial network cluster, for example.
§ If you replace an assigned communication matrix in a bus configuration, the
following applies:
§ All partial network clusters of the newly assigned communication matrix are
added to the bus configuration, regardless of whether they were available in
the previously assigned communication matrix.
§ Obsolete partial network clusters are moved to the deprecated node of
the communication matrix but available Partial Network Cluster Enable
features are deleted. The related mappings to the Simulink model are lost.
Introduction The Bus Manager supports PDU gateways according to AUTOSAR. Refer to
Aspects of PDU Gateways on page 76.
To simulate PDU gateways, you have to enable the PDU gateway support. When
you do this, you can simulate PDU gateways for PDUs that are assigned to the
Simulated ECUs part of a bus configuration.
148
ConfigurationDesk Bus Manager Implementation Guide May 2024
Simulating PDU Gateways (Preview Version)
Note
Enabling PDU gateways Each bus configuration provides the Enable PDU gateway property, which lets
you enable PDU gateway simulation for the related bus configuration.
If set to True, PDU gateways that are configured in the bus configuration are
considered for simulating bus communication. If set to False, PDU gateways are
ignored at run time, even if they are configured in the bus configuration. This is
the default state.
Supported bus systems for When PDU gateways are enabled for a bus configuration, the bus configuration
PDU gateways supports PDU gateways between classic CAN, CAN FD, and LIN communication
clusters in any combination, i.e.:
Simulating PDU gateways To simulate a PDU gateway, you have to assign the respective source PDUs (RX
PDUs) and target PDUs (TX PDUs) to the Simulated ECUs part of the same bus
configuration, as shown in the following example.
149
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Tip
§ The Gateway source PDUs property and column display the source PDUs
that are specified for the target PDU in the communication matrix.
§ If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
At run time, PDU gateways are always simulated when you assign the source and
target PDUs to the Simulated ECUs part of the same bus configuration. If you
do not want to simulate a PDU gateway, you can do the following:
§ Set the Enable PDU gateway property of the bus configuration to False.
However, this disables all PDU gateways that are configured for this bus
configuration.
§ Assign the source and target PDUs to different bus configurations.
§ In case of a user‑defined PDU gateway, you can remove the user‑defined
gateway from the communication matrix. Refer to Removing user‑defined PDU
gateways on page 406.
Points to note regarding The Gateway source PDUs property and column display the source PDUs with
source PDUs the following syntax: PDU name [communication matrix\communication
cluster]. This helps you to unambiguously identify a source PDU:
§ In case of user‑defined PDU gateways, a source PDU can be specified in any
communication matrix that is available in the Buses Browser.
§ For PDU gateways, only the communication cluster on which a source PDU is
received is relevant. The related receiving ECUs are not relevant.
However, to simulate a PDU gateway at run time, the Bus Manager has to
simulate an ECU that receives the source PDU. If a source PDU can be received
by multiple ECUs on the same communication cluster, it is sufficient to assign the
source PDU in the context of only one ECU to the bus configuration. Refer to the
following example.
150
ConfigurationDesk Bus Manager Implementation Guide May 2024
Simulating PDU Gateways (Preview Version)
Run‑time behavior:
Each time GearboxInfo is transmitted on CanPowertrainCluster, e.g., by a real ECU that is connected to the simulator, Bus
Configuration (1) receives GearboxInfo and transfers its data to CarLockControlIPdu.
Run‑time behavior of PDU For PDU gateways, the following run‑time behavior applies:
gateways § When a source PDU is received on the bus, its raw data is written to the
related target PDUs.
§ If multiple source PDUs are configured for one target PDU, the raw data of the
source PDU that is received last is written to the target PDU.
§ If the lengths of the source PDU and the target PDU differ, the following
applies:
§ If the source PDU is longer than the target PDU, only the data of the bytes
that fit into the target PDU is written to the target PDU.
§ If the source PDU is shorter than the target PDU, the unused bytes of
the target PDU are filled with the unused bit pattern that is specified for
the target PDU. Refer to Specifying bit patterns for unused PDU bits on
page 418.
§ In the following cases, the transferred raw data is overwritten in the target
PDU before the PDU is transmitted on the bus:
Case Description
End‑to‑end‑protected The calculated end‑to‑end protection information replaces the raw data in the respective bytes.
ISignal groups
Bus simulation features Bus simulation features apply after the raw data was written to the target PDU.
If you add bus simulation features that write data to the payload of the target PDU, e.g., the PDU
User Code or ISignal Value feature, the following applies: If test automation support or model
access is enabled for function ports, the transferred raw data is replaced in the respective bytes.
For example, the ISignal Value feature is added to an ISignal of the target PDU. Model access and
test automation support are enabled for the Value function port. In this case, the raw data of the
respective PDU bytes is replaced: It is either replaced with a value that is provided by a mapped
behavior model or set via experiment software, or with the initial value of the function port.
151
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
Case Description
Bus configuration
Target PDU (TX PDU) Target PDU (TX PDU)
Raw data byte 0 ISignal 1
ISignal Value feature:
Raw data byte 1
PDU gateway: Data set via Value
Write raw data Raw data byte 2 Apply bus function port
to target PDU simulation features
Receive source PDU Raw data byte 3 Raw data byte 3 Transmit target PDU
Raw data byte 4 Raw data byte 4
Raw data byte 5 Raw data byte 5
Raw data byte 6 Raw data byte 6
Raw data byte 7 Raw data byte 7
Bus manipulation features Bus manipulation features apply immediately before a PDU is transmitted on the bus.
If you configure the target PDU also in the Manipulation part of any bus configuration, the
following applies: When a bus manipulation feature that writes data to the PDU payload, e.g., the
PDU User Code or Overwrite ISignal Value feature, is enabled at run time, the transferred raw data
of the respective bytes is overwritten.
Restrictions for simulating The reception of a source PDU does not trigger the transmission of the related
PDU Gateways target PDUs. Instead, the transmission of the target PDUs must be triggered by
other means, for example, by timings that are specified in the communication
matrix or by using bus configuration features.
Moreover, some limitations apply for PDU gateways. Refer to Limitations for PDU
gateways on page 524.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Introduction You can automate Bus Manager features via the ConfigurationDesk automation
interface.
Accessing Bus Manager The automation interface lets you perform tasks such as accessing the following
features Bus Manager features:
§ Adding bus configurations and communication matrices to a
ConfigurationDesk application.
§ Assigning and removing communication matrix elements to and from bus
configurations.
§ Configuring bus configurations.
152
ConfigurationDesk Bus Manager Implementation Guide May 2024
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface
Accessing elements via XPath In addition to using standard queries to access elements, you can access
expressions elements of the Bus Manager by using XPath expressions. For example, you can
use XPath expressions to access an ISignal of a bus configuration directly without
having to go through the complete hierarchy of the bus configuration. You can
access elements by using regular expressions.
To access Bus Manager elements via XPath, the XPath expressions must comply
with XPath 1.0. Other XPath versions are not supported.
Further information § For details on automating Bus Manager features and accessing Bus Manager
elements via XPath expressions, refer to Automating Bus Manager Features
(ConfigurationDesk Automating Tool Handling ).
§ For examples of automating Bus Manager features, refer to Examples of
Automating Bus Manager Features (ConfigurationDesk Automating Tool
Handling ).
§ For a detailed description of the ConfigurationDesk automation interface, refer
to ConfigurationDesk Automating Tool Handling .
Tip
You can access the descriptions by pressing F1 when you have a command
in focus or browse the command descriptions in the ConfigurationDesk
User Interface Reference , for example.
153
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Basics on the Bus Manager
154
ConfigurationDesk Bus Manager Implementation Guide May 2024
Handling Bus Access Requests
Introduction Bus access requests are generated for communication clusters and CAN frame
gateways of bus configurations.
Bus access request and bus Bus access requests contain the requirements regarding the bus access.
access
Bus access request Each communication cluster that is assigned to the
Simulated ECUs, Inspection, or Manipulation part of a bus configuration
requires access to a bus. This request is represented by a bus access request. The
bus access request contains the requirements for the bus channels that are to be
used for the cluster's bus communication at run time.
Additionally, each frame gateway that is added to the Gateways part of a bus
configuration generates two bus access requests. These bus access requests are
required to specify the bus channels for exchanging bus communication.
155
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Access Requests
request can access real-time hardware. Refer to Specifying the Hardware Access
on page 157.
The implemented bus accesses affect only real-time applications. If you generate
bus simulation containers, the bus accesses are not included in the generated
BSC files but only the bus access requests. Refer to Availability of bus access
requests in bus simulation containers on page 375.
Accessing bus access requests You can access all bus access requests of the active ConfigurationDesk
application via the Bus Access Requests table. Additionally, the table provides
access to the CAN and LIN function blocks that are used to implement the bus
accesses.
When you select a bus access request, the Properties Browser displays the
requirements it places on the bus access.
Names of bus access requests By default, each bus access request is generated with a unique name according
to the following scheme:
§ Names of bus access requests generated for frame gateways of the Gateways
part of a bus configuration:
Bus Access Request [<bus configuration name>\<frame gateway name>\<communication cluster name>]
156
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying the Hardware Access
If you change a name that is used for the naming scheme, e.g., the name
of a bus configuration, the names of the affected bus access requests are
automatically synchronized. Therefore, the generated names unambiguously
identify the element for which a bus access request is generated.
Instead of using the generated names, you can specify user-defined names for
bus access requests.
Specifying user-defined If required, you can specify user-defined names for bus access requests.
names for bus access requests
To specify a user-defined name for a bus access request, you have to select the
Manual naming checkbox of the bus access request. Then, you can specify a
user-defined name via the Name property.
If you specify user-defined names for bus access requests, note the following:
§ The names of bus access requests must be unique in a ConfigurationDesk
application.
§ When you select the Manual naming checkbox of a bus access request, the
automatic synchronization of the name is disabled, regardless of whether you
change the generated name.
§ When you clear the Manual naming checkbox of a bus access request, the
name is synchronized immediately. Any changes you made to the generated
name are lost.
Accessing real-time hardware Specifying the hardware access for a bus access request consists of two parts:
§ Bus access assignment
Assigns the bus access request to a bus access , i.e., to a suitable bus
function block (CAN, LIN).
You can assign multiple bus access requests to one bus access. Bus
access requests that are assigned to the same bus access form a run-time
communication cluster.
157
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Access Requests
The following illustration is an example of seven bus access requests that access
bus channels of real-time hardware via three bus accesses.
Bus access 1
Bus access Hardware
CAN1
assignment resource
assignment
Bus access 3
Bus access Hardware
LIN1
assignment resource
assignment
Methods for specifying the There are two methods for specifying the bus access assignment:
bus access assignment
Method Description
Using new bus You can add a new suitable bus function block (CAN, LIN) to the signal chain and assign the selected bus
function blocks access request to the function block via one command. In this case, the bus function block is named according
to the related cluster, and default settings such as the baud rate are taken from the communication matrix .
Using existing bus When you use an existing bus function block, you have to ensure that the settings of the bus function block
function blocks and the related cluster match (e.g., the baud rates). If the settings differ, conflicts might occur. Refer to Basics
on Bus Manager-Related Conflicts on page 163.
You can assign bus access requests to bus accesses manually or let the Bus
Manager perform the assignment automatically. If you let the Bus Manager
assign bus access requests to bus accesses automatically, the Bus Manager
assigns the bus access requests to new and/or existing bus function blocks in
one step.
You can also use the ConfigurationDesk automation interface to assign bus
access requests to bus accesses. However, there are no Bus Manager‑specific
automation relations for performing the assignment. Instead, you can use
common ConfigurationDesk relations. For an example, refer to Examples
158
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying the Hardware Access
Regarding the bus function blocks, some limitations apply for specifying the bus
access. Refer to Limitations for Bus Configuration Handling on page 531.
Assigning bus access requests You can let the Bus Manager automatically assign bus access requests that are
to bus accesses automatically not assigned to a bus function block (CAN, LIN) yet to suitable bus function
blocks. When you do this, the Bus Manager checks for each relevant bus access
request if a suitable bus function block already exists in the signal chain.
159
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Access Requests
After the Bus Manager assigned bus access requests to bus accesses
automatically, you must manually ensure that a hardware resource is assigned
to each bus function block that specifies a bus access.
Assigning multiple bus access Use scenarios for multiple assignments You can assign multiple bus access
requests to one bus access requests to one bus access. This is useful in the following cases:
Elements of In this case, the cluster is represented by one bus access request for each bus configuration part.
one In the following example, GeneralInfoIPdu and GearBoxInfoIPdu are exchanged via the same communication
communication cluster but assigned to the Simulated ECUs and Inspection parts of one bus configuration, respectively.
cluster are Therefore, CanBodyCluster is represented by two bus access requests, one for each bus configuration part.
assigned to
different parts
of one bus
configuration.
The bus In this case, the cluster of each communication matrix is represented by a bus access request.
communication In the following example, CentralGatewayEcu and BodyControlEcu are members of the same cluster but their
of one communication is defined in different communication matrices. Therefore, CanBodyCluster is represented by
communication two bus access requests, one for each communication matrix.
cluster is
defined in
multiple
communication
matrices.
Bus In this case, you have to access the bus channels that are used for simulation, manipulation, and/or inspection via
communication the bus access requests of a frame gateway.
that is
160
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying the Hardware Access
Note
§ In this case, you must assign the bus access requests of the frame gateway to bus accesses manually. The
Bus Manager cannot assign the bus accesses automatically because the names of the communication
clusters differ.
§ To avoid a high bus load, some restrictions apply for assigning gateway bus access requests to bus
accesses. Refer to Specifying CAN Frame Gateways on page 173.
Identifying assigned bus The Properties Browser helps you to identify bus access requests that are
access requests assigned to a bus function block (CAN, LIN). When you select the bus function
block, the General page of the Properties Browser provides a separate
property category for each assigned bus access request. The displayed properties
161
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Access Requests
are properties of the bus access requests that affect the bus access and might
result in conflicting bus access assignments (e.g., baud rate, required CAN FD
support, number of LIN slaves).
Exporting and importing ConfigurationDesk lets you export and import user-defined working views. When
working views containing bus you export a working view that contains a bus configuration but not all its
configurations assigned bus function blocks (CAN, LIN), new bus function blocks might be
added to the signal chain if you import the working view. For more information,
refer to Using Working Views (ConfigurationDesk Real-Time Implementation
Guide ).
162
ConfigurationDesk Bus Manager Implementation Guide May 2024
Handling Bus Manager-Related Conflicts
Overview There are two types of Bus Manager-related conflicts, which depend on
the conflict source: Communication matrix conflicts and bus configuration
conflicts. The conflict types differ in their effects on the ConfigurationDesk
application and/or the executable application .
Handling these Bus Manager-related conflicts differs slightly from handling other
ConfigurationDesk conflicts.
Accessing conflicts The Conflicts Viewer lets you access all conflicts of a ConfigurationDesk
application and resolve many of them. The following illustration provides an
overview of the Conflicts Viewer.
163
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Manager-Related Conflicts
Using context sets to display The Conflicts Viewer provides several context sets to which conflicts are
conflicts in the Conflicts assigned. To display specific conflicts in the Conflicts Viewer, you have to select
Viewer the related context set. The Bus Manager‑related conflicts are assigned to the
following context sets:
§ Communication matrix conflicts are assigned to the Communication
Matrices context set.
§ Bus configuration conflicts are assigned to the Bus Configurations context
set.
In the following example, only the Bus Configurations context set is selected.
Thus, the Conflicts Viewer displays only bus configuration conflicts.
164
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Bus Manager-Related Conflicts
Note
Tip
165
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Manager-Related Conflicts
Note
Basics on bus configuration Bus configuration conflicts occur in the following cases:
conflicts § You assign conflicting communication matrix elements to a bus
configuration .
§ You configure conflicting settings for a bus configuration.
§ You do not configure all the necessary settings of a bus configuration.
Bus configuration conflicts affect the build process of real-time applications and
the generation of bus simulation containers. In most cases, you must therefore
resolve them before you can start the build process or generate bus simulation
containers.
Tip
Best practice for handling Bus Depending on the complexity of the bus communication that is specified
Manager-related conflicts in communication matrices, displaying Bus Manager‑related conflicts can
significantly influence the performance of the ConfigurationDesk application.
It is therefore recommended to display the conflicts only when and as long as
required.
Note
166
ConfigurationDesk Bus Manager Implementation Guide May 2024
Resolving Bus Manager-Related Conflicts
Note
The state of the Suspend Display button is not stored when you close the activate ConfigurationDesk
application. Before you do this, always clear the Bus Configurations context set in the Conflicts
Viewer.
Overview Depending on the conflict cause, you have the following options to resolve Bus
Manager-related conflicts:
§ Complete the implementation of the bus communication in the signal chain
on page 167.
§ Remove conflicting communication matrix elements from bus configurations
on page 168.
§ Remove or configure conflicting bus configuration features on page 168.
§ Correct conflicting communication matrix elements in ConfigurationDesk on
page 169.
§ Correct conflicting elements in the original communication matrix on
page 169.
Complete the implementation Some bus configuration conflicts occur each time you start implementing bus
of the bus communication in communication in the signal chain. In most cases, you resolve these conflicts
the signal chain automatically when you complete the implementation of the bus communication
167
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Manager-Related Conflicts
Remove conflicting Bus configuration conflicts that result from conflicting communication matrix
communication matrix elements provide Is assigned properties: One for each conflicting element and
elements from bus one for the bus configuration, as shown in the following example.
configurations
You can resolve such conflicts for each separate conflicting element or for the
entire bus configuration by setting the related Is assigned property to False.
When you do this, the affected conflicting elements and their related
communication matrix elements are removed from the bus configuration, e.g., a
conflicting frame and the related PDUs.
Note
Tip
Remove or configure You can resolve bus configuration conflicts that result from conflicting
conflicting bus configuration bus configuration features by removing or configuring the conflicting bus
features configuration features.
168
ConfigurationDesk Bus Manager Implementation Guide May 2024
Resolving Bus Manager-Related Conflicts
the main feature by its position in the hierarchy of the Conflicts Viewer, as
shown in the following example:
In the example above, the Frame Access feature is the main feature. If you set
the Enabled property of Controller_BusConfiguration to False, all displayed
bus configuration features except the Frame Access feature are removed.
Correct conflicting You can resolve some Bus Manager-related conflicts by specifying user-defined
communication matrix settings for the conflicting communication matrix elements. By doing so,
elements in you change the communication matrix within the active ConfigurationDesk
ConfigurationDesk application. The changes apply to all the bus configurations of the active
application. The original communication matrix remains unchanged. For more
information, refer to Modifying Communication Matrices on page 391.
Correct conflicting elements You can resolve most of the Bus Manager-related conflicts by correcting the
in the original communication original communication matrix, for example, via the tool you used to generate
matrix it. You must delete the old, conflict-causing communication matrix from the
ConfigurationDesk application and import the corrected communication matrix
instead. If you assigned elements of the communication matrix to a bus
configuration, you must also replace these elements with the corrected elements.
For more information on replacing elements of a bus configuration, refer to
Replacing Assigned Communication Matrices on page 435.
169
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Handling Bus Manager-Related Conflicts
170
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying CAN Frame Captures and Gateways
Introduction You can capture CAN frames that are received on a bus. Capturing CAN frames
lets you access specific parameters and the raw data of received frames, and
provide the captured data to a mapped behavior model, for example. To capture
CAN frames, you do not need a communication matrix. Instead, you can specify
the number of frames that can be captured and specify filters to capture only
specific frames.
Adding frame captures to a You can add one or more frame captures to a bus configuration. You can add
bus configuration a frame capture via the Add Frame Capture context menu command of the
Inspection bus configuration part. The Inspection part is available in the Bus
Configurations table.
171
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Specifying CAN Frame Captures and Gateways
Each frame capture is added with a unique default name. You can rename the
frame capture, for example, in the Bus Configurations table. However, the
name must be unique for all frame captures and frame gateways of the bus
configuration.
Configuring frame captures Each frame capture node in the bus configuration provides the following
properties that let you configure the frame capture:
Note
The specified settings influence the data that can be accessed via the Frame
Capture Data feature.
Elements of frame captures For each frame capture, the following elements are available to let you specify
the frames to be captured:
Element Description
Bus access A bus access request is available that lets you specify the communication cluster for capturing frames:
request § If you build a real-time application later on, you have to assign the bus access request to a bus access . The
bus access lets you specify the bus channel of real-time hardware for capturing CAN frames.
§ If you generate bus simulation containers, you do not have to assign the bus access request to a bus access.
The bus access request is available in the generated BSC file regardless of whether you assign a bus access.
Refer to Basics on Bus Access Requests on page 155.
Frame Capture The Frame Capture Data feature lets you access the data of captured frames. Refer to Accessing the Data of
Data feature Captured Frames on page 323.
Frame capture The CAN Cluster Filter element lets you specify one or more filter rules for capturing CAN frames. Refer to
filter Specifying Filters for Frame Captures and Frame Gateways on page 177.
172
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying CAN Frame Gateways
Element Description
Filter Control The Filter Control feature is available for the frame capture filter. It lets you enable and disable the filter, and
feature specify the filter mode. Refer to Controlling Filters of Frame Captures and Frame Gateways on page 328.
Restrictions for specifying You cannot specify frame captures for LIN clusters.
frame captures
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Introduction You can specify gateways to exchange CAN frames between two communication
clusters .
Gateways for classic CAN and Gateways are supported for classic CAN and CAN FD frames as follows:
CAN FD frames § Classic CAN frames can be routed to classic CAN and CAN FD clusters.
§ CAN FD frames can only be routed to CAN FD clusters.
If you specify a gateway and a CAN FD frame is to be routed to a classic CAN
cluster, the CAN FD frame is discarded and lost, i.e., it is not routed to the
classic CAN cluster.
Note
Specifying gateways via frame Adding frame gateways To specify a gateway between two communication
gateways clusters, you have to add a frame gateway to the Gateways part of a bus
configuration. You can add one or more frame gateways via the Add Frame
Gateway context menu command of the Gateways part. The Gateways part is
available in the Bus Configurations table.
173
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Specifying CAN Frame Captures and Gateways
Each frame gateway is added with a unique default name. You can rename the
frame gateways, for example, in the Bus Configurations table. However, the
name must be unique for all frame gateways and frame captures of the bus
configuration.
Element Description
Bus access Two bus access requests are available. They are required for specifying the communication clusters between
request which the CAN communication is exchanged:
§ If you build a real-time application later on, you have to assign the bus access requests to bus accesses . The
bus accesses let you specify bus channels of real-time hardware for exchanging the CAN communication.
§ If you generate bus simulation containers, you do not have to assign the bus access requests to bus accesses.
The bus access requests are available in the generated BSC file regardless of whether you assign bus accesses.
Refer to Basics on Bus Access Requests on page 155.
Frame The Frame Gateway Direction feature lets you specify the gateway direction or disable a gateway. Refer to
Gateway Specifying the Direction of CAN Frame Gateways on page 327.
Direction
feature
Gateway filter The CAN Cluster 1 Filter and CAN Cluster 2 Filter elements let you specify filter rules for each communication
cluster. You can specify multiple filter rules for each filter element to filter frames for gatewaying. Refer to
Specifying Filters for Frame Captures and Frame Gateways on page 177.
Filter Control The Filter Control feature is available for each gateway filter element. The Filter Control feature lets you
feature enable and disable the related gateway filter, and specify the filter mode. Refer to Controlling Filters of Frame
Captures and Frame Gateways on page 328.
Specifying failure gateways A typical use scenario for CAN frame gateways is failure gateways. To specify a
failure gateway, you have to manipulate the respective frames, PDUs, and/or
ISignals on the TX side of the frame gateway, as shown in the following
example.
174
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying CAN Frame Gateways
Bus configuration
Manipulation: Transmit
Manipulate frames/PDUs/ISignals frames (TX)
CAN cluster 2
Tip
If you generate bus simulation containers and import the BSC files
to VEOS , the bus access requests are available as communication
controllers. Assign the respective communication controllers to the
same bus access, i.e., communication cluster.
Restrictions for assigning When you assign gateway bus access requests to bus accesses, you must ensure
gateway bus access requests that the bus accesses are not connected in a loop. If bus accesses are connected
to bus accesses in a loop, the bus communication is gatewayed in an endless, multiplying loop
that results in a high bus load.
175
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Specifying CAN Frame Captures and Gateways
Example Configuration
1 The bus access requests of one frame gateway are assigned to the same bus access.
2 The bus access requests of one frame gateway are assigned to different bus accesses, but the bus access requests of another
frame gateway are also assigned to these bus accesses.
Bus access 2
CAN1
3 The bus access requests of one frame gateway are assigned to different bus accesses, but the used bus channels are physically
connected at the simulator.
Simulator
Bus access 2
CAN1
4 The bus access requests of two frame gateways are assigned to three bus accesses. The used bus channels of two bus accesses
are physically connected at the simulator.
Simulator
Bus access 1
Bus access CAN1
assignment
Real-time hardware
Bus access 2 Pin Ch 1
CAN1 Ch 1
Ch 2
Ch 3
Pin Ch 3
Bus access 3
CAN1
If you generate bus simulation containers and import the BSC files to VEOS, the
bus access requests are available as communication controllers. To avoid loops,
176
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying Filters for Frame Captures and Frame Gateways
you must assign the communication controllers to separate bus accesses, i.e.,
communication clusters.
Restrictions for specifying The following restrictions apply for specifying frame gateways:
frame gateways § You cannot specify frame gateways for LIN clusters.
§ In global time synchronization (GTS) scenarios, the time base instances of
affected time slaves are not completely synchronous to the time base instance
of the related time master. For more information, refer to Simulating Time
Masters and Time Slaves of Global Time Domains on page 182.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Use Scenarios for Gatewaying Bus Communication.................................................................. 36
Introduction Frame captures and frame gateways provide filters that let you filter CAN frames
for capturing and gatewaying, respectively. To specify a filter, you have to add
one or more filter rules to the filter. Each filter rule lets you filter CAN frames by
their frame triggerings.
Filters of frame captures and For frame captures and frame gateways, the following filters are available:
frame gateways § For each frame capture, one filter is available.
§ For each frame gateway, two filters are available. The filters are
unambiguously assigned to the communication clusters of the frame gateway
as follows:
§ CAN Cluster 1 Filter is assigned to CAN Cluster 1.
§ CAN Cluster 2 Filter is assigned to CAN Cluster 2.
177
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Specifying CAN Frame Captures and Gateways
Frame gateway
CAN Cluster 2
Receive any frame (RX) Filter Transmit filtered frames (TX)
on CAN Cluster 1 on CAN Cluster 2
CAN Cluster 1
Transmit filtered frames (TX) Receive any frame (RX)
Filter
on CAN Cluster 1 on CAN Cluster 2
Specifying filter rules Adding filter rules To each filter, you can add one or more filter rules via
the Add CAN Filter Rule context menu command, as shown in the following
example.
For each filter rule, a separate filter rule element is added to the filter. The names
of the filer rule elements are derived from the specified filter settings.
If you add two or more filter rules to a filter, all frames that match at least one of
the filter rules pass the filter.
178
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying Filters for Frame Captures and Frame Gateways
Specifying filter settings for filter rules Filter rules let you filter CAN
frames by their frame triggering. For this purpose, each filter rule element
provides the following properties:
Only frames whose frame triggering matches all of the specified settings pass the
filter.
Note
To each filter rule, all of the settings apply for filtering frames. You cannot
disable individual settings for frame filtering.
Run-time behavior of the By default, frame capture and frame gateway filters are active at run time.
filters Frames that pass at least one filter rule of a filter are not captured or gatewayed
while all other frames of the related cluster are. You can change the default
behavior by using the Filter Control feature. Refer to Controlling Filters of
Frame Captures and Frame Gateways on page 328.
Restrictions for using frame Frame gateway filters do not support the J1939 Broadcast Announce Message
gateway filters (BAM) and Connection Mode Data Transfer (CMDT) protocols. These transport
protocols use specific ID ranges to transmit verifying information, e.g., request to
send (RTS), clear to send (CTS), and related data packets. Frames can be filtered
only on the basis of their frame triggering, not on the basis of their payload.
Therefore, J1939 communication can be significantly disturbed, e.g., if an RTS
passes a frame gateway filter while a related CTS is blocked.
For more information on the BAM and CMDT protocols, refer to Aspects of the
J1939 Protocol on page 80.
179
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Specifying CAN Frame Captures and Gateways
180
ConfigurationDesk Bus Manager Implementation Guide May 2024
Implementing Global Time Synchronization in Executable Applications
Simulating Time Masters and Time Slaves of Global Time Domains........ 182
Introduction The Bus Manager supports global time synchronization (GTS) over CAN
according to AUTOSAR. Refer to Aspects of Global Time Synchronization (GTS)
on page 71.
There are different use scenarios for implementing global time synchronization in
executable applications .
Use scenarios for The following use scenarios are typical for implementing global time
implementing global time synchronization in executable applications:
synchronization § Simulating time masters and time slaves of global time domains by using the
Bus Manager. Refer to Simulating Time Masters and Time Slaves of Global
Time Domains on page 182.
181
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Global Time Synchronization in Executable Applications
You can focus on one use scenario or use a combination of the use scenarios to
implement global time synchronization in executable applications.
Tip
Moreover, the RTI Synchronized Time Base Manager Blockset lets you
specify rate and offset corrections to correct time shifts and time jumps
between a local time base and the global time. For more information,
refer to Correction Mechanisms of the Synchronized Time Base Manager
Using the STBM_SET_PARAMS Block (RTI Synchronized Time Base Manager
Blockset Reference ).
Limitations for implementing For implementing global time synchronization in executable applications,
global time synchronization some limitations apply. Refer to Limitations for Communication Matrices and
Communication Standards on page 519.
Introduction If global time synchronization is specified in the communication matrix, the Bus
Manager lets you simulate time masters and time slaves of global time domains.
Representation of global time When you add a communication matrix specifying global time synchronization
domains to the Buses Browser, you can access global time domains via global time
domain elements that are available for general-purpose PDUs. For each global
time domain, there can be several global time domain elements, one element for
each ECU that is a member of this global time domain.
Because an ECU can be a member of multiple global time domains, there can
also be multiple global time domain elements for an ECU: For each global time
domain of which an ECU is a member, a separate global time domain element is
available. The direction of the global time domain element indicates whether the
ECU acts as time master or time slave:
§ TX global time domain element: Time master
182
ConfigurationDesk Bus Manager Implementation Guide May 2024
Simulating Time Masters and Time Slaves of Global Time Domains
When you select a global time domain element, the Properties Browser
provides access to properties of the global time domain and the time master
or time slave, as shown in the following example.
Simulating time masters and You can configure global time domain elements for simulation purposes. For
time slaves of global time each global time domain element you assign to the Simulated ECUs part of a
domains bus configuration, an instance of the dSPACE ECU time base manager is created.
The dSPACE ECU time base manager implements functionalities of the AUTOSAR
synchronized time base manager, i.e., it provides the synchronized time base.
At run time, the time bases of global time domains can be synchronized only
after the related global time master has set the time at least once. Depending
on whether a real ECU provides the global time master, the time must be set as
follows:
Global Time Master Provided by Real ECU Global Time Master Not Provided by Real ECU
The global time master provided by the real You must simulate the global time master by using the RTI Synchronized
ECU must set the time and transmit the time Time Base Manager Blockset or the Bus Manager.
information on the bus at least once. However, even if you use the Bus Manager to simulate the global time
After the SCALEXIO, MicroAutoBox III, or master, you must work with a Simulink® behavior model and use blocks
MicroLabBox II system has received the time, the from the RTI Synchronized Time Base Manager Blockset: If a TX global
related time bases can be synchronized, i.e.: time domain element that is a global time master is assigned to a bus
§ Simulated time slaves can synchronize their local configuration, the Bus Manager can simulate the global time master and
time base instances. synchronize time bases only after the blockset's STBM_SET_GLOBAL_TIME
§ Simulated time masters can distribute the block has set the time at least once.
synchronized time among their global time For more information on the RTI Synchronized Time Base Manager Blockset,
domain. refer to RTI Synchronized Time Base Manager Blockset Reference .
Additionally, bus configuration features are available for global time domain
elements that are assigned to bus configurations. Via the bus configuration
features, you can access the time base data of time masters and time slaves, for
example. Refer to Bus Configuration Features Available for Global Time Domains
on page 313.
183
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Global Time Synchronization in Executable Applications
Run-time behavior regarding The synchronization period of a time master determines the time that is available
synchronization periods for transmitting a synchronization message and its related follow‑up message on
the bus. If the synchronization period is shorter than required for transmitting
both messages, the time synchronization is executed as fast as possible, i.e., both
messages are transmitted and not interrupted.
Handling CRC-secured time Time synchronization can be secured by checksum algorithms, i.e., CRC-secured.
synchronization For this purpose, time masters and time slaves provide the following properties:
The settings of the properties are derived from the communication matrix. If the
communication matrix does not specify settings for the properties or specified
settings are invalid, the Bus Manager uses the following default settings:
Validating received time Time synchronization messages that are received by time slaves are validated,
synchronization messages i.e., the synchronization (SYNC) message and its related follow‑up (FUP) message
are validated. The time base of the time slave is synchronized only if both
messages pass the validity checks.
Tip
The GTS Validation feature lets you access the validation results and
exclude certain validity checks from the validation of time synchronization
messages.
Restrictions for simulating For simulating time masters and time slaves of global time domains, the
time masters and time slaves following restrictions apply:
of global time domains § You can only simulate time masters and time slaves of global time domains.
Therefore, configuring global time domain elements for inspection or
manipulation purposes is not supported.
§ If you configure frame gateways for exchanging synchronized time bases, the
time base instances of the affected time slaves are not completely synchronous
184
ConfigurationDesk Bus Manager Implementation Guide May 2024
Transmitting Bus Communication of Bus Configurations Synchronously to a Global Time
to the time base instance of the related time master. There is a delay resulting
from the time that is required for exchanging frames via the gateway.
§ If you configure a TX global time domain element for simulation purposes, i.e.,
a time master, you cannot use any bus configuration feature that is available
for the related TX PDU and TX frame.
Introduction You can transmit the bus communication of a bus configuration synchronously
to a global time. For this purpose, you can use a synchronized timer
event to trigger the periodic task to which the BusCfg_MainFunctionFetch
[<bus configuration name>] and BusCfg_MainFunctionDeliver [<bus
configuration name>] runnable functions of the bus configuration are
assigned.
Basics on synchronized timer A synchronized timer event lets you trigger a periodic task cyclically and
events synchronously to a global time. For this purpose, the synchronized timer event
provides the following properties:
Property Description
Global time Lets you reference a global time domain by specifying its global time domain identifier. The periodic task is
domain synchronously executed to the global time of this global time domain.
identifier The time master that provides the referenced global time domain must be available in one of the following ways:
§ The time master is provided by a real ECU that is connected to the SCALEXIO, MicroAutoBox III, or
MicroLabBox II system.
§ The time master is simulated by the Bus Manager. Refer to Simulating Time Masters and Time Slaves of Global
Time Domains on page 182.
§ The time master is implemented by the RTI Synchronized Time Base Manager Blockset. Refer to RTI
Synchronized Time Base Manager Blockset Reference .
Period Lets you specify the period (in seconds) for the cyclic execution of the task.
Offset Lets you specify an offset (in seconds) to the global time.
For example, you specify a period of 5 ms and an offset of 1 ms. In this case,
the periodic task is triggered when the global time of the referenced global time
domain is 1 ms, 6 ms, 11 ms, …
Effects on the timing of the The periodic task to which the BusCfg_MainFunctionFetch [<bus
bus communication configuration name>] and BusCfg_MainFunctionDeliver [<bus
configuration name>] runnable functions of a bus configuration are assigned
185
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Global Time Synchronization in Executable Applications
Tip
§ Time shifts and time jumps between the local time base of the bus
configuration and the global time are detected and corrected.
For more information, refer to Basics on Tasks, Events, and Runnable Functions
Provided by the Bus Manager on page 363.
Assigning synchronized timer You can assign synchronized timer events to periodic tasks in the Executable
events to periodic tasks Application table. You can do this by adding a new synchronized timer event or
replacing the existing timer event.
Tip
You can open the Executable Application table via Switch Controlbars
on the View ribbon.
Adding a new synchronized timer event to a periodic task You can add
a new synchronized timer event to a periodic task via context menu. To do this,
right‑click the task and select New - Synchronized Timer Event on the context
menu.
186
ConfigurationDesk Bus Manager Implementation Guide May 2024
Transmitting Bus Communication of Bus Configurations Synchronously to a Global Time
To prevent conflicts, you have to delete the assignment of the existing timer
event from the task. To do this, right‑click Timer Event and select Delete
Assignment on the context menu.
Replacing the existing timer event with a synchronized timer event You
can replace the existing timer event of a periodic task with a synchronized
timer event. To do this, right‑click the timer event and select Replace with
Synchronized Timer Event on the context menu.
The timer event is replaced with a synchronized timer event. The values for
Period and Offset of the synchronized timer event are derived from the
timer event. However, the name remains unchanged. To avoid confusion, it is
recommended to specify a meaningful name for the event, e.g., Synchronized
Timer Event.
Restrictions for using When you use synchronized timer events and you generate bus simulation
synchronized timer events containers, the synchronized timer events are not included in the resulting BSC
files. Instead, the synchronized timer events are replaced with timer events. This
has the following effects:
§ The settings of the timer events, i.e., Name, Time, and Offset, are derived
from the synchronized timer events.
§ The settings of the Global time domain identifier properties of the
synchronized timer events are lost.
This results in the following restrictions for using the affected BSC files:
§ If you use an affected BSC file in an offline simulation application running
on VEOS, the affected periodic tasks are not triggered by synchronized timer
events but by timer events.
§ If you import an affected BSC file to ConfigurationDesk, you have to
replace the affected timer events with synchronized timer events before you
build a real‑time application. You can do this in the same way as for bus
configurations.
187
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Global Time Synchronization in Executable Applications
The names of the synchronized timer events are derived from the related timer
events. If required, you can change the names. Period and Offset of the
synchronized timer events are read‑only and set to the values of the related
timer events. Therefore, you only have to reference the required global time
domain via the Global time domain identifier property of each synchronized
timer event.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Introduction You can transmit individual PDUs synchronously to a global time by using
the STBM_SYNCHRONOUS_TRIGGER block of the RTI Synchronized Time Base
Manager Blockset and the PDU Trigger feature of the Bus Manager.
Recommended workflow For transmitting individual PDUs synchronously to a global time, the following
workflow is recommended:
1. Add the STBM_SYNCHRONOUS_TRIGGER block of the RTI Synchronized
Time Base Manager Blockset to your Simulink® model. To do this, type
rtistbm in the MATLAB Command Window and drag the block from the
blockset library to your Simulink model.
2. Configure the STBM_SYNCHRONOUS_TRIGGER block according to your
requirements. Refer to STBM_SYNCHRONOUS_TRIGGER (RTI Synchronized
Time Base Manager Blockset Reference ).
3. Add a Data Outport block to your Simulink model. For example, type data
outport in an empty area of the Simulink model and select the block from
the list.
188
ConfigurationDesk Bus Manager Implementation Guide May 2024
Transmitting Individual PDUs Synchronously to a Global Time
4. Specify a meaningful name for the Data Outport block, for example, GTS
Trigger.
5. Map the Data Outport block to the Trigger port of the
STBM_SYNCHRONOUS_TRIGGER block.
6. Right‑click the Data Outport block and select Model Port Blocks - Update
All Selected Outport Blocks from Input Signals on the context menu.
7. Depending on whether your Simulink model is already available in the
ConfigurationDesk application, add it to the ConfigurationDesk application
or analyze the model including task information. You can use commands on
the ConfigurationDesk menu of the Simulink Editor for this purpose.
8. Add the PDU Trigger feature to the PDUs whose transmission you want to
trigger synchronously to the global time.
9. Map model ports of the Data Outport block to the Trigger function ports.
According to the default settings of the PDU Trigger feature, i.e., Trigger
mode is set to Positive edge and Initial value of the Trigger function ports
is set to False, the transmission of the related PDUs is disabled by default. At
run time, the transmission is triggered synchronously to the global time each
189
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Global Time Synchronization in Executable Applications
time the related trigger of the RTI Synchronized Time Base Manager Blockset is
received.
Note
If you want to generate bus simulation containers later on, you have to
generate a Simulink implementation container from the Simulink model and
replace the model with the container in the ConfigurationDesk application.
190
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with Bus Configuration Features
191
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction You can add bus configuration features to certain elements of a bus
configuration . The bus configuration features provide element-specific
functionalities, which you can configure for run time. For example, bus
configuration features let you access the value of ISignals, trigger the
transmission of PDUs, or manipulate the length of CAN frames.
Tip
Adding bus configuration There are three ways to add bus configuration features:
features § You can select a bus configuration element in the Bus Configurations,
Bus Simulation Features, Bus Inspection Features, or Bus Manipulation
Features table and add an available bus configuration feature via the context
menu.
192
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Tip
You can also add bus configuration features via context menu for multi-
selected elements, even if their element types differ. When you select
a feature on the context menu, it is added to all selected elements for
which it is valid.
§ To add a bus configuration feature to a PDU or ISignal, you can select the
PDU or ISignal in the PDU Features or Signal Features subview of the
Bus Simulation Features, Bus Inspection Features, or Bus Manipulation
Features table and enable an available bus configuration feature in the related
column.
Note
For a better overview, not all columns that let you enable and/or
configure bus configuration features are available in the tables by default.
Instead, these columns are available in the Column Chooser, which is
accessible via the context menu of the column headers. From the Column
Chooser, you can add required columns to the tables via drag & drop. For
more information, refer to Bus Configuration Tables on page 103.
§ You can select bus configuration features in the Bus Configuration Behavior
table. When you do this, the features are automatically added to the
applicable communication matrix elements when you assign the elements to
bus configurations. For more information, refer to Specifying the Behavior
for Assigning Communication Matrix Elements and Adding Bus Configuration
Features (Preview Version) on page 125.
193
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
Effects of added bus A bus configuration feature applies only to the bus configuration element
configuration features for which it was added. The related communication matrix, instances of the
element in the related and other bus configurations, and other bus configuration
elements are not affected by the bus configuration feature.
Depending on the bus configuration feature for which function ports are added,
you cannot access the related feature at run time by default. To access such
features at run time, you have to change the function port default settings.
For more information, refer to Configuring Function Ports for Bus Configuration
Features on page 198.
Tip
Disabling bus configuration You can disable bus configuration features if you do not need them. Disabling
features a bus configuration feature removes the related function ports from the bus
configuration. You can disable a bus configuration feature in the following ways:
§ Right-click on a feature node ( ) in the Bus Configurations table and select
Delete from Application on the context menu.
Tip
You can also press the Delete key to delete a selected feature node.
§ To disable a bus configuration feature for a PDU or ISignal, you can also select
the PDU or ISignal in the Bus Simulation Features, Bus Inspection Features,
194
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
or Bus Manipulation Features table and select Disabled on the list of the
related table column.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Introduction The Bus Manager provides various bus configuration features, which are specific
for the bus configuration element (e.g., ISignal, PDU) and the bus configuration
part (i.e., Simulated ECUs, Inspection, Manipulation, or Gateways) an
element is assigned to.
Bus configuration features for For ISingals and ISignal groups, the following bus configuration features are
ISignals and ISignal groups available:
Bus configuration features for For PDUs, the following bus configuration features are available:
PDUs
195
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Bus configuration features for For frames, the following bus configuration features are available:
frames
196
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Bus configuration features For communication controllers, the following bus configuration features are
for communication controllers available:
and partial network clusters
Bus configuration features for For global time domains, the following bus configuration features are available:
global time domains
Bus configuration features For frame captures, gateways, and bus configurations, the following bus
for frame captures, gateways, configuration features are available:
and bus configurations
197
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction Some settings of bus configuration features can be accessed via function ports.
The behavior of these settings is determined by the related function ports.
For the function ports, you can configure the following settings to specify the
behavior of the related bus configuration feature settings.
Specifying initial values Every function port provides a default initial value that is specific for the related
bus configuration feature. Via the function port's Initial value property, you can
specify a user-defined initial value.
Note
The function port value is set to the initial value during system initialization. This
value is used directly after an executable application is started. During run
time, an initial function port value can be overwritten, for example, by a value
that is received on the bus, provided by a behavior model , or changed via
experiment software.
Each bus configuration provides an Initial value usage property. This property
lets you specify how the initial values of the bus configuration's function ports
are used. You can specify whether the initial values are set only once at
first application start or every time the application starts, including when the
application state switches from stopped to running.
198
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Tip
Enabling model access To exchange data between bus configuration features and a behavior model, you
have to set the Model access property for the related function ports to Enabled
and map the function ports to model port blocks . This lets you, for example:
§ Use signal values that are dynamically calculated by the control algorithms of
the behavior model.
§ Provide status information to the behavior model.
By default, model access is disabled for all function ports that are available
for bus configuration features. You can change this default behavior using
the Bus Configuration Behavior table. Refer to Specifying the Behavior
for Assigning Communication Matrix Elements and Adding Bus Configuration
Features (Preview Version) on page 125.
Note
Tip
You can access the property in the Properties Browser and in the Bus
Configuration Ports table.
Enabling test automation Basics on test automation support To access bus configuration features via
support experiment software such as ControlDesk or automation scripts, you have to set
the Activate test automation support property for the related function ports
to Enabled. This lets you, for example:
§ Switch the signal source, i.e., use the original signal or a substitute signal.
§ Manipulate signal values via experiment software.
§ Carry out test automation tasks.
When test automation support is enabled for a function port, you can specify
the initial signal source (i.e., the original signal or substitute signal) via the Initial
switch setting property.
199
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
For the substitute signal, each function port provides a default initial substitute
value that is specific for the related bus configuration feature. Via the Initial
substitute value property, you can specify a user-defined initial substitute value.
Tip
§ For the values of the Initial substitute value and Initial value
properties, the same rules apply. For example, if the default value of the
Initial value property is derived from the communication matrix, this also
applies to the default value of the Initial substitute value property.
§ You can access the properties in the Properties Browser and in the Bus
Configuration Ports table.
Note
When test automation support is enabled, variables are generated into the
variable description file when you build a real-time application or generate
bus simulation containers. The variables let you access the function port via
experiment software and automation scripts. Moreover, the generated variables
determine which value is used as the initial function port value. Refer to
Accessing Function Ports with Enabled Test Automation Support in Variable
Description Files (TRC Files) on page 202.
Default enable state The default enable state of test automation support
depends on the bus configuration feature for which a function port is available
and the function port type, as shown in the following table.
Tip
200
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
You can change the default enable state using the Bus Configuration Behavior
table. Refer to Specifying the Behavior for Assigning Communication Matrix
Elements and Adding Bus Configuration Features (Preview Version) on page 125.
Specifying saturation values If required, the values of function inports are saturated at run time. By
for function inports default, system-specific saturation limits are used. Depending on the related bus
configuration feature, the system-specific limits are derived from the function
inport's data type, for example. For some function inports, you can specify
user-defined saturation values to limit the minimum and maximum values of the
function port.
Note
To use user-defined saturation values, you must set the Saturation usage
property of the related bus configuration to User min/max value, as shown
in the following example.
If you do this, the function inports that let you specify user-defined saturation
values provide a Saturation minimum value and Saturation maximum value
property, as shown in the following example.
The properties let you specify user-defined minimum and maximum saturation
values in the range of the function inport's value range. If necessary, the Bus
201
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
For details on working with saturation values, refer to Specifying User Saturation
(ConfigurationDesk I/O Function Implementation Guide ).
Introduction For function ports with enabled test automation support, variables are generated
into the variable description file (TRC file ) when you build a real-time
application or generate bus simulation containers. The variables let you access
the function ports via experiment software and automation scripts.
Overview of the variables In general, up to four variables can be generated for each function port with
enabled test automation support, as shown in the following example.
Bus Configuration
TA_Switchvalue
Model
MDL_Signal
outport
Function inport IO_Signal TA switch
TA_Replacevalue
TA_Switchvalue
202
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Tip
Variable Purpose
IO_Signal § Function inport: Provides the input signal to the function port.
§ Function outport: Provides the output signal of the function port.
MDL_Signal § Function inport: Provides the output signal of a mapped model
port, i.e., of the related function in the behavior model.
§ Function outport: Provides the input signal to a mapped model
port, i.e., to the related function in the behavior model.
TA_Switchvalue Lets you switch the signal source between the original signal or a
substitute signal. The original signal depends on the function port
type:
§ Original signal of a function inport: Signal of the MDL_Signal
variable.
§ Original signal of a function outport: Signal of the IO_Signal
variable.
TA_Replacevalue Provides the value of the substitute signal.
However, the configuration of each function port determines which variables are
generated. By default, an optimized set of variables is generated for each bus
configuration function port.
Optimized set of variables When you add a bus configuration to the ConfigurationDesk application, an
optimized set of variables is generated for each of its function ports by default.
This ensures optimum run-time performance.
Note
For each function port of the bus configuration, only those variables are
generated into the TRC file that are typically used in common bus use scenarios.
To determine these variables, the following aspects are considered:
§ Function port type, i.e., function inport or function outport
§ Function port mapped to model port
§ TRC file generated for real-time application or bus simulation container
The optimized set of variables also determines the value that is used as the initial
function port value.
203
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
For details on the optimized set of variables, refer to Optimized Set of TRC File
Variables for Bus Configuration Function Ports on page 540.
Specifying the set for Each bus configuration provides a Variable description property that lets you
generating variables specify whether the optimized set of variables or a complete set is generated.
Note
When you select a bus configuration (e.g., in the Bus Configurations table), the
Variable description property is available on the Model Interface page in the
Properties Browser.
204
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
The Variable description property lets you specify which set of variables to
generate for all function ports of the bus configuration:
§ Optimized: The optimized set of variables is generated. Moreover, for
function inports, further optimizations are used at run time to improve the
run‑time performance. Refer to Run‑time optimizations of the Optimized
mode for function inports on page 205.
§ Complete: The complete set of variables is generated.
Tip
If you set the Variable description property for the Bus Configuration
function block type in the Function Browser, the setting applies to all
newly added bus configurations.
You can use bus configurations with different settings of the Variable
description property in the same ConfigurationDesk application.
Complete set of variables If you set the Variable description property to Complete, the following
variables are generated:
Run‑time optimizations of the Setting the Variable description property to Optimized has effects on the
Optimized mode for function TA_Switchvalue and IO_Signal variables of function inports: For optimum
inports run‑time performance, the TA_Switchvalue variable is not evaluated in every
sampling step but only when the transmission of the related PDU is triggered.
Because of this, the value of the IO_Signal variable is updated only when the
transmission of the related PDU is triggered.
For example, you add the ISignal Value feature to a TX ISignal, i.e., the
respective Value function port is a function inport. You map the function port
to a model port and enable test automation support. Moreover, you add the
PDU Trigger feature to the related PDU and the transmission of the PDU is
triggered only by this feature.
205
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
When you now change the value of the Value function inport at run time, the
IO_Signal variable is updated when you trigger the transmission of the PDU
using the PDU Trigger feature.
Tip
Bus configurations added If the ConfigurationDesk application contains bus configurations that were
with dSPACE Release 2020‑B added with dSPACE Release 2020-B or earlier, the Variable description
or earlier property of these bus configurations is set to Complete. For optimum run-time
performance, it is recommended to set the Variable description property of the
bus configurations to Optimized. If you do this and you use automation scripts
to access variables of TRC files, you might have to adapt the automation scripts.
Restrictions for the optimized For the function ports of the following bus configuration features, no optimized
set of variables set of variables can be generated:
§ Frame Capture Data feature
§ Filter Control feature
§ LIN Schedule Table feature
206
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Instead, the complete set of variables is always generated for the function ports
of these features, even if the Variable description property is set to Optimized.
Moreover, no run‑time optimizations are used for the function inports of these
features.
Introduction When you build a real‑time application or generate bus simulation containers,
the Bus Manager generates an XIL mapping file for each application process.
In XIL mapping scenarios according to the ASAM XIL standard, the XIL
mapping files let you access the TRC file variables that are available for bus
configuration function ports. You can use the XIL mapping files, for example, in
experiment software such as ControlDesk to decouple the access to the TRC file
variables from their exact path in the TRC file.
For an introduction to XIL mapping and its integration into the dSPACE tool
chain, refer to Getting Started with XIL Mapping .
For more information on the TRC file variables that are available for bus
configuration function ports, refer to Accessing Function Ports with Enabled Test
Automation Support in Variable Description Files (TRC Files) on page 202.
Content of the XIL mapping The XIL mapping files that are generated by the Bus Manager contain the
files following:
Content Description
Framework The framework labels are generated for the TRC file variables of bus
labels configuration function ports. Framework labels consist of a label name,
i.e., the label ID, and a data type. The label IDs must be unique for each
framework label.
§ The Bus Manager uses a default template to generate unique
framework label IDs. Refer to Default XIL framework label ID template
on page 208.
§ You can configure the template to generate framework label IDs
according to your requirements. Refer to Configuring the XIL
framework label ID template on page 209.
Testbench The testbench labels contain the path of the TRC file variables in the TRC
labels file.
Label The label mappings map the framework labels to the related testbench
mappings labels.
Including the XIL mapping Depending on whether you build a real‑time application or generate bus
files in real‑time applications simulation containers, the following applies:
and bus simulation containers
Real‑time application During the build process, the XIL mapping files
that are generated by the Bus Manager are merged with XIL mapping files
that are available for other elements of the ConfigurationDesk application.
207
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
The resulting overall XIL mapping file is named <name of the real‑time
application>.xilmapping.xml and is available in the Build Results folder.
For more information, refer to Using Elements that Provide XIL Mapping Files
(ConfigurationDesk Real-Time Implementation Guide ).
Bus simulation containers The XIL mapping files are included in the
generated bus simulation containers. You can use the resulting BSC files, for
example, as follows:
§ Import the BSC files to ConfigurationDesk to include them in a
real‑time application. When you do this, the XIL mapping files of
the BSC files are merged with other available XIL mapping files. The
resulting overall XIL mapping file is named <name of the real‑time
application>.xilmapping.xml and is available in the Build Results folder.
§ Import the BSC files to VEOS and include them in an offline simulation
application. Use the resulting OSA file in the ApplTools XILMapper of the
ApplTools Solution to merge the XIL mapping files of the BSC files with other
available XIL mapping files. The ApplTools XILMapper names the resulting
overall XIL mapping file Merged.xilmapping.xml and stores it in the same
folder as the OSA file.
For an overview of the process when using VEOS, refer to VEOS (Getting
Started with XIL Mapping ).
Default XIL framework By default, the Bus Manager uses the following template to generate framework
label ID template label IDs for each applicable TRC file variable:
<bus configuration name>_<bus configuration part>_<communication matrix name>_<frame capture name>_<frame gateway
name>_<ECU name>_<PDU name>_<PDU direction>_<bus configuration feature>_<function port name>_<variable name>
This template ensures that the resulting framework label IDs are unique for all
TRC file variables that are available for bus configuration function ports of the
active ConfigurationDesk application.
Tip
If a macro is not applicable for a specific TRC file variable, it is ignored. For
details, refer to the following description.
208
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Configuring the XIL If required, you can configure the XIL framework label ID template according to
framework label ID template your requirements. You can do this in the Buses category on the Options page.
You can access the Options page on the File ribbon.
You can configure the template in the XIL framework label ID template edit
field using static texts and macros from the Available macros list. To apply the
changes, you have to click Apply. When you do this, the configured template
becomes the active template, i.e., the framework label IDs are generated
according to this template.
Note
When you configure the XIL framework ID template, note the following:
§ You have to manually ensure that the resulting framework label IDs are
unique. For example, deleting the %VariableName% macro from the
template will result in ambiguous IDs. This is because up to four TRC
file variables can be available for each function port.
If framework label IDs are ambiguous, the affected framework labels
cannot be used in XIL mapping scenarios. Refer to Effects of ambiguous
framework label IDs on page 210.
§ The configured template is stored locally with your user profile on the
host PC. It is not stored with the ConfigurationDesk project. Because of
this, the following applies:
§ The configured template is not included in the ZIP archive when you
back up the ConfigurationDesk project and/or application.
§ The configured template is not available when you log on to the host
PC using another user profile or you open the project on another PC.
209
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
§ The macros are only evaluated for applicable TRC file variables. For
example, for TRC file variables that are available for function ports of
bus inspection features, the %BMECU% macro is not applicable. For these
variables, the macro is ignored for generating the framework label IDs.
§ You can use braces, i.e., { and }, to specify macro groups. Macro groups
let you group macros and static texts. When the macros of a macro group
are not applicable for specific TRC file variables, the macros and the static
texts of the macro group are ignored for generating the framework label
ID.
Effects of ambiguous If you configure the XIL framework label ID template in a way that results in
framework label IDs ambiguous framework label IDs, the following applies:
§ When you build a real‑time application, the affected framework labels are not
included in the overall XIL mapping file. Warning messages in the Message
Viewer and the dSPACE Log provide information on the affected framework
labels.
§ When you integrate affected BSC files in an offline simulation application and
use the ApplTools XILMapper to generate the overall XIL mapping file, each
first affected framework label is added to the file. All other framework labels
that have the same framework label ID are ignored. Warning messages in
the ApplTools XILMapper Log provide information on the affected framework
labels.
Accessing and configuring the You can use automation to get the default and the
template using automation currently active template, and to configure the template. You
can do this using the GetBmXilFrameworkLabelIdTemplate and
ConfigureBmXilFrameworkLabelIdTemplate operations of the Configure
method. For an example, refer to Examples of Automating Bus Manager Features
(ConfigurationDesk Automating Tool Handling ).
210
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Working with Bus Configuration Features
Specifying user-defined Specifying user-defined triggers for transmitting a PDU or frame comprises the
triggers for the transmission following basic steps:
of PDUs and frames 1. Add the PDU Trigger or Frame Access feature to the PDU. Refer to Adding
bus configuration features on page 192.
For more information on the features, refer to Specifying User-Defined
Triggers for Transmitting PDUs on page 246 and Accessing CAN Frame
Settings on page 288, respectively.
2. Select a triggering mode. Refer to Triggering modes for triggering the
transmission of PDUs and frames on page 211.
3. Configure the Trigger function port. Refer to Configuring Trigger function
ports on page 212.
Triggering modes for When you add the PDU Trigger or Frame Access feature to a PDU, a Trigger
triggering the transmission of mode property is available, as shown in the following example.
PDUs and frames
Via the Trigger mode property, you can select one of the following triggering
modes to specify the trigger behavior:
§ Positive edge: The transmission of the PDU or frame is triggered once each
time a positive edge is detected, i.e., when the value of the related Trigger
function port changes from 0 to 1.
Tip
If the function port value was set via an experiment software during
run time, the function port value is automatically reset to 0 after the
PDU/frame was triggered.
The selected triggering mode does not influence the timing of the transmission.
This is determined as follows:
Feature Description
PDU The timing depends on the task to which the related BusCfg_MainFunctionDeliver [<bus configuration
Trigger name>] runnable function is assigned. Moreover, specifications of the communication matrix might influence the
timing, e.g., if a minimum delay time is specified for the PDU or the PDU is a contained IPDU and for the related
container IPDU a container timeout value is specified.
Frame The timing depends on the task to which the related BusCfg_MainFunctionDeliver [<bus configuration
Access name>] runnable function is assigned. Specifications of the communication matrix do not influence the timing.
When the deliver runnable function evaluates the trigger, the frame data is calculated according to the specified
settings of the Frame Access feature and the frame is transmitted on the bus.
211
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Configuring Trigger function When you add the PDU Trigger or Frame Access feature to a PDU, a Trigger
ports function port is available that lets you trigger the transmission of the PDU or its
related frame at run time.
The default settings of the Trigger function port prohibit the transmission of the
related PDU or frame during run time. Depending on the selected triggering
mode, you must therefore change the default settings of the Trigger function
port to trigger the transmission of the PDU/frame during run time:
§ If you selected Positive edge as the triggering mode, the transmission of the
PDU/frame is triggered when the function port value changes from 0 to 1
during run time. To change the function port value during run time, you have
to enable model access or test automation support for the function port.
§ If you selected Level-triggered as the triggering mode, the transmission of
the PDU/frame is triggered when the function port value is 1 during run time.
You can specify 1 as a constant value by setting the function port's Initial
value to True. Alternatively, you can enable model access or test automation
support to change the function port value during run time.
For more information on enabling model access and test automation support,
refer to Configuring Function Ports for Bus Configuration Features on page 198.
212
ConfigurationDesk Bus Manager Implementation Guide May 2024
Manipulating Bus Communication via Bus Configuration Features
Common manipulation Overview The following elements and settings are common to bus
elements and settings manipulation features:
213
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
function ports, and the Bus Manipulation Features table. Refer to Specifying
the manipulation behavior for bus manipulation features that do not apply to
ISignals on page 215.
§ For bus manipulation features that apply to ISignals, you can specify the
manipulation behavior via the ISignal's feature switch, its related function
ports, and the Bus Manipulation Features table. Refer to Specifying the
manipulation behavior for bus manipulation features that apply to ISignals on
page 216.
Additionally, if an element is affected by multiple bus manipulation features at
run time, the execution sequence influences the manipulation behavior. Refer to
Execution Sequence of Bus Manipulation Features on page 220.
Permanent or temporary For each bus manipulation feature, you can specify whether it manipulates the
manipulation related bus configuration element permanently or temporarily at run time:
§ Permanent manipulation
The related bus configuration element is manipulated by the bus manipulation
feature until the manipulation is explicitly stopped, e.g., via experiment
software.
§ Temporary manipulation
During temporary manipulation, the bus configuration element is manipulated
for a defined number of times. You can specify the number of manipulations
via a countdown value. The specified countdown value is decremented with
each transmission of the bus configuration element. When the value reaches
0, the manipulation stops and the bus configuration element is transmitted
with its regular value, for example. You can use temporary manipulation to
test the fault memory of an ECU, for example.
Feature switch of ISignals When you manipulate ISignals via bus manipulation features, only one feature
can be active at a time. Therefore, a feature switch is available for each ISignal
when you add a bus manipulation feature to the ISignal, as shown in the
following example.
Via the feature switch, you can specify which of the available bus manipulation
features is active and whether it manipulates the ISignal permanently or
temporarily. Via the available function ports, you can change the specified
settings at run time. When you remove all bus manipulation features from the
ISignal, the feature switch is deleted automatically.
Accessing tunable properties Tunable properties can be accessed and changed at run time, e.g., via
experiment software. Typically, the tunable properties that are available for bus
configuration features can be accessed in the ConfigurationDesk application
via function ports only. For bus manipulation features, most of the tunable
214
ConfigurationDesk Bus Manager Implementation Guide May 2024
Manipulating Bus Communication via Bus Configuration Features
However, not all columns that are available for the table are displayed by
default. You can add required columns via the Column Chooser. Refer to Bus
Configuration Tables on page 103.
The values that are specified via the properties of the related nodes or in the Bus
Manipulation Features table apply to the Initial value and Initial substitute
value properties of the related function ports and vice versa. If you specify
different values for the Initial value and Initial substitute value properties of a
function port, the related property and table cell display both values.
For more information on the Initial value and Initial substitute value
properties of function ports, refer to Configuring Function Ports for Bus
Configuration Features on page 198.
Specifying the manipulation You can specify the manipulation behavior by means of various elements. For bus
behavior for bus manipulation features that do not apply to ISignals, these elements are available
manipulation features that do as properties of the feature-specific feature node ( ), as function ports, and/or
not apply to ISignals in the Bus Manipulation Features table as follows:
215
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
For the Enable and Countdown Start Value function ports, you can additionally
specify user-defined saturation values to limit the minimum and maximum values
of the function ports. Refer to Specifying saturation values for function inports
on page 201.
Specifying the manipulation You can specify the manipulation behavior by means of various elements. For
behavior for bus bus manipulation features that apply to ISignals, these elements are available as
manipulation features that properties of the ISignal's Feature Switch node ( ), as function ports, and/or in
apply to ISignals the Bus Manipulation Features table as follows:
216
ConfigurationDesk Bus Manager Implementation Guide May 2024
Manipulating Bus Communication via Bus Configuration Features
For the Feature Switch and Countdown Start Value function ports, you can
additionally specify user-defined saturation values to limit the minimum and
maximum values of the function ports. Refer to Specifying saturation values for
function inports on page 201.
Introduction In the following cases, using bus manipulation features might result in
unintended effects:
§ You manipulate ISignals that are included in an end-to-end-protected ISignal
group.
§ You manipulate PDUs and/or ISignals that are secured by a secured IPDU .
217
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
To prevent this, you can enable recalculation of the related end-to-end protection
and/or authentication information before transmission.
Enabling and disabling the For bus manipulation features that can affect end-to-end protection and/or
recalculation authentication information, you can enable and disable the recalculation as
follows:
However, in the Bus Manipulation Features table, not all of the columns are
available by default. You can add required columns via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
For most bus manipulation features that can affect end-to-end protection and/or
authentication information, the recalculation is enabled by default. You cannot
change the specified setting during run time.
Run-time behavior for Data is recalculated if an ISignal group or secured IPDU is affected by at least
recalculating data one bus manipulation feature at run time for which recalculation is enabled.
This applies even if the ISignal group/secured IPDU is also affected by bus
manipulation features for which recalculation is disabled.
For example, a secured IPDU contains an ISignal IPDU with two ISignals, each of
which configured as follows:
218
ConfigurationDesk Bus Manager Implementation Guide May 2024
Manipulating Bus Communication via Bus Configuration Features
Tip
Different enable states for recalculating the related data might be useful
if you want to configure an element once for different manipulation
scenarios. For example, with the settings above, you can enable and disable
the related features at run time to switch between data manipulation that
affects the authentication information and data manipulation that does not.
Specific aspects for Enabling and disabling the recalculation for specific bus manipulation
recalculating authentication features For the following bus manipulation features, special points are
information to note for enabling and disabling the recalculation of the authentication
information:
§ SecOC Freshness Overwrite Value feature: You cannot disable the
recalculation. Refer to Overwriting the Freshness Value of Secured IPDUs on
page 274.
§ SecOC Authenticator Invalidation feature: The recalculation is disabled by
default because this is required for most use cases. Refer to Invalidating the
Authenticator of Secured IPDUs on page 271.
219
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Execution sequence of bus At run time, bus manipulation features are executed in the following sequence:
manipulation features 1. Suspend Frame Transmission feature
2. Manipulation features that are available for ISignals
3. Recalculate end-to-end protection information
4. SecOC Authenticator Invalidation feature
5. PDU User Code feature
6. SecOC Freshness Overwrite Value feature and recalculate authentication
information
7. Frame Length feature
220
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
Introduction You can work with the values of ISignals that are assigned to the Simulated
ECUs or Inspection part of a bus configuration.
Conditions for accessing To access the value of an ISignal, you have to add the ISignal Value feature to
ISignal values the ISignal. Refer to Adding bus configuration features on page 192.
Effects of adding the ISignal Depending on the direction of the ISignal (TX or RX ), a TX Value function
Value feature port or RX Value function port is available for the ISignal.
221
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Accessing ISignal values The Value function port provides the ISignal value as follows:
§ For TX ISignals, the function port value specifies the ISignal value that is
transmitted on the bus.
§ For RX ISignals, the function port provides the received ISignal value, e.g., to a
mapped behavior model.
The data type and value range of the function port are determined by the
physical base data type of the ISignal.
By default, the initial function port value is the ISignal value that is specified in
the communication matrix . If the communication matrix does not specify an
ISignal value, 0 is used as the initial function port value.
Via the function port's Initial value property, you can specify a user-defined
initial ISignal value. If required, the value of the Initial value property is
automatically saturated when the physical base data type of the ISignal changes.
This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
To access the ISignal value at run time, you have to enable model access or test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
Specifying saturation values By default, TX ISignal values are limited by the ranges of the ISignal's physical
for TX ISignals base data type and automatically saturated at run time if required. Via the TX
Value function port, you can specify user-defined saturation values to limit the
minimum and maximum TX ISignal values. If you want to do this, you have to
first set the bus configuration's Saturation usage property to User min/max
value. Refer to Specifying saturation values for function inports on page 201.
However, you can specify user‑defined saturation values only for TX ISignals
whose physical base data type is not set to Boolean.
If required, the saturation values are automatically saturated when the physical
base data type changes. This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
Restrictions for using the If you use the ISignal Value feature, the following restrictions apply:
ISignal Value feature § You cannot use the ISignal Value feature in parallel with the following bus
configuration features:
§ Counter Signal feature (applies only to TX ISignals and TX PDUs)
§ PDU Raw Data feature (applies only to TX ISignals and TX PDUs)
§ Frame Access feature
222
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
If you add the ISignal Value feature and at least one of the other features to
an ISignal or to a PDU in which the ISignal is included, conflicts occur.
Tip
If you add the ISignal Value, Counter Signal, and PDU Raw Data
feature to an RX ISignal and to the RX PDU in which the ISignal is
included, the values provided by each feature are updated at run time
and can be accessed in parallel.
§ Enabling model access and/or test automation support for a high number
of ISignals might reduce the performance. For optimum performance, enable
these function port properties only if you really need them, i.e.:
§ Enable model access only for those ISignals whose signal values you want to
exchange with the behavior model.
§ Enable test automation support only for those ISignals whose signal values
you want to access via an experiment software such as ControlDesk.
Introduction You can configure ISignals that are assigned to the Simulated ECUs or
Inspection part of a bus configuration as counter signals. You can use counter
signals to detect lost PDUs or test counters that are implemented in the ECU
under test, for example.
Conditions for working with To use an ISignal as a counter signal, you have to add the Counter Signal
counter signals feature to the ISignal. Refer to Adding bus configuration features on page 192.
Moreover, you have to specify the available counter settings.
You can add the feature to TX and RX ISignals with the following base data
types:
§ Physical base data type: Int8 … Int64
§ Physical base data type: UInt8 … UInt64
However, you cannot add the Counter Signal feature to array signals.
223
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Effects of adding the Counter Adding the Counter Signal feature to an ISignal has the following effects:
Signal feature
§ Counter settings are available for the ISignal that let you configure the
counter. You can access the counter settings in two ways:
§ In the Properties Browser when you select the Counter Signal node in the
Bus Configurations table.
Tip
If a required column is not available, you can add it via the Column
Chooser. Refer to Bus Configuration Tables on page 103.
You cannot change the counter settings at run time. Therefore, no function
ports are available for these settings.
§ If you add the Counter Signal feature to an RX ISignal, a Counter State
function port is available for the ISignal. The function port provides the
counter state, i.e., if a received counter value is the expected value according
to the counter settings that are specified for the RX ISignal.
Overview of the configurable When you add the Counter Signal feature to an ISignal, you can configure the
counter settings following counter settings:
224
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
Initial value Lets you specify the initial value of the counter. § <minimum value> … <maximum value>
The specified value is used as the counter's initial value directly § Default value: <minimum value>
after the executable application is started. Depending on the
setting of the bus configuration's Initial value usage property,
the specified initial value is set only once at first application
start or every time the application starts, including when the
application state switches from stopped to running.
Step length Lets you specify the frequency for incrementing the counter § 1 … Int32max
value, i.e., if the counter value is incremented with each § Default value: 1
transmission/reception of the related PDU, with every other
transmission/reception etc.
Counter behavior Basic counter behavior Counter values are calculated according to the
counter settings that are specified for the counter signal in the bus configuration.
Depending on the direction of the counter signal (TX or RX ), this results in
the following counter behavior:
§ In case of a TX counter signal, the counter value is calculated each time the
transmission of the related TX PDU is triggered. The calculated counter value is
then included in the PDU and transmitted on the bus.
The timing for calculating TX counter signal values depends on the task
to which the related BusCfg_MainFunctionDeliver [<bus configuration
225
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Counter states RX counter signals provide a Counter State function port. The function port
value indicates the counter states as follows:
By default, the initial function port value is 4: Initial state. Via the function
port's Initial value property, you can change the default initial value. To
access the counter state at run time, you have to enable model access or test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
226
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
Signal conversion of counter Like all signals that are transmitted and received by the Bus Manager, counter
signal values signal values are converted in the following ways:
§ For transmission, the physical signal values are converted into coded signal
values.
§ For reception, the coded signal values are converted into physical signal values.
The signal values are converted according to computation methods that are
specified in the communication matrix. For more information, refer to Signal
Conversion by the Bus Manager on page 60.
Effects of bus configuration The following bus configuration features can affect the calculation of counter
features on counter values values.
Note
227
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
When the PDU is transmitted or received via at least one of the related clusters
again, the counter value is reset to the initial counter value.
Restrictions for using the If you use the Counter Signal feature, the following restrictions apply:
Counter Signal feature § You cannot use the Counter Signal feature in parallel with the following bus
configuration features:
§ ISignal Value feature (applies only to TX ISignals and TX PDUs)
§ PDU Raw Data feature (applies only to TX ISignals and TX PDUs)
§ Frame Access feature
If you add the Counter Signal feature and at least one of the other features
to an ISignal or to a PDU in which the ISignal is included, conflicts occur.
Tip
If you add the Counter Signal, ISignal Value, and PDU Raw Data
feature to an RX ISignal and to the RX PDU in which the ISignal is
included, the values provided by each feature are updated at run time
and can be accessed in parallel.
Introduction You can overwrite the signal values of ISignals that are assigned to the
Manipulation part of a bus configuration with user-defined signal values.
Conditions for overwriting To overwrite the value of an ISignal with a user-defined value, you have to
ISignal values add the ISignal Overwrite Value feature to the ISignal. Refer to Adding bus
configuration features on page 192.
In general, you can add the feature to any ISignal that is assigned to the
Manipulation part. However, for ISignals that are included in J1939‑compliant
IPDUs, some limitations apply. Refer to Limitations for J1939 on page 526.
228
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
Effects of adding the ISignal Adding the ISignal Overwrite Value feature to an ISignal has the following
Overwrite Value feature effects:
§ If not already available, a feature switch is added to the ISignal. For the ISignal
Overwrite Value feature, the feature switch provides the following values:
§ 1: ISignal Overwrite Value (permanently)
§ 2: ISignal Overwrite Value (temporarily)
The feature switch lets you select the active bus manipulation feature and
specify whether it manipulates the ISignal permanently or temporarily. For
more information, refer to Basics on Bus Manipulation Features on page 213.
§ An Overwrite value property is available that lets you specify the value that
overwrites the ISignal value. You can access the property in following ways:
§ In the Properties Browser when you select the ISignal Overwrite Value
node in the Bus Configurations table.
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
229
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Specifying overwrite values You can specify an overwrite value via the Overwrite value property. The
specified value applies to the Initial value and Initial substitute value
properties of the Overwrite Value function port automatically.
The value range of the properties is determined by the physical base data type of
the ISignal. If required, the property values are automatically saturated when the
physical base data type changes. This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
However, the maximum valid overwrite value also depends on the ISignal
length. If the specified overwrite value exceeds the maximum valid value, it is
automatically saturated at run time.
Run-time behavior of The specified value overwrites the original ISignal value at run time only if the
specified overwrite values ISignal Overwrite Value feature is enabled. The exact behavior depends on
whether the feature is permanently or temporarily enabled. Refer to Basics on
Bus Manipulation Features on page 213.
To change the specified overwrite value at run time, you have to enable model
access or test automation support for the Overwrite Value function port. Refer to
Configuring Function Ports for Bus Configuration Features on page 198.
Specifying saturation values By default, overwrite values are limited by the ranges of the ISignal's physical
for overwrite values base data type and automatically saturated at run time if required. Via the
Overwrite Value function port, you can specify user-defined saturation values
to limit the minimum and maximum overwrite values. If you want to do this,
you have to first set the bus configuration's Saturation usage property to
User min/max value. Refer to Specifying saturation values for function inports
on page 201. However, you can specify user‑defined saturation values only for
ISignals whose physical base data type is not set to Boolean.
If required, the saturation values are automatically saturated when the physical
base data type changes. This can happen in the following cases:
§ You modify in the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
230
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
Introduction You can add offset values to the values of ISignals that are assigned to the
Manipulation part of a bus configuration.
Conditions for adding offset To add an offset value to the value of an ISignal, you have to add the ISignal
values to ISignal values Offset Value feature to the ISignal. Refer to Adding bus configuration features
on page 192.
You can add the feature to ISignals with the following base data types:
§ Physical base data type: Int8 … Int32
§ Physical base data type: UInt8 … UInt32
However, you cannot add the ISignal Offset Value feature to array
signals. Moreover, some limitations apply for ISignals that are included in
J1939‑compliant IPDUs. Refer to Limitations for J1939 on page 526.
Effects of adding the ISignal Adding the ISignal Offset Value feature to an ISignal has the following effects:
Offset Value feature § If not already available, a feature switch is added to the ISignal. For the ISignal
Offset Value feature, the feature switch provides the following values:
§ 3: ISignal Offset Value (permanently)
§ 4: ISignal Offset Value (temporarily)
The feature switch lets you select the active bus manipulation feature and
specify whether it manipulates the ISignal permanently or temporarily. For
more information, refer to Basics on Bus Manipulation Features on page 213.
231
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
If a required column is not available, you can add it via the Column
Chooser. Refer to Bus Configuration Tables on page 103.
Working with offset values To work with offset values, you have to specify the following values:
§ The offset value
§ The minimum value of the ISignal
§ The maximum value of the ISignal
At run time, the specified offset value is added to the value of the ISignal. If
the resulting ISignal value exceeds the specified minimum or maximum value, the
ISignal value overruns, as shown in the following examples:
232
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignals
Specifying offset, minimum, You can specify the offset value, minimum ISignal value, and maximum ISignal
and maximum values value via the Offset value, Minimum ISignal value, and Maximum ISignal
value property, respectively. The specified value applies to the Initial value and
Initial substitute value properties of the related function port automatically.
Value range of the properties The value range of the properties (including
the value range of the function port properties) is determined by the physical
base data type of the ISignal.
If the physical base data type is an unsigned integer type, the value range of the
Offset value property is derived from the related integer type. For example, the
physical base data type is UInt8. In this case, the value range of the Offset value
property is Int8min … Int8max. The same applies to the Initial value and Initial
substitute value properties of the Offset Value function port.
If required, the property values are automatically saturated when the physical
base data type changes. This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
However, the maximum valid value of the properties also depends on the ISignal
length. If a specified property value exceeds the maximum valid value, the value
is automatically saturated at run time.
Run-time behavior of the The specified values apply to the ISignal at run time only if the ISignal Offset
specified values Value feature is enabled. The exact behavior depends on whether the feature
is permanently or temporarily enabled. Refer to Basics on Bus Manipulation
Features on page 213.
To change the specified values at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Specifying saturation values By default, the offset value and the minimum and maximum ISignal values
for the offset, minimum, and are limited by the ranges of the ISignal's physical base data type. At run
maximum values time, the offset, minimum, and maximum values are automatically saturated
if required. Via the Offset Value, Minimum ISignal Value, and Maximum ISignal
Value function ports, you can specify user-defined saturation values to limit the
minimum and maximum values of the function ports. If you want to do this,
you have to first set the bus configuration's Saturation usage property to User
233
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
If required, the saturation values are automatically saturated when the physical
base data type changes. This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
234
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignal Groups
Introduction During run time, you can observe the status of end‑to‑end‑protected RX ISignal
groups that are assigned to the Simulated ECUs or Inspection part of a bus
configuration.
Conditions for observing To observe the status of a received end‑to‑end‑protected ISignal group at run
the status of received time, you have to add the ISignal Group End‑to‑End Protection Status feature
end‑to‑end‑protected ISignal to the ISignal group. Refer to Adding bus configuration features on page 192.
groups
You can add the feature to any RX ISignal group that is end‑to‑end‑protected.
For information on end‑to‑end protection, refer to Aspects of End‑to‑End (E2E)
Protection for ISignal Groups on page 69.
Effects of adding the ISignal When you add the ISignal Group End‑to‑End Protection Status feature to an
Group End‑to‑End Protection ISignal group, the following function ports are available for the ISignal group:
Status feature § Calculated CRC function port
§ State function port
Observing the status of The function ports let you observe the status of a received end‑to‑end‑protected
end‑to‑end‑protected ISignal ISignal group. When you enable model access or test automation support for
groups via function ports a function port, you can use the data that is provided by the function port
in a mapped behavior model or in experiment software, respectively. For more
information, refer to Configuring Function Ports for Bus Configuration Features
on page 198.
The Bus Manager processes received ISignal groups even if the status indicates
an error. If you want to reject an ISignal group in this case, you have to
model the rejection in a behavior model, e.g., by using data that is provided
by the State function port. Refer to Data provided by the State function port on
page 236.
235
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Data provided by the The Calculated CRC function port provides the checksum value that is calculated
Calculated CRC function port for the received ISignal group. The value is calculated according to the AUTOSAR
end‑to‑end protection profile that is specified for the ISignal group.
By default, the initial function port value is 0 until the ISignal group is received
for the first time. Via the function port's Initial Value property, you can specify a
user-defined initial value. Refer to Specifying initial values on page 198.
The valid range of the function port depends on the related end‑to‑end
protection profile, as shown in the following table.
Data provided by the State The State function port provides the state of the end‑to‑end protection, i.e.,
function port whether the received end‑to‑end protection information indicates an error. For
each end‑to‑end protection profile, the possible states are specified in the
AUTOSAR end‑to‑end communication protection library (E2E library).
The following table provides an overview of the possible function port values and
the resulting states.
236
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for ISignal Groups
The default initial value of the function port depends on the end‑to‑end
protection profile. For the profiles 01 and 02, the initial value is 4: Initial state.
For all other profiles, the initial value is 0: OK. The default initial value applies
until the ISignal group is received for the first time. Via the function port's Initial
Value property, you can change the default initial value. Refer to Specifying
initial values on page 198.
Restrictions for using the You cannot use the ISignal Group End‑to‑End Protection Status and the
ISignal Group End‑to‑End Frame Access feature in parallel. If you add the ISignal Group End‑to‑End
Protection Status feature Protection Status feature to an ISignal group that is included in a PDU for
which the Frame Access feature is added, conflicts occur. This also applies if the
PDU is included in another PDU and the Frame Access feature is added to this
PDU.
237
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction You can enable and disable the transmission of basic PDUs and multiplexed
IPDUs that are assigned to the Simulated ECUs part of a bus configuration.
Conditions for enabling and To enable or disable the transmission of a PDU, you have to add the PDU Enable
disabling the transmission of feature to a selected TX PDU. Refer to Adding bus configuration features on
PDUs page 192.
In general, you can add the feature to the following PDU types:
§ TX basic PDUs
However, you can add the feature to a TX general-purpose PDU only if the
PDU does not contain a global time domain in the bus configuration.
§ TX multiplexed IPDUs
238
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Effects of adding the PDU When you add the PDU Enable feature to a TX PDU, an Enable function
Enable feature port is available for the PDU that lets you specify the enable state. The
following illustration is an example of the function port as displayed in the Bus
Configurations table:
Specifying the enable state The Enable function port lets you specify the enable state of the PDU as follows:
§ False (0): The transmission of the PDU is disabled.
§ True (1): The transmission of the PDU is enabled. This is the default state.
Via the Initial value property of the function port, you can change the default
enable state. To change the state at run time, you have to enable model access
or test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Effects of disabling the When you disable the transmission of a PDU, you disable it for a specific
transmission of PDUs transmitting ECU. This lets you test, for example, if another ECU in the
communication cluster transmits the PDU instead.
Disabling the transmission of a PDU has the following effects on the active bus
communication:
§ If you disable the transmission of a PDU while the PDU is being transmitted,
the transmission is not interrupted. The transmission of the PDU is disabled
after the PDU is completely transmitted.
§ If the transmission of a PDU is triggered while the transmission of the PDU
is disabled, the trigger is discarded and lost, i.e., the trigger is not processed
when the transmission of the PDU is enabled again.
Effects of re-enabling the Re-enabling the transmission of a PDU at run time (i.e., switching the state from
transmission of PDUs False to True) has the following effects on the active bus communication:
239
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Restrictions for using the PDU If you use the PDU Enable feature, the following restrictions apply:
Enable feature § You can enable and disable the transmission of a PDU only for the entire
transmitting ECU and not selectively for specific frames, channels, or clusters.
For example, if you disable a PDU that is included in two frames, none of the
frames transmits the PDU.
§ You cannot use the PDU Enable and the Frame Access feature in parallel. If
you add both features to a PDU, conflicts occur. This also applies if the PDU is
included in another PDU and the Frame Access feature is added to this PDU.
Introduction You can access the payload of PDUs that are assigned to the Simulated ECUs or
Inspection part of a bus configuration in raw data format.
Conditions for accessing the To access the payload of a PDU in raw data format, you have to add the
payload of PDUs in raw data PDU Raw Data feature to the selected PDU. Refer to Adding bus configuration
format features on page 192.
In general, you can add the feature to any RX and TX PDU whose payload
length is > 0 bytes. However, you can add the feature to a TX general-purpose
PDU only if the PDU does not contain a global time domain in the bus
configuration.
Effects of adding the PDU Adding the PDU Raw Data feature to a PDU has the following effects:
Raw Data feature § A Raw Data function port is available for the PDU.
240
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
§ If you add the PDU Raw Data feature to a TX basic PDU , an Access mode
property is available that lets you specify to read or write the payload in raw
data format. You can access the property in two ways:
§ In the Properties Browser when you select the PDU Raw Data node in the
Bus Configurations table.
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
Accessing the payload via the The Raw Data function port lets you access the payload of a PDU in raw data
Raw Data function port format.
Read or write raw data By default, the function port provides read access to
the payload raw data. This applies regardless of whether the PDU is an RX or TX
PDU. You can change the access mode of the function port to write raw data to
the payload only if you add the PDU Raw Data feature to a TX basic PDU. Refer
to Writing raw data to the payload of a TX basic PDU on page 242.
Reading raw data Reading the payload raw data lets you observe the
payload data that is actually available on the bus, i.e.:
§ RX PDU: The raw data that is received on the bus.
§ TX PDU: The raw data that is transmitted on the bus.
If you only read the payload raw data, you can access signal-based payload data
in parallel, e.g., you can add the ISignal Value and Counter Signal features
to ISignals of the PDU to transmit or receive the values of ISignals and counter
signals.
Accessing the payload raw data at run time To access the payload raw
data at run time, you have to enable model access or test automation support
for the Raw Data function port. Refer to Configuring Function Ports for Bus
Configuration Features on page 198.
241
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Writing raw data to the If you add the PDU Raw Data feature to a TX basic PDU, you can write raw data
payload of a TX basic PDU to the payload of the PDU. For this purpose, you can change the access mode of
the Raw Data function port via the Access mode property as follows:
§ Read: The payload of the TX basic PDU is read in raw data format. This is the
default mode.
§ Write: Raw data is written to the payload of the TX basic PDU.
Setting the Access mode property to Write has the following effects:
§ The port type of the Raw Data function port changes: The function
outport is converted to a function inport .
Note
§ The payload of the TX basic PDU can be transmitted in raw data format only,
i.e., you cannot transmit signal-based payload data, such as ISignal values, in
parallel.
Value range and initial values The value of the Raw Data function port is a vector. The vector size is the length
of the Raw Data function port of the related PDU, e.g., for a PDU with a length of 2 bytes the vector size is
2. The vector size is automatically adjusted when the PDU length changes in the
communication matrix. This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
The value range of each vector element is 0 … 255, the default value is 0. Via
the function port's Initial value and Initial substitute value properties, you
can specify a user-defined initial raw data. Refer to Specifying initial values on
page 198.
Restrictions for using the PDU If you use the PDU Raw Data feature, the following restrictions apply:
Raw Data feature § You can access only the complete payload of a PDU in raw data format. You
cannot specify specific bytes of the payload to be accessed in raw data format.
§ You cannot use the PDU Raw Data feature in parallel with the following bus
configuration features:
§ Frame Access feature
§ For TX basic PDUs whose Access mode property is set to Write:
§ Counter Signal feature
§ ISignal Value feature
If you add the PDU Raw Data feature and at least one of the other features
to a PDU, its included ISignals, and/or to a PDU the PDU is included in,
conflicts occur.
242
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Introduction You can control the cyclic timing of CAN TX PDUs that are assigned to the
Simulated ECUs part of a bus configuration.
Conditions for controlling the To control the cyclic timing of a CAN TX PDU, you have to add the PDU Cyclic
cyclic timing of CAN PDUs Timing Control feature to the PDU. Refer to Adding bus configuration features
on page 192.
In general, you can add the feature to any CAN TX basic PDU . However, you
can add the feature to a TX general-purpose PDU only if the PDU does not
contain a global time domain in the bus configuration.
Effects of adding the PDU When you add the PDU Cyclic Timing Control feature to a PDU, two function
Cyclic Timing Control feature ports are available for the PDU:
§ Timing Control Period function port
This function port lets you specify a period (i.e., a cycle time) in seconds for the
PDU.
§ Timing Control Offset function port
This function port lets you specify an offset (i.e., a delay time) in seconds for
the PDU.
243
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Controlling the cyclic timing When you add the PDU Cyclic Timing Control feature to a PDU, the default
of CAN PDUs via function period and offset are derived from the communication matrix. These values are
ports used as the initial values of the related function ports. If the communication
matrix does not specify a period and/or offset, 0 is used as the initial value of
the related function port. Via the Initial value property of the Timing Control
Period function port and Timing Control Offset function port, you can specify a
user-defined initial period and offset, respectively.
Note
To change the period and offset at run time, you have to enable model access
or test automation support for the related function port. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
The actual timing for transmitting a PDU cyclically depends on the task to which
the related BusCfg_MainFunctionDeliver [<bus configuration name>]
runnable function is assigned. Refer to Fetch and Deliver Runnable Functions
for Receiving and Transmitting PDUs on page 366. Moreover, specifications of
the communication matrix might influence the timing, e.g., if a minimum delay
time is specified for the PDU or the PDU is a contained IPDU and for the related
container IPDU a container timeout value is specified.
Notes on working with an Specifying an offset via the Timing Control Offset function port lets you delay
offset for a PDU each first transmission of the related PDU after the following events:
§ The executable application is started or restarted.
§ The related communication controller is enabled (e.g., via the
Communication Controller Enable feature).
§ You change the specified offset at run time.
Modifying the specified Modifying the period at run time When you reduce or extend the period
period and offset at run time at run time, the active period is reduced or extended according to the changed
period. The following illustration is an example of extending the period at run
time:
Old period: 20 ms
New period: 30 ms Originally scheduled trigger
Trigger
Old period Old period Old period Current period New period
0 10 20 30 40 50 60 70 80 90 100 110 120 t (ms)
PDU
trigger New period specified at
start current application time
If you reduce the period at run time so much that the PDU would have had
to be triggered in the past, the PDU is triggered immediately, as shown in the
following example:
244
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Old period: 20 ms
New period: 30 ms Immediate trigger Originally scheduled trigger
Trigger
New period
specified at current
application time
Modifying the offset at run time Extending or reducing the offset at run
time directly affects the active period as well. The following illustrations are
examples for the effects of a changed offset on the active period and the related
PDU trigger:
§ Extended offset
The active period is extended by the time difference between the old and the
new offset:
Period: 30 ms
Old offset: 15 ms
New offset: 25 ms Originally scheduled trigger
Delayed Delayed
trigger trigger
Old offset Period Period Current period +10ms Period
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 t (ms)
PDU
trigger
start
New offset specified at
current application time
§ Reduced offset
The active period is reduced by the time difference between the old and the
new offset:
Period: 30 ms
Old offset: 15 ms
New offset: 5 ms Originally scheduled trigger
Negative
delayed
Delayed trigger
trigger -10ms
Old offset Period Period Current period Period Period
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 t (ms)
PDU
trigger
start
New offset specified at
current application time
245
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
If the PDU would have had to be triggered in the past due to the reduced
offset, the PDU is triggered immediately:
Period: 30 ms
Old offset: 15 ms
New offset: 5 ms Originally scheduled trigger
Immediate
Delayed trigger
trigger -10ms
Old offset Period Period Current period Period Period
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 t (ms)
PDU
trigger
start
New offset specified at
current application time
Restrictions for using the PDU You cannot use the PDU Cyclic Timing Control and the Frame Access feature
Cyclic Timing Control feature in parallel. If you add both features to a PDU, conflicts occur. This also applies if
the PDU is included in another PDU and the Frame Access feature is added to
this PDU.
Introduction You can specify user-defined triggers to trigger the transmission of basic
PDUs that are assigned to the Simulated ECUs part of a bus configuration.
For example, user-defined triggers let you trigger the transmission of PDUs
continuously or asynchronously to a cyclic timing.
Conditions for specifying To specify user-defined triggers for transmitting a PDU at run time, you have to
user-defined triggers for add the PDU Trigger feature to the PDU. Refer to Adding bus configuration
transmitting PDUs features on page 192.
In general, you can add the PDU Trigger feature to the following basic PDUs :
§ CAN TX PDUs
§ LIN TX PDUs that are included in event-triggered or sporadic frames
However, you can add the feature to a TX general-purpose PDU only if the PDU
does not contain a global time domain in the bus configuration.
246
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Effects of adding the PDU Adding the PDU Trigger feature to a PDU has the following effects:
Trigger feature § A Trigger mode property is available for the PDU that lets you specify the
triggering mode for the PDU. You can access the property in two ways:
§ In the Properties Browser when you select the PDU Trigger node in the
Bus Configurations table.
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
You cannot change the triggering mode during run time. Therefore, no
function port is available for the triggering mode.
§ A Trigger function port is available for the PDU. Via the function port, you can
trigger the transmission of the PDU at run time. The following illustration is an
example of the function port as displayed in the Bus Configurations table:
Specifying user-defined Specifying user-defined triggers for the transmission of a PDU comprises the
triggers following basic steps:
1. Add the PDU Trigger feature to the PDU.
2. Select a triggering mode via the Trigger mode property.
3. Configure the Trigger function port.
For more information, refer to Triggering the Transmission of PDUs and Frames
via User-Defined Triggers on page 210.
Effects of triggering the When you trigger the transmission of a PDU at run time, the PDU is transmitted
transmission of PDUs via the via all involved frames and communication clusters.
PDU Trigger feature
247
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
To identify the involved frames and communication clusters, you can select the
PDU in the Bus Configurations table or Bus Simulation Features table. If you
do this, the Bus Communication page of the Properties Browser displays all
the involved frames and clusters, as shown in the following example.
Tip
The actual timing for transmitting the PDU depends on the task to which
the related BusCfg_MainFunctionDeliver [<bus configuration name>]
runnable function is assigned. Refer to Fetch and Deliver Runnable Functions
for Receiving and Transmitting PDUs on page 366. Moreover, specifications of
the communication matrix might influence the timing, e.g., if a minimum delay
time is specified for the PDU or the PDU is a contained IPDU and for the related
container IPDU a container timeout value is specified.
Restrictions for using the PDU You cannot use the PDU Trigger and the Frame Access feature in parallel. If
Trigger feature you add both features to a PDU, conflicts occur. This also applies if the PDU is
included in another PDU and the Frame Access feature is added to this PDU.
References
248
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Introduction You can access the payload length of CAN PDUs that are assigned to the
Simulated ECUs or Inspection part of a bus configuration at run time, e.g.,
to simulate or inspect dynamic length CAN PDUs.
Conditions for accessing the To access the payload length of a CAN PDU at run time, you have to add the
payload length of CAN PDUs PDU Length feature to the PDU. Refer to Adding bus configuration features on
page 192.
You can add the PDU Length feature to the following PDU types:
§ RX container IPDUs
§ TX and RX basic PDUs that fulfill all of the following conditions:
§ The basic PDUs are included only in CAN frames .
§ The basic PDUs are not configured in any of the following ways:
§ Contained IPDU that is included in a container IPDU with a static
container layout
§ Authentic PDU of a non‑cryptographic secured IPDU
§ Static‑part or dynamic‑part IPDU of a multiplexed IPDU
§ TX general-purpose PDU that contains a global time domain in the bus
configuration
Effects of adding the PDU Depending on the direction of the PDU (TX or RX ), a TX Length function
Length feature port or RX Length function port is available that lets you access the payload
length at run time. The following illustration is an example of the function port
as displayed in the Bus Configurations table:
Accessing the payload length The Length function port provides the payload length in bytes as follows:
249
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
By default, the initial function port value is the PDU length that is specified in
the communication matrix. Via the function port's Initial value property, you
can specify a user-defined initial payload length in the range 0 …. <PDU length
specified in the communication matrix>.
The maximum valid function port value changes if the PDU length changes in the
communication matrix. This can happen in the following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
To access the payload length at run time, you have to enable model access or
test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Run-time effects of changed Changed payload lengths have the following effects at run time:
payload lengths
Effect Description
Saturation of TX If the payload length of a TX PDU changes at run time and the new length exceeds the maximum valid TX
Length function Length function port value, the length is automatically saturated.
port
Valid CAN FD If a TX basic PDU that is directly included in a frame is transmitted and the specified payload length is invalid
lengths according to CAN FD, the length of the related frame is automatically extended with padding bytes to the next
valid CAN FD length. Refer to CAN FD protocol on page 77.
Tip
If the PDU Length feature is also added to an RX instance of such a basic PDU, the RX Length function
port provides the frame length including the padding bytes.
New TX If the payload length of a TX contained IPDU with last‑is‑best collection semantics is extended at run time,
container IPDUs the following applies: If the length exceeds the boundaries of the related container IPDU, the contained IPDU
is not included in the container IPDU. Instead, this contained IPDU and all the following contained IPDUs are
included in a new container IPDU. In this case, the first container IPDU is transmitted immediately. If applicable,
a remaining timeout value of the first container IPDU applies to the new container IPDU.
Only complete Depending on the direction of the PDU (i.e., TX or RX), a reduced payload length has the following effects on
ISignals included ISignals:
or decoded § TX PDU: The Bus Manager includes only ISignals in the PDU that completely fit into the specified payload
length. ISignals that do not completely fit into the specified payload length are not transmitted. This results
in unused bits.
§ RX PDU: The Bus Manager decodes ISignals only if they are received completely. If an ISignal is only partially
received because of a reduced payload length, the ISignal is not decoded at all. As a result, the raw data of
the affected payload bits might change but the value of the ISignal remains unchanged (e.g., if you access
the value via the ISignal Value feature).
250
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Effect Description
Unused bits filled Unused bits of the payload are filled with the value of the unused bit pattern that is specified for the PDU. For
with the unused example, bits might be unused in the following cases:
bit pattern § ISignals are not included in a TX PDU because they do not completely fit into the payload.
§ The payload length of a TX PDU is extended via the TX Length function port.
Specifying saturation values For TX Length function ports, you can specify saturation values to limit the
for TX Length function ports minimum and maximum payload length of TX PDUs. If you want to do this,
you have to first set the bus configuration's Saturation usage property to User
min/max value. Refer to Specifying saturation values for function inports on
page 201.
The valid saturation values of the TX Length function port might change if
the PDU length changes in the communication matrix. This can happen in the
following cases:
§ You modify the communication matrix. Refer to Basics on Modifying
Communication Matrices on page 391.
§ You replace the assigned communication matrix. Refer to Replacing Assigned
Communication Matrices on page 435.
Introduction During run time, you can observe the status of RX PDUs that are assigned to the
Simulated ECUs or Inspection part of a bus configuration.
Conditions for observing the To observe the status of a received PDU at run time, you have to add the PDU
status of received PDUs RX Status feature to the PDU. Refer to Adding bus configuration features on
page 192.
Effects of adding the PDU RX When you add the PDU RX Status feature to a PDU, the following function
Status feature ports are available for the PDU:
§ Counter function port
§ State function port
251
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Observing the status of The function ports let you observe the status of a received PDU. When you
received PDUs via function enable model access or test automation support for a function port, you can use
ports the data that is provided by the function port in a mapped behavior model or
in experiment software, respectively. For more information on enabling model
access and test automation support, refer to Configuring Function Ports for Bus
Configuration Features on page 198.
Data provided by the Counter function port This function port provides
the value of the counter that is implemented for the PDU when you add the
PDU RX Status feature. Refer to Counter values available for the PDU on
page 253.
Data provided by the State function port This function port provides the
state of the PDU, i.e., whether the PDU is received in the current sampling step:
§ False (0): The PDU is not received in the current sampling step. This is the
default state.
§ True (1): The PDU is received in the current sampling step.
Via the function port's Initial value property, you can change the default state
of the PDU.
Data provided by the Loopback function port This function port indicates
whether the PDU is received as a loopback PDU, i.e., the PDU is transmitted and
received by the same bus access (CAN or LIN function block):
§ False (0): The PDU is not received as a loopback PDU, i.e., it is received from
another bus access or a real ECU, for example. This is the default state.
§ True (1): The PDU is received as a loopback PDU.
Via the function port's Initial value property, you can change the default state
of the PDU. The function port value is reset to the initial value each time the
executable application starts, regardless of the setting of the Initial value
usage property.
Data provided by the Time function port This function port provides the
time (in seconds) of the executable application when the PDU was received.
By default, the initial function port value is 0 until the PDU is received for
the first time. Via the function port's Initial value property, you can specify a
user-defined initial value. The function port value is reset to the initial value each
252
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
time the executable application starts, regardless of the setting of the Initial
value usage property.
Data provided by the Delta Time function port This function port provides
the time difference (in seconds) between the current and the previous reception
of the PDU. By default, the initial function port value is 0 until the PDU is
received for the first time. Via the function port's Initial value property, you can
specify a user-defined initial value. The function port value is reset to the initial
value each time the executable application starts, regardless of the setting of the
Initial value usage property.
Because there is no actual time difference when the PDU is received for the
first time, the function port provides the time of the executable application in
this case. With the second reception of the PDU, the function port provides the
actual time difference.
For more information on initial function port values, refer to Specifying initial
values on page 198.
Counter values available for Basics on the counter When you add the PDU RX Status feature to a PDU,
the PDU a counter is implemented for this PDU. The counter's data type is UInt32 and the
counter's initial value is 0. The counter value is incremented by 1 each time the
PDU is received on the bus. If an overflow occurs, the counter value is reset to 0.
Values provided by the Counter function port You can access the counter
value via the Counter function port. For the Counter function port, you can
specify an initial value via the function port's Initial value property.
Note
Do not confuse the counter's initial value with the function port's initial
value.
253
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Restrictions for using the PDU You cannot use the PDU RX Status and the Frame Access feature in parallel. If
RX Status feature you add both features to a PDU, conflicts occur. This also applies if the PDU is
included in another PDU and the Frame Access feature is added to this PDU.
Introduction You can apply user code to PDUs that are assigned to the Simulated ECUs,
Inspection, or Manipulation part of a bus configuration. For example, you can
do this to write checksum values that are calculated according to user-specific
algorithms to ISignals of the related PDUs.
For basic information on user code, refer to Working with User Code on
page 139.
Conditions for applying user To apply user code to a PDU, you have to add the PDU User Code feature to the
code to PDUs selected PDU. Refer to Adding bus configuration features on page 192.
In general, you can add the feature to the following PDU types:
§ Basic PDUs
§ Secured IPDUs
§ Multiplexed IPDUs
However, you can add the feature to a TX general-purpose PDU only if the PDU
does not contain a global time domain in the bus configuration. Moreover,
some limitations apply for J1939‑compliant IPDUs that are assigned to the
Manipulation part of a bus configuration. Refer to Limitations for J1939 on
page 526.
254
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Effects of adding the PDU Adding the PDU User Code feature to a PDU has the following effects:
User Code feature § A User code ID property is available that lets you reference the user code ID of
the required user code implementation . You can access the property in the
following ways:
§ In the Properties Browser when you select the PDU User Code node in
the Bus Configurations table.
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
255
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
§ If you add the PDU User Code feature to a PDU that is assigned to the
Manipulation part, additional manipulation-specific properties and function
ports are available. Refer to Manipulation-specific properties and function
ports on page 260.
Workflow for applying user Applying user code to a PDU consists of the following workflow steps:
code to a PDU 1. Specify the user code, i.e, the required user-specific algorithms, according to
your requirements in C code (*.c, *.h) or C++ code (*.cpp, *.hpp).
2. Extend the user code by functions for initializing the functionalities of the
user code and for exchanging data with the Bus Manager, such as accessing
properties of PDUs or writing checksum values to ISignals of PDUs. Use
functions of the DsBusCustomCode and DsBusCustomCode_PduUserCode
modules of the Bus Custom Code interface for this purpose.
§ For general information on the Bus Custom Code interface and the
available functions, refer to Bus Custom Code Interface Handling .
§ For information on the Bus Custom Code interface functions that are
required for exchanging data with the PDU User Code feature, refer to
the following descriptions.
3. Add the code files, i.e., the user code implementation, to the
ConfigurationDesk application. Refer to Implementing user code in
ConfigurationDesk applications on page 140.
4. Add the PDU User Code feature to a PDU. Refer to Adding bus
configuration features on page 192.
5. Reference the user code implementation in the PDU User Code feature.
To do so, type the user code ID as specified in the user code
implementation into the edit field of the feature's User code ID property.
In the user code implementation, the user code ID is specified via the
DS_BUS_CUSTOM_FEATURE_NAME definition in the related source file (*.c,
*.cpp).
Tip
The user code applies only to the referencing PDU User Code feature.
However, you can reference the same user code in multiple PDU User
Code features or use different user code implementations for different
PDU User Code features.
Depending on the PDU to which you add the PDU User Code feature, you can
additionally specify the following settings:
§ If you add the feature to a PDU that contains ISignals, you can specify user
signals. Refer to Specifying user signals on page 257.
§ If you add the feature to an RX PDU, you can specify an initial value for the
Result function port. Refer to Data provided by the Result function port on
page 260.
256
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Moreover, you can specify user-defined function ports for each PDU that let you
exchange data with the user code. Refer to Specifying user ports on page 257.
Specifying user signals If you add the PDU User Code feature to a PDU that contains ISignals, you can
specify user signals. User signals allow the user code to directly access ISignals of
the PDU. You can specify user signals via the following properties:
In the user code, use the following functions of the Bus Custom Code interface
to access the specified user signals:
For an example of using the functions in the user code, refer to Example
of Implementing User-Specific PDU Functionalities via the Bus Custom Code
Interface (Bus Custom Code Interface Handling ).
Specifying user ports You can specify user-defined function ports for each PDU to which you add the
PDU User Code feature. You can use these user ports to provide data to the
user code, such as data that is received from a behavior model, or write user
code data to the user ports.
You can specify user-defined function ports via the following properties:
257
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
By default, the initial value of each user‑defined function port is 0. Via each
function port's Initial value property, you can specify a user-defined initial value
in the range Doublemin … Doublemax. To access the value of a user‑defined
function port at run time, you have to enable model access or test automation
support for the related function port. Refer to Configuring Function Ports for Bus
Configuration Features on page 198.
In the user code, use the following functions of the Bus Custom Code interface
to access the specified user ports:
For an example of using the functions in the user code, refer to Example
of Implementing User-Specific PDU Functionalities via the Bus Custom Code
Interface (Bus Custom Code Interface Handling ).
Accessing the run‑time frame In general, the Bus Custom Code interface provides two functions that let you
triggering of simulated TX access the frame triggering of CAN PDUs:
CAN PDUs § DsBusCustomCodePdu_getCanFrameTriggering: Accesses the frame
triggering that is specified for a PDU in the communication matrix.
§ DsBusCustomCodeUserCodePduFeature_
getRuntimeCanFrameTriggering: Accesses the run‑time frame triggering of
a PDU, i.e., the frame triggering that is actually available on the bus.
258
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
However, if you want to access the run‑time frame triggering of a TX PDU that is
assigned to the Simulated ECUs part, you have to do the following:
§ Set the Execute user code on frame transmission property of the bus
configuration to True.
§ Extend the user code by the following functions of the Bus Custom Code
interface:
1. Implement the DsBusCustomCode_onFrameTransmissionExecution
function in the user code file that contains the user code ID.
2. Implement the DsBusCustomCodeUserCodePduFeature_
getRuntimeCanFrameTriggering function in the
DsBusCustomCode_onFrameTransmissionExecution function.
Note
Run-time behavior of applied Depending on the direction of the PDU (TX or RX ), applying user code to a
user code PDU results in the following behavior at run time:
§ In case of a TX PDU, the PDU data is provided to the user code each time the
transmission of the TX PDU is triggered. On the basis of the PDU data, the
user-specified algorithms are executed and the calculated values are written to
the PDU. Then, the PDU is transmitted on the bus.
However, if you add the PDU User Code feature to a TX PDU that is assigned
to the Manipulation part, this behavior applies only if the feature is enabled
259
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Data provided by the Result For RX PDUs, a Result function port is available. The Result function port can
function port provide data of the user code, for example, the verification result of a received
and evaluated checksum value. However, the specific data that is provided by
the Result function port depends on the definitions in the related user code
implementation.
By default, the initial function port value is 0. Via the function port's Initial
value property, you can specify a user-defined initial value in the range
0 … UInt32max. To access the function port value at run time, you have to
enable model access or test automation support for the function port. Refer to
Configuring Function Ports for Bus Configuration Features on page 198.
Manipulation-specific In addition to the feature-specific properties and function ports, the following
properties and function ports manipulation-specific properties and function ports are available if you add the
PDU User Code feature to a PDU that is assigned to the Manipulation part:
§ A Countdown start value and an Enable property are available that let you
configure the run-time behavior for applying the user code to the PDU. You
can access the properties in following ways:
§ You can access both properties in the Properties Browser when you select
the PDU User Code node in the Bus Configurations table.
260
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
§ You can also access the Countdown start value property in the Bus
Manipulation Features table.
Configuring the run-time When you add the PDU User Code feature to a TX PDU that is assigned to
behavior for manipulation the Manipulation part, the user code applies to the PDU only if the feature is
enabled at run time.
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The user code applies to the PDU until you disable the feature explicitly, e.g.,
via experiment software.
§ Set the related property to 2: Temporarily enabled.
The user code applies to the PDU for a defined number of times. You can
specify the number of times via the Countdown start value property or the
Initial value and Initial substitute value properties of the Countdown Start
Value function port.
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
261
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
By default, you can change the specified settings via experiment software at run
time. If you want to change the settings via a behavior model or provide function
port values to a behavior model, you have to enable model access for the related
function port. Refer to Configuring Function Ports for Bus Configuration Features
on page 198.
Restrictions for using the PDU For using the PDU User Code feature and its related user code, the following
User Code feature and its restrictions apply:
related user code § You cannot use the PDU User Code and the Frame Access feature in parallel.
If you add both features to a PDU, conflicts occur. This also applies if the PDU
is included in another PDU and the Frame Access feature is added to this
PDU.
§ In the user code, you cannot specify whether the user code applies to the PDU
User Code feature for simulation, inspection, or manipulation. This results in
the following restrictions:
§ For example, your user code contains algorithms for calculating checksum
values and manipulating the calculated values. By default, the manipulation
algorithms also apply to the PDU User Code simulation and inspection
features that reference this user code. To apply the manipulation algorithms
only to the PDU User Code manipulation feature, you can do the following:
§ Use a user port: In the user code, access the user port and implement the
manipulation algorithms in such a way that they are only executed if the
user port has a specific value, e.g., 1. At run time, set this user port only
for the PDU User Code manipulation feature to the specified value.
§ Use two different user code implementations and include the
manipulation algorithms only in one of them. Then, reference the
manipulating user code implementation in the PDU User Code
manipulation feature and the other one in the PDU User Code simulation
and/or inspection feature.
§ If you want to access the run‑time frame triggering of TX CAN
PDUs that are simulated and manipulated, you have to use two
different user code implementations. Refer to Implementing the
DsBusCustomCodeUserCodePduFeature_getRuntimeCanFrameTriggering
Function in the User Code (Bus Custom Code Interface Handling ).
Additionally, restrictions concerning the general usage of user code apply. Refer
to Restrictions for implementing user code in ConfigurationDesk applications on
page 141.
Basic Principles of the Bus Custom Code Interface (Bus Custom Code Interface
Handling )
262
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
References
Introduction You can access the priority of J1939‑21‑compliant IPDUs that are assigned to the
Simulated ECUs, Inspection, or Manipulation part of a bus configuration.
Conditions for accessing the To access the priority of a J1939‑21‑compliant IPDU, you have to add the J1939
J1939 priority PDU Priority feature to a selected IPDU. Refer to Adding bus configuration
features on page 192.
You can add the feature to any IPDU that complies with J1939‑21 and that is not
included in a multiplexed IPDU , container IPDU , or secured IPDU .
Effects of adding the J1939 Adding the J1939 PDU Priority feature to a J1939‑21‑compliant IPDU has the
PDU Priority feature following effects:
§ Depending on the direction of the J1939‑21‑compliant IPDU (TX or RX ),
a TX J1939 Priority function port or RX J1939 Priority function port is
available for the IPDU. The function port lets you access the priority. The
following illustration is an example of the function port as displayed in the Bus
Configurations table:
263
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
§ If you add the J1939 PDU Priority feature to a J1939‑21‑compliant IPDU that
is assigned to the Manipulation part, the following additional properties and
function ports are available:
§ A J1939 priority property that lets you specify an initial priority for the
IPDU. You can access the property in following ways:
§ In the Properties Browser when you select the J1939 PDU Priority node
in the Bus Configurations table.
Tip
If the column is not available, you can add it via the Column
Chooser. Refer to Bus Configuration Tables on page 103.
§ A Countdown start value and an Enable property are available that let
you configure the run-time behavior for manipulating the J1939 priority.
You can access the properties in following ways:
§ You can access both properties in the Properties Browser when you
select the J1939 PDU Priority node in the Bus Configurations table.
§ You can also access the Countdown start value property in the Bus
Manipulation Features table.
§ The following function ports are available:
§ Current Countdown Value function port
§ Countdown Start Value function port
§ Enable function port
§ Enable State function port
The following illustration is an example of the function ports as displayed in
the Bus Configurations table:
Accessing the J1939 priority The J1939 Priority function port provides the J1939 priority as follows:
§ For TX IPDUs, the function port specifies the J1939 priority that is transmitted
on the bus.
264
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
§ For RX IPDUs, the function port provides the J1939 priority that is received on
the bus, e.g., to a mapped behavior model.
The default priority is derived from the communication matrix. Via the Initial
value property of the function port, you can specify a user‑defined initial priority
in the range 0 … 7. The lower the value, the higher the priority of the IPDU.
If the IPDU is assigned to the Manipulation part, you can also use the J1939
priority property to specify a user‑defined initial priority. When you do this, the
specified value automatically applies to the initial value of the function port.
To access the priority at run time, you have to enable model access or test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
Configuring the run-time When you add the J1939 PDU Priority feature to an IPDU that is assigned to
behavior for manipulation the Manipulation part, the J1939 priority is manipulated only if the feature is
enabled at run time.
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The J1939 priority of the IPDU is manipulated until you disable the feature
explicitly, e.g., via experiment software.
§ Set the related property to 2: Temporarily enabled.
The J1939 priority of the IPDU is manipulated for a defined number of times.
You can specify the number of times via the Countdown start value property
or the Initial value and Initial substitute value properties of the Countdown
Start Value function port.
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
To change the specified settings at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Specifying saturation values For the TX J1939 Priority, Countdown Start Value, and Enable function ports,
you can specify user-defined saturation values to limit the minimum and
maximum values of the function ports. If you want to do this, you have to first
set the bus configuration's Saturation usage property to User min/max value.
Refer to Specifying saturation values for function inports on page 201.
Restrictions for using the You cannot add the J1939 PDU Priority feature to IPDUs that comply with
J1939 PDU Priority feature J1939‑22.
265
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction You can access the selector field value of multiplexed IPDUs that are assigned
to the Simulated ECUs or Inspection part of a bus configuration.
For example, this lets you specify the dynamic‑part IPDU that is included in
the multiplexed IPDU when the static‑part IPDU triggers the transmission of the
multiplexed IPDU.
Conditions for accessing the To access the selector field value of a multiplexed IPDU, you have to add the
selector field value PDU Selector Field feature to a selected multiplexed IPDU. Refer to Adding bus
configuration features on page 192.
Effects of adding the PDU Depending on the direction of the multiplexed IPDU (TX or RX ), a TX
Selector Field feature Selector Field Value function port or RX Selector Field Value function port is
available for the IPDU.
Accessing the selector field The Selector Field Value function port lets you access the value of the selector
value field as follows:
266
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Tip
In most cases, the communication matrix specifies which IPDU is the initial dynamic‑part IPDU. If
required, you can change this setting. Refer to Configurable Settings of PDUs on page 414.
§ If the multiplexed IPDU was transmitted beforehand, the previously transmitted dynamic‑part IPDU is
included in the multiplexed IPDU.
If a dynamic‑part IPDU triggers the transmission of the TX multiplexed IPDU, the function port value has no
effects.
The default function port value is the selector field value of the initial
dynamic‑part IPDU. If the communication matrix does not specify an initial
dynamic‑part IPDU, the lowest selector field value that is specified for any of
the dynamic‑part IPDUs is used as the default value.
Via the Initial value property of the function port, you can specify a
user‑defined initial selector field value in the range <data type>min … <data
type>max of the function port. The data type of the function port is derived from
the length of the selector field in the multiplexed IPDU:
Tip
To access the selector field value at run time, you have to enable model access
or test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Specifying saturation values For TX Selector Field Value function ports, you can specify saturation values to
for TX Selector Field Value limit the minimum and maximum selector field value. If you want to do this,
function ports you have to first set the bus configuration's Saturation usage property to User
min/max value. Refer to Specifying saturation values for function inports on
page 201.
Restrictions for using the PDU You cannot use the PDU Selector Field and the Frame Access feature in
Selector Field feature parallel. If you add both features to an IPDU, conflicts occur. This also applies
if the IPDU is included in another IPDU and the Frame Access feature is added to
this IPDU.
267
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction You can verify the authentication information of received secured IPDUs that
are assigned to the Simulated ECUs or Inspection part of a bus configuration.
Conditions for verifying the To verify the authentication information of a received secured IPDU, you have to
authentication information of do the following:
received secured IPDUs § Add the SecOC feature to the RX secured IPDU. Refer to Adding bus
configuration features on page 192.
§ If the secured IPDU is configured as a cryptographic IPDU, manually assign the
related authentic IPDU to the same bus configuration part of the same bus
configuration.
Tip
§ Enable SecOC support for the bus configuration and provide user code for
secure onboard communication. The user code must contain the algorithms
for verifying the authentication information. Refer to Implementing Secure
Onboard Communication in Executable Applications on page 143.
Moreover, the user code must contain specific functions of the Bus Custom
Code interface for exchanging data with the SecOC feature. Refer to the
following descriptions.
Effects of adding the SecOC Depending on the bus configuration part, the following function ports are
feature available when you add the SecOC feature to a secured IPDU:
268
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Run-time behavior of When a secured IPDU for which the SecOC feature was added is received, the
verifying authentication value of the Enable Verification function port must be accessed by the user code.
information
The definitions in the user code must determine which value of the Enable
Verification function port enables the verification. If the verification is enabled,
the received PDU data can be evaluated by verification algorithms that are
specified in the user code. The State function port can provide data of the user
code, for example, to indicate that a received freshness value was invalid.
When you add the SecOC feature to a secured IPDU that is assigned to the
Inspection part, you can additionally do the following:
§ Access the authenticator value and freshness value that is received with the
secured IPDU via the Authenticator Value and Freshness Value function port,
respectively.
§ Access data of the user code via the Calculated Freshness Value function port.
For example, the function port can provide the complete freshness value that
was calculated in the user code. However, the actual provided data depends
on the definitions in the user code.
To access function port values at run time, you have to enable model access
or test automation support for the related function port. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
The Bus Manager processes received secured IPDUs even if the verification
indicates an error. If you want to reject a secured IPDU in this case, you have
to model the rejection in a behavior model, e.g., by using data that is provided
by the State function port.
Accessing the Enable In the user code, use the following functions of the Bus Custom Code interface
Verification, Calculated to access the Enable Verification, Calculated Freshness Value, and State function
Freshness Value, and State ports:
function ports in the user
code
269
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Recommended usage of The specifications in the user code determine how the values of the Enable
specific function port values Verification and State function ports are evaluated. The following table provides
an overview of the recommended usage of specific function port values.
Specifying initial function When you add the SecOC feature to a secured IPDU, the function ports provide
port values default initial values. Via the Initial value property of each function port, you
can specify a user-defined initial value. The value range depends on the related
function port, as shown in the following table.
270
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Restrictions for using the When you use the SecOC feature, restrictions concerning the general usage
SecOC feature of user code apply. Refer to Restrictions for implementing user code in
ConfigurationDesk applications on page 141.
Introduction You can invalidate the authenticator (MAC) of secured IPDUs that are assigned
to the Manipulation part of a bus configuration.
Conditions for invalidating To invalidate the authenticator of a secured IPDU, you have to do the following:
the authenticator of secured § Add the SecOC Authenticator Invalidation feature to the secured IPDU.
IPDUs Refer to Adding bus configuration features on page 192.
§ If the secured IPDU is configured as a cryptographic IPDU, manually assign
the related authentic IPDU to the Manipulation part of the same bus
configuration.
Tip
§ Enable SecOC support for the bus configuration and provide user code for
secure onboard communication. Refer to Implementing Secure Onboard
Communication in Executable Applications on page 143.
271
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Effects of adding the SecOC Adding the SecOC Authenticator Invalidation feature to a secured IPDU has
Authenticator Invalidation the following effects:
feature § A Countdown start value and an Enable property are available that let you
configure the run-time behavior for invalidating the authenticator. You can
access the properties in following ways:
§ You can access both properties in the Properties Browser when you select
the SecOC Authenticator Invalidation node in the Bus Configurations
table.
§ You can also access the Countdown start value property in the Bus
Manipulation Features table.
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
Note
272
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Configuring the run-time As long as the SecOC Authenticator Invalidation feature is enabled at
behavior for invalidating the run time, the authenticator (MAC) is invalidated: After the authentication
authenticator information (i.e., authenticator and freshness value) is calculated in the user code
and written to the secured IPDU, the value of the most significant bit of the
authenticator is inverted.
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The most significant bit of the authenticator is invalidated until you disable the
feature explicitly, e.g., via experiment software.
§ Set the related property to 2: Temporarily enabled.
The most significant bit of the authenticator is invalidated for a defined
number of times. You can specify the number of times via the Countdown
start value property or the Initial value and Initial substitute value
properties of the Countdown Start Value function port.
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
To change the specified settings at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Providing the feature enable You can provide the enable state of the SecOC Authenticator
state to the user code Invalidation feature to the user code by using the
DsBusCustomCodeSecOCTxPduFeature_getAuthenticationType function
of the Bus Custom Code interface in the user code:
§ When the feature is enabled at run time, the provided state is 0.
§ When the feature is disabled at run time, the provided state is 1.
Tip
You can use the SecOC Authenticator Invalidation feature at run time
without providing the enable state to the user code. However, providing the
enable state might be useful if you want to manipulate the authenticator
in the user code when the SecOC Authenticator Invalidation feature is
disabled, for example.
273
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Recalculating authentication In general, if the Recalculate SecOC information checkbox is selected, the
information authentication information of the secured IPDU is recalculated before the
secured IPDU is transmitted. By this, the invalidated authenticator is overwritten.
Note
You cannot change this setting at run time. Therefore, if the checkbox is
selected, the invalidated authenticator will never be transmitted.
Specifying saturation values For the Countdown Start Value and Enable function ports, you can specify
user-defined saturation values to limit the minimum and maximum values of
the function ports. If you want to do this, you have to first set the bus
configuration's Saturation usage property to User min/max value. Refer to
Specifying saturation values for function inports on page 201.
Restrictions for using When you use the SecOC Authenticator Invalidation feature, restrictions
the SecOC Authenticator concerning the general usage of user code apply. Refer to Restrictions for
Invalidation feature implementing user code in ConfigurationDesk applications on page 141.
Introduction You can overwrite the freshness value of secured IPDUs that are assigned to
the Manipulation part of a bus configuration.
274
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Conditions for overwriting To overwrite the freshness value of a secured IPDU, you have to do the following:
the freshness value of secured § Add the SecOC Freshness Overwrite Value feature to the secured IPDU.
IPDUs Refer to Adding bus configuration features on page 192.
§ If the secured IPDU is configured as a cryptographic IPDU, manually assign
the related authentic IPDU to the Manipulation part of the same bus
configuration.
Tip
§ Enable SecOC support for the bus configuration and provide user code for
secure onboard communication. Refer to Implementing Secure Onboard
Communication in Executable Applications on page 143.
Moreover, the user code must contain specific functions of the Bus Custom
Code interface for exchanging data with the SecOC Freshness Overwrite
Value feature. Refer to the following descriptions.
Effects of adding the SecOC Adding the SecOC Freshness Overwrite Value feature to a secured IPDU has
Freshness Overwrite Value the following effects:
feature § The following properties are available:
§ A Countdown start value and an Enable property that let you configure
the run-time behavior for overwriting the freshness value.
§ A Freshness Overwrite Value property that lets you specify an initial value
for overwriting the freshness value.
§ A Recalculate SecOC information property, indicating that the
authentication information of the secured IPDU is recalculated before the
PDU is transmitted on the bus.
You can access the properties in following ways:
§ You can access all properties in the Properties Browser when you select
the SecOC Freshness Overwrite Value node in the Bus Configurations
table.
§ You can also access the Countdown start value and Freshness Overwrite
Value properties in the Bus Manipulation Features table.
275
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
If a required column is not available, you can add it via the Column
Chooser. Refer to Bus Configuration Tables on page 103.
Configuring the run-time As long as the SecOC Freshness Overwrite Value feature is enabled at run
behavior for overwriting the time, the original freshness value is overwritten with a specified overwrite value.
freshness value
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The freshness value is overwritten until you disable the feature explicitly, e.g.,
via experiment software.
§ Set the related property to 2: Temporarily enabled.
The freshness value is overwritten for a defined number of times. You can
specify the number of times via the Countdown start value property or the
Initial value and Initial substitute value properties of the Countdown Start
Value function port.
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
To change the specified settings at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Specifying overwrite values You can specify an overwrite value via the Freshness overwrite value property
in the value range 0 … UInt64max. The specified value applies to the Initial
value and Initial substitute value properties of the Freshness Overwrite Value
function port automatically.
By default, you can change the specified overwrite value via experiment software
at run time. If you want to change the overwrite value via a behavior model, you
276
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
have to enable model access for the Freshness Overwrite Value function port.
Refer to Configuring Function Ports for Bus Configuration Features on page 198.
Specifying saturation values For the Countdown Start Value, Enable, and Freshness Overwrite Value function
ports, you can specify user-defined saturation values to limit the minimum and
maximum values of the function ports. If you want to do this, you have to first
set the bus configuration's Saturation usage property to User min/max value.
Refer to Specifying saturation values for function inports on page 201.
Required specifications in the To manipulate the authentication information by using the freshness overwrite
user code value, specify the following in the user code:
§ Provide the enable state of the SecOC Freshness Overwrite Value feature to
the user code by using the DsBusCustomCodeSecOCTxPduFeature_
getEnableFreshnessValueCalculation function of the Bus Custom Code
interface in the user code:
§ When the feature is enabled at run time, the provided state is 0.
§ When the feature is disabled at run time, the provided state is 1.
For more information, refer to
DsBusCustomCodeSecOCTxPduFeature_getEnableFreshnessValueCalculation
(Bus Custom Code Interface Handling ).
§ When the feature is enabled at run time, i.e., the provided state is 0,
use the specified freshness overwrite value to calculate the authenticator
(MAC). To access the specified freshness overwrite value, use the
DsBusCustomCodeSecOCTxPduFeature_getUserDefinedFreshnessValue
function of the Bus Custom Code interface in the user code.
For more information, refer to
DsBusCustomCodeSecOCTxPduFeature_getUserDefinedFreshnessValue (Bus
Custom Code Interface Handling ).
§ If the authentication information that is included in the secured IPDU consists
of the authenticator and the freshness value, include the specified overwrite
value in the secured IPDU. However, consider the Freshness value TX length
setting of the secured IPDU to determine whether the overwrite value must be
truncated.
Recalculating the For the SecOC Freshness Overwrite Value feature, the Recalculate SecOC
authentication information information checkbox is selected and read-only. Therefore, when the feature
is enabled at run time, the authentication information of the secured IPDU is
always recalculated before the PDU is transmitted on the bus.
277
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Restrictions for using the When you use the SecOC Freshness Overwrite Value feature, restrictions
SecOC Freshness Overwrite concerning the general usage of user code apply. Refer to Restrictions for
Value feature implementing user code in ConfigurationDesk applications on page 141.
Introduction You can suspend the transmission of PDUs that are assigned to the
Manipulation part of a bus configuration.
Conditions for suspending the To suspend the transmission of a PDU, you have to add the Suspend PDU
transmission of PDUs Transmission feature to the PDU. Refer to Adding bus configuration features on
page 192.
You can add the feature to J1939‑22‑compliant IPDUs with a payload length of
up to 60 bytes, i.e., to IPDUs that are transmitted using the Multi‑PG protocol.
For more information on J1939‑22‑compliant IPDUs and the Multi‑PG protocol,
refer to Aspects of the J1939 Protocol on page 80.
278
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Effects of adding the Suspend Adding the Suspend PDU Transmission feature to a PDU has the following
PDU Transmission feature effects:
§ A Countdown start value and an Enable property are available that let you
configure the run-time behavior for suspending the PDU transmission. You can
access the properties in following ways:
§ You can access both properties in the Properties Browser when you select
the Suspend PDU Transmission node in the Bus Configurations table.
§ You can also access the Countdown start value property in the Bus
Manipulation Features table.
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
Configuring the run-time As long as the Suspend PDU Transmission feature is enabled at run time, the
behavior for suspending the transmission of the PDU is suspended.
PDU transmission
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The transmission of the PDU is suspended until you disable the feature
explicitly, e.g., via experiment software.
279
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
To change the specified settings at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Effects of suspending the Suspending the transmission of a PDU has the following effects on the active bus
transmission of a PDU communication:
§ If you suspend the transmission of a PDU while the PDU is being transmitted,
the transmission is not interrupted. The transmission of the PDU is suspended
after the PDU is completely transmitted.
§ If you suspend the transmission of the PDU, the PDU is not queued, i.e., the
suspended transmissions are discarded and lost. The suspended transmissions
are not processed when the transmission of the PDU is enabled again. This
applies to all suspended transmissions, regardless of whether they are cyclic
transmissions or event‑triggered transmissions.
§ A frame that is transmitted according to the Multi‑PG protocol can contain
multiple PDUs (contained parameter groups, C‑PGs). This results in the
following effects:
§ If you suspend the transmission of a PDU, this neither affects the
transmission of the frame nor of the other PDUs that are included in this
frame.
§ If you suspend the transmission of a PDU, the length of the related frame is
shortened accordingly to avoid unused frame bytes.
§ If multiple instances of a PDU are included in a frame and you suspend the
transmission of this PDU temporarily, the following applies: The number of
PDU instances that are included in the frame is reduced by the number of
suspended transmissions.
For example, five PDU instances are to be included in the frame. If you
suspend the transmission of the PDU for two times, the first two PDU
instances are lost. The remaining three PDU instances are included in the
frame.
§ If you suspend the transmission of all PDUs that are included in one frame,
the transmission of the frame is suspended as well.
Specifying saturation values For the Countdown Start Value and Enable function ports, you can specify
user-defined saturation values to limit the minimum and maximum values of
the function ports. If you want to do this, you have to first set the bus
configuration's Saturation usage property to User min/max value. Refer to
Specifying saturation values for function inports on page 201.
280
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Introduction You can use CAN RX PDUs that are assigned to the Simulated ECUs part of a
bus configuration to trigger the execution of functions in a behavior model via
RX interrupts.
Conditions for triggering the To trigger the execution of functions in a behavior model via RX interrupts, you
execution of functions in have to add the PDU RX Interrupt feature to a CAN RX PDU. Refer to Adding
a behavior model via RX bus configuration features on page 192.
interrupts
You can add the PDU RX Interrupt feature to a CAN RX PDU only if it fulfills all
of the following conditions:
§ The CAN RX PDU is directly included in one frame and not affected by
secured IPDUs . Therefore, the PDU can be one of the following types:
§ Container IPDU that is not configured as an authentic IPDU of a secured
IPDU.
§ Multiplexed IPDU that is not configured as an authentic IPDU, contained
IPDU, or J1939-compliant IPDU
§ Basic PDU that is not configured in any of the following ways:
§ Authentic IPDU
§ Contained IPDU
§ Static‑part or dynamic‑part IPDU of a multiplexed IPDU
§ J1939-compliant IPDU
§ If the PDU is a container IPDU or multiplexed IPDU, all its included PDUs must
be assigned to the same ECU connector port as the PDU itself.
§ The frame in which the PDU is included has exactly one frame triggering .
Effects of adding the PDU RX When you add the PDU RX Interrupt feature to a CAN RX PDU, the following
Interrupt feature ports are available for the PDU:
§ RX Interrupt Enable function port
This function port lets you enable and disable the PDU RX Interrupt feature.
§ Received event port
This event port provides an event (i.e., the RX interrupt) each time the
related CAN RX PDU is received.
281
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Use scenario for working with RX interrupts let you work independently of the periodic task to
RX interrupts which the BusCfg_MainFunctionFetch [<bus configuration name>]
and BusCfg_MainFunctionDeliver [<bus configuration name>] runnable
functions of the bus configuration are assigned. This has the following effects:
§ The timing for triggering functions in the behavior model does not depend on
the periodic task. Instead, the functions can be triggered by the RX interrupt,
i.e., by the event that is generated each time the related RX PDU is received on
the bus.
§ The data that is available for the function ports of the RX PDU and the
involved elements is updated immediately with the reception of the PDU. The
timing for updating the function port values does not depend on the task
to which the related BusCfg_MainFunctionFetch [<bus configuration
name>] runnable function is assigned.
The involved elements are elements that are included in the PDU and that are
assigned to the Simulated ECUs part of the same bus configuration. Elements
that are included in the RX PDU can be ISignals, contained IPDUs, or static‑part
or dynamic‑part IPDUs.
Required steps for using RX To use RX interrupts in the behavior model, you have to do the following:
interrupts § Add the PDU RX Interrupt feature to a CAN RX PDU.
§ Map the Received event port to a runnable function port .
Refer to Mapping event ports to runnable function ports on page 283.
§ Model the triggering behavior in the behavior model.
The modeling in the behavior model depends on your requirements and
the type of the behavior model. For information on modeling the triggering
behavior in a MATLAB®/Simulink® model, refer to Modeling the triggering
behavior in a MATLAB/Simulink behavior model on page 284.
Enabling and disabling the The value of the RX Interrupt Enable function port determines the enable state of
PDU RX Interrupt feature the PDU RX Interrupt feature.
Specifying the initial state Via the Initial value property of the function
port, you can specify the initial state of the PDU RX Interrupt feature as follows:
§ False (0): The PDU RX Interrupt feature is disabled.
§ True (1): The PDU RX Interrupt feature is enabled. This is the default state.
Changing the enable state at run time To change the enable state at
run time, you have to enable model access or test automation support for the
function port. Refer to Configuring Function Ports for Bus Configuration Features
on page 198.
282
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
Note
Effects of disabling the PDU RX Interrupt feature When you add the PDU
RX Interrupt feature to a PDU, the processing of the PDU data according to the
periodic task to which the BusCfg_MainFunctionFetch [<bus configuration
name>] and BusCfg_MainFunctionDeliver [<bus configuration name>]
runnable functions are assigned is disabled. This applies regardless of whether
you enable or disable the PDU RX Interrupt feature.
Thus, disabling the PDU RX Interrupt feature does not enable the cyclic
processing of the PDU data according to the related periodic task. Instead, if
you disable the PDU RX Interrupt feature, the processing of the PDU data
is disabled completely: When the PDU is received on the bus, the data of
the related function ports is not updated, no event is generated (i.e., no RX
interrupt), and the affected functions of the behavior model are not triggered.
Mapping event ports to To use the PDU RX Interrupt feature at run time, you have to map the Received
runnable function ports event port to a runnable function port.
Runnable function ports are available when you add a behavior model to
the ConfigurationDesk application and this behavior model provides Runnable
Function blocks . To map an available runnable function port to an event port,
you can drag the runnable function port from the Model Browser to the event
port in the Bus Configurations or Bus Configuration Ports table, for example.
When you map a runnable function port to the event port, the related runnable
function and I/O event are assigned to a task. For more information, refer to
Basics on Tasks, Events, and Runnable Functions Provided by the Bus Manager on
page 363.
If you do not map the Received event port to a runnable function port, a conflict
occurs. If you do not resolve the conflict, the PDU RX Interrupt feature is
inactive and you cannot use the feature at run time. Instead, the PDU data
is processed according to the task to which the BusCfg_MainFunctionFetch
283
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
If you work with a MATLAB/Simulink behavior model and the model does
not provide Runnable Function blocks, you can create the required blocks
from within the ConfigurationDesk application. Refer to Points to note for
creating model port blocks on page 285.
Modeling the triggering If you work with a MATLAB/Simulink behavior model, you can model the
behavior in a triggering behavior by using a Runnable Function block and a function‑call
MATLAB/Simulink behavior subsystem. To do this, you can map the Runnable Function block that provides
model the event of the PDU RX Interrupt feature to the function{} port of a
function‑call subsystem. In this case, the subsystem is executed each time the
event is generated. Therefore, the functions that you model in the subsystem are
executed each time the related RX PDU is received on the bus.
Note
To ensure that you can enable the event generation again at run time, do the
following:
§ In the ConfigurationDesk application, enable model access for the RX Interrupt
Enable function port and map it to a data outport .
§ In the Simulink model, ensure that the related model port block is executed
according to a periodic task, i.e., do not place it in a function‑call subsystem.
284
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
In the following example, the model port blocks that are mapped to Enable
function ports are included in the Bus Configuration (1) subsystem, which is
executed according to the Bus Configuration task. Because the function‑call
subsystem is placed on the same level as the model port blocks, it does not
affect their execution.
If your model does not have suitable model port blocks, you can create the
required blocks from within the ConfigurationDesk application. However, there
are some points to note.
Points to note for creating For unmapped event ports and function ports of bus configurations, you can
model port blocks create model port blocks , i.e., Runnable Function blocks and data port
blocks. However, the default settings of bus configurations prohibit the creation
of Runnable Function blocks.
Basics on creating model port blocks In general, when you select a bus
configuration, you can create the required model port blocks in a new or an
existing Simulink model via the Generate New Simulink Model Interface or
Propagate to Simulink Model commands.
285
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Note
If ports of the bus configuration are already mapped to model ports and
the related Simulink model is available in the Model Browser, you change
the model when you use the Propagate to Simulink Model command.
In Simulink, you cannot undo the changes. Refer to Basics of Connecting
ConfigurationDesk and Simulink Behavior Models (ConfigurationDesk Real-
Time Implementation Guide ).
To create Runnable Function blocks, you have to change the default setting for
the structure of model port blocks.
Note
286
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for PDUs
4. Add the PDU RX Interrupt feature to the required PDUs. Enable model
access for the function ports whose data you want to use in the behavior
model and for which you need separate model port blocks.
5. Set Model port block structure to Function-based or Port-based and
create the remaining model port blocks.
For more information, refer to Specifying Options for Creating Model Port Blocks
(ConfigurationDesk Real-Time Implementation Guide ).
Restrictions for using the PDU If you use the PDU RX Interrupt feature, the following restrictions apply:
RX Interrupt feature § You cannot use the PDU RX Interrupt and the Frame Access feature in
parallel. If you add both features to a PDU, conflicts occur.
§ If you use RX interrupts in the behavior model to trigger functions that
provide data to bus configurations that is to be transmitted on the bus, the
timing for transmitting the data on the bus depends on the task to which
the related BusCfg_MainFunctionDeliver [<bus configuration name>]
runnable function is assigned.
§ In general, you can use one event to trigger the execution of multiple runnable
functions by mapping one event port to multiple runnable function ports.
However, if you generate bus simulation containers, it depends on the specific
simulation platform (e.g., VEOS) whether this triggering behavior is supported.
§ RX masks, which can be specified in the communication matrix, are ignored.
Instead, the complete identifier of a received CAN frame is considered for
evaluating whether the frame matches the related frame triggering settings.
References
287
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction You can access the settings of CAN frames that are assigned to the Simulated
ECUs part of a bus configuration and change settings at run time.
Conditions for accessing CAN To access and change settings of a CAN frame at run time, you have to add the
frame settings Frame Access feature to a PDU that is included in the frame. Refer to Adding
bus configuration features on page 192.
You can add the Frame Access feature to a PDU only if the PDU and the related
frame fulfill all of the following conditions:
§ The PDU is a CAN PDU that is directly included in one frame. Therefore, the
PDU can be of one of the following types:
§ Container IPDU that is not configured as an authentic IPDU of a
non‑cryptographic secured IPDU
§ Multiplexed IPDU that is neither configured as an authentic IPDU of a
non‑cryptographic secured IPDU, nor configured as a contained IPDU or
J1939-compliant IPDU
§ Secured IPDU that is not configured as a contained IPDU
§ Basic PDU that is not configured in any of the following ways:
§ Authentic IPDU of a non‑cryptographic secured IPDU
§ Contained IPDU
§ Static‑part or dynamic‑part IPDU of a multiplexed IPDU
§ J1939-compliant IPDU
§ General-purpose PDU that contains a global time domain in the bus
configuration.
§ The PDU has exactly one frame triggering and this triggering is a CAN frame
triggering.
§ The related CAN frame has exactly one PDU-to-frame mapping.
288
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
Effects of adding the Frame Adding the Frame Access feature to a PDU has the following effects:
Access feature § A Maximum length and Trigger mode property are available that let you
specify the frame's maximum length and the triggering mode for the frame's
transmission, respectively. The Trigger mode property is available only for TX
PDUs. You can access the properties in two ways:
§ In the Properties Browser when you select the Frame Access node in the
Bus Configurations table.
Tip
If a required column is not available, you can add it via the Column
Chooser. Refer to Bus Configuration Tables on page 103.
289
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Accessing CAN frames via the Adding the Frame Access feature to a PDU lets you do the following:
Frame Access feature § You can trigger the transmission of the frame. Refer to Triggering the frame
transmission on page 290.
§ You can access the length of the frame. Refer to Accessing the frame length
on page 290.
§ You can access the payload of the frame in raw data format. Refer to
Accessing the payload of the frame in raw data format on page 291.
§ You can access the frame triggering. Refer to Accessing the frame triggering
on page 293.
§ You can access the state of the frame. Refer to Accessing the frame state on
page 294.
Triggering the frame When you add the Frame Access feature to a TX PDU, you cannot transmit the
transmission PDU according to cyclic timings, e.g., as specified in the communication matrix.
To transmit the PDU and the related frame, you have to specify the transmission
of the frame in the following way:
1. Add the Frame Access feature to the TX PDU.
2. Select a triggering mode via the Trigger mode property.
3. Configure the Trigger function port.
For more information, refer to Triggering the Transmission of PDUs and Frames
via User-Defined Triggers on page 210.
Accessing the frame length When you add the Frame Access feature to a TX or RX PDU, you can specify
the maximum payload length of the frame and access the payload length at run
time.
290
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
Accessing the frame length at run time The Length function port provides
the payload length of the frame as follows:
§ For TX PDUs, the function port value specifies the payload length with which
the related frame is transmitted on the bus.
§ For RX PDUs, the function port provides the received payload length of the
related frame, e.g., to a mapped behavior model.
By default, the initial function port value is the frame's payload length that
is specified in the communication matrix. Via the function port's Initial value
property, you can specify a user-defined initial payload length in the range 0 …
<maximum length>. In the following cases, the payload length is automatically
adjusted at run time:
§ For classic CAN frames, the maximum length is saturated to 8 bytes.
§ A payload length that is invalid according to CAN FD is extended by padding
bytes to the next higher valid length. The value of each padding byte is 255.
Refer to CAN FD protocol on page 77.
To access the payload length at run time, you have to enable model access or
test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Accessing the payload of the When you add the Frame Access feature to a TX or RX PDU, you can access the
frame in raw data format payload of the related frame (including the PDU) in raw data format only. The
Raw Data function port provides the raw data of the payload as follows:
§ For TX PDUs, the function port value specifies the raw data with which the
related frame is transmitted on the bus.
§ For RX PDUs, the function port provides the received raw data of the related
frame, e.g., to a mapped behavior model.
Configuring the Raw Data function port The value of the Raw Data
function port is a vector. The default value of each vector element is 0. Via
the function port's Initial value property, you can specify a user-defined initial
raw data in the range 0 … 255 for each vector element.
To access the raw data at run time, you have to enable model access or test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
Effects of the Maximum length property The data width of the Raw Data
function port is derived from the Maximum length property. If you change the
Maximum length property, the function port's data width adjusts accordingly.
Because the data width determines the vector size of the function port value,
291
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
this has the following effects on the function port's Initial value and Initial
substitute value properties:
§ If the data width is reduced, the vector size of both properties reduces
accordingly. The vector elements are deleted from right to left and the values
specified for these elements are lost, as shown in the following example.
§ If the data width is increased, the vector size of both properties increases
accordingly. The new vector elements are added to the right of the existing
vector elements. The default value of the new vector elements is 0.
Data provided by the Raw Data function port The vector size of Raw Data
function ports determines the maximum number of bytes that are available for
the related Raw Data function port. The available bytes are used as follows:
§ The frame data is written to the Raw Data function port bytes from left to
right.
§ For TX frames, the frame length that is specified via the Length function port
determines the number of the Raw Data function port bytes that transmit
raw data. If the specified frame length is shorter than the vector size of the
Raw Data function port, the values of the unused function port bytes are not
transmitted on the bus.
§ For RX frames, the received frame length determines the number of function
port bytes that are updated with the received frame data. If the received frame
length is shorter than the vector size of the Raw Data function port, the
unused function port bytes keep their last value.
The value provided by a TX Raw Data function port might not be the value that
is transmitted on the bus. This can happen if the length of a TX frame is invalid
according to CAN FD. In this case, padding bytes are added to the frame length.
The padding bytes' value (i.e., 255) is transmitted on the bus but not available at
the TX Raw Data function port.
Example for accessing the frame's payload via the Frame Access
feature In the following example, the Frame Access feature is added to a
TX and an RX instance of a PDU. The vector size of both Raw Data function
ports (TX, RX) is 16 bytes. For the TX Raw Data function port, the raw data of
all bytes is 40. The actual length of the related TX frame is 9 bytes. Therefore,
only the raw data of the first 9 bytes is transmitted on the bus. Because 9 bytes
is an invalid length according to CAN FD but 12 bytes is a valid CAN FD length,
the frame length is extended by 3 padding bytes with a value of 255 each. The
following table provides an overview of this example.
292
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
Byte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Data of TX Raw Data function port 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
Length of TX frame x x x x x x x x x - - - - - - -
Padding byte - - - - - - - - - 255 255 255 - - - -
Data transmitted on the bus 40 40 40 40 40 40 40 40 40 255 255 255 - - - -
The data that is transmitted on the bus is received by the RX Raw Data function
port of the related RX PDU instance. The data is received as the RX frame data. In
the following example, the old data of the RX Raw Data function port was 125.
Then, the 12 bytes of the RX frame are received. The first 12 bytes of the RX Raw
Data function port are updated with the received data. The last 4 bytes of the
function port keep their previous value, as shown in the following table.
Byte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Old data of RX Raw Data function 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125
port
New data of RX frame 40 40 40 40 40 40 40 40 40 255 255 255 - - - -
New data of RX Raw Data function 40 40 40 40 40 40 40 40 40 255 255 255 125 125 125 125
port
Tip
Accessing the frame When you add the Frame Access feature to a TX or RX PDU, you can access the
triggering frame triggering via the following function ports:
CAN FD Frame Lets you access the state of the frame's CAN FD support. § 0: CAN FD support disabled, i.e., the frame is a
Support If CAN FD support is enabled, the payload length of the classic CAN frame
function port § 1: CAN FD support enabled
293
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Note
Bit Rate Switch Lets you access the state of the bit rate switch. If switching § 0: Bit rate switch disabled, i.e., the data phase
function port the bit rate is enabled, the data phase of the frame can be of the frame is transmitted with the bit rate that
transmitted with a higher bit rate. is specified for the Baud rate property of the
The function port value applies only to the related frame if related CAN communication cluster.
CAN FD frame support is enabled. § 1: Bit rate switch enabled, i.e., the data phase
of the frame is transmitted with the bit rate
that is specified for the Data phase baud rate
property of the related CAN communication
cluster.
The default values of the function ports are derived from the related frame
settings that are specified in the communication matrix. Via the Initial value
property of each function port, you can specify a user-defined initial function
port value. To access the function port values at run time, you have to enable
model access or test automation support for the function ports. Refer to
Configuring Function Ports for Bus Configuration Features on page 198.
For the Identifier function port, you can additionally specify user-defined
saturation values to limit the minimum and maximum values of the function
port. For more information, refer to Specifying saturation values for function
inports on page 201.
Accessing the frame state When you add the Frame Access feature to an RX PDU, a State function port is
available that provides the state of the frame as follows:
§ 0: The frame is not received in the current sampling step. This is the default
state of the function port.
§ 1: The frame is received in the current sampling step.
Via the function port's Initial value property, you can specify a user-defined
initial value in the range 0 … 255. To access the function port value at run time,
you have to enable model access or test automation support for the function
port. Refer to Configuring Function Ports for Bus Configuration Features on
page 198.
Restrictions for using the If you use the Frame Access feature, the following restrictions apply:
Frame Access feature § You cannot use the Frame Access feature with any other PDU- or ISignal-
related bus configuration feature in parallel. This applies to the PDU to which
you add the Frame Access feature and to its included elements, i.e.:
§ PDUs that are used as contained IPDUs if you add the feature to a container
IPDU.
294
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
§ PDUs that are used as an authentic IPDU if you add the feature to a
non‑cryptographic secured IPDU.
§ PDUs that are used as static‑part or dynamic‑part IPDUs if you add the
feature to a multiplexed IPDU.
§ ISignals that are directly included in the PDU or in any of its included PDUs.
If you use the Frame Access feature with any other PDU- or ISignal-related
feature in parallel, conflicts occur.
§ If you add the Frame Access feature to TX PDUs, these PDUs cannot
participate in secure onboard communication or end‑to‑end protection:
§ Secured IPDUs are transmitted without authentication information.
§ PDUs that contain end‑to‑end‑protected ISignal groups are transmitted
without end‑to‑end protection information.
§ Cyclic timings that are specified in the communication matrix are ignored.
Instead, the transmission of the PDU is only triggered according to the settings
specified for the Frame Access feature.
§ RX masks, which can be specified in the communication matrix, are ignored.
Instead, the complete frame identifier that is accessed via the Identifier
function port is considered for receiving the related PDU.
Introduction You can manipulate the payload length of CAN frames that are assigned to
the Manipulation part of a bus configuration.
Conditions for manipulating To manipulate the payload length of a CAN frame, you have to add the Frame
the payload length of CAN Length feature to a PDU that is included in the frame. Refer to Adding bus
frames configuration features on page 192.
You can add the Frame Length feature to a PDU only if the PDU and the related
frame fulfill all of the following conditions:
§ The PDU is a CAN PDU that is directly included in one frame. Therefore, the
PDU can be one of the following types:
§ Container IPDU that is not configured as an authentic IPDU of a
non‑cryptographic secured IPDU
§ Multiplexed IPDU that is neither configured as an authentic IPDU of a
non‑cryptographic secured IPDU, nor configured as a contained IPDU
§ Secured IPDU that is not configured as a contained IPDU
295
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Effects of adding the Frame Adding the Frame Length feature to a PDU has the following effects:
Length feature § The following properties are available:
§ A Countdown start value and an Enable property that let you configure
the run-time behavior for manipulating the frame length.
§ A Length and a Padding value property that let you specify an initial
payload length and a value for padding bytes, respectively.
You can access the properties in following ways:
§ You can access all properties in the Properties Browser when you select
the Frame Length node in the Bus Configurations table.
§ You can also access the Countdown start value, Length, and Padding
value properties in the Bus Manipulation Features table.
Tip
If a required column is not available, you can add it via the Column
Chooser. Refer to Bus Configuration Tables on page 103.
296
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
Configuring the run-time As long as the Frame Length feature is enabled at run time, the payload length
behavior for manipulating the of the frame is manipulated.
payload length
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The length of the frame is manipulated until you disable the feature explicitly,
e.g., via experiment software.
§ Set the related property to 2: Temporarily enabled.
The length of the frame is manipulated for a defined number of times. You
can specify the number of times via the Countdown start value property or
the Initial value and Initial substitute value properties of the Countdown
Start Value function port.
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
To change the specified settings at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Specifying the payload length When you add the Frame Length feature to a PDU, the initial payload length is
derived from the frame's payload length that is specified in the communication
matrix. Via the Length property, you can specify a user-defined payload length
in the range 0 … 64 bytes. However, the valid range depends on the bus
protocol:
§ Classic CAN: 0 ... 8 bytes
§ CAN FD: 0 … 8, 12, 16, 20, 24, 32, 48, and 64 bytes
The specified value applies to the Initial value and Initial substitute value
properties of the Length function port automatically.
If you specify an invalid length for classic CAN frames, conflicts occur. If you
specify an invalid length for CAN FD frames, the length is automatically extended
with padding bytes to the next valid CAN FD length before the frame is
transmitted on the bus. The value of each padding byte is 255.
To change the specified length at run time, you have to enable model access
or test automation support for the Length function port. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
297
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Specifying a padding value If you extend the length of a frame via the Frame Length feature, the added
for added bytes bytes are filled with a padding value. The default padding value depends on the
specifications in the communication matrix as follows:
§ If the communication matrix specifies a bit pattern for unused bits of the
related PDU, this value is used as padding value.
§ If the communication matrix does not specify a bit pattern for unused bits of
the related PDU, 0 is used as padding value.
Via the Padding value property, you can specify a user-defined padding value in
the range 0 ... 255. You cannot change the specified padding value at run time.
Note
The value of the Padding value property does not apply to padding bytes
that are used to extend the frame length to a valid CAN FD length. These
padding bytes are always filled with 255.
For example, a frame has a length of 8 bytes with a value of 125 each. Via the
Frame Length feature, you add 2 bytes and specify a Padding value of 55.
The next valid frame length according to CAN FD is 12 bytes. This results in the
following frame value:
Byte 1 2 3 4 5 6 7 8 9 10 11 12
Value 125 125 125 125 125 125 125 125 55 55 255 255
Specifying saturation values For the Countdown Start Value, Enable, and Length function ports, you can
specify user-defined saturation values to limit the minimum and maximum values
of the function ports. If you want to do this, you have to first set the bus
configuration's Saturation usage property to User min/max value. Refer to
Specifying saturation values for function inports on page 201.
Introduction You can suspend the transmission of frames that are assigned to the
Manipulation part of a bus configuration.
298
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
Conditions for suspending the To suspend the transmission of a frame, you have to add the Suspend Frame
transmission of frames Transmission feature to a PDU that is included in the frame. Refer to Adding bus
configuration features on page 192.
You can add the Suspend Frame Transmission feature to a PDU only if the PDU
and the related frame fulfill all of the following conditions:
§ The PDU is directly included in one frame. Therefore, the PDU can be one of
the following types:
§ Container IPDU that is not configured as an authentic IPDU of a
non‑cryptographic secured IPDU
§ Multiplexed IPDU that is neither configured as an authentic IPDU of a
non‑cryptographic secured IPDU, nor configured as a contained IPDU
§ Secured IPDU that is not configured as a contained IPDU
§ Basic PDU that is not configured in any of the following ways:
§ Authentic IPDU of a non‑cryptographic secured IPDU
§ Contained IPDU
§ Static‑part or dynamic‑part IPDU of a multiplexed IPDU
§ J1939‑22‑compliant IPDU
§ The PDU has exactly one frame triggering for the channel of the
communication cluster for which the PDU is assigned to the Manipulation
part.
§ The related frame has exactly one PDU-to-frame mapping.
Effects of adding the Suspend Adding the Suspend Frame Transmission feature to a PDU has the following
Frame Transmission feature effects:
§ A Countdown start value and an Enable property are available that let you
configure the run-time behavior for suspending the frame transmission. You
can access the properties in following ways:
§ You can access both properties in the Properties Browser when you select
the Suspend Frame Transmission node in the Bus Configurations table.
§ You can also access the Countdown start value property in the Bus
Manipulation Features table.
299
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
If the column is not available, you can add it via the Column Chooser.
Refer to Bus Configuration Tables on page 103.
Configuring the run-time As long as the Suspend Frame Transmission feature is enabled at run time, the
behavior for suspending the transmission of the frame is suspended.
frame transmission
You can enable the feature via the Enable property or the Initial value and
Initial substitute value properties of the Enable function port as follows:
§ Set the related property to 1: Permanently enabled.
The transmission of the frame is suspended until you disable the feature
explicitly, e.g., via experiment software.
§ Set the related property to 2: Temporarily enabled.
The transmission of the frame is suspended for a defined number of times.
You can specify the number of times via the Countdown start value property
or the Initial value and Initial substitute value properties of the Countdown
Start Value function port.
You can access the current enable state and countdown value via the Enable
State and Current Countdown Value function ports, respectively. For more
information, refer to Basics on Bus Manipulation Features on page 213.
To change the specified settings at run time, you have to enable model access
or test automation support for the related function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Effects of suspending the Suspending the transmission of a frame has the following effects on the active
transmission of a frame bus communication:
§ If you suspend the transmission of a frame while the frame is being
transmitted, the transmission is not interrupted. The transmission of the frame
is suspended after the frame is completely transmitted.
§ If you suspend the transmission of the frame, the frame is not queued, i.e., the
suspended transmissions are discarded and lost. The suspended transmissions
are not processed when the transmission of the frame is enabled again. This
300
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frames
Specifying saturation values For the Countdown Start Value and Enable function ports, you can specify
user-defined saturation values to limit the minimum and maximum values of
the function ports. If you want to do this, you have to first set the bus
configuration's Saturation usage property to User min/max value. Refer to
Specifying saturation values for function inports on page 201.
301
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Introduction You can enable and disable communication controllers that are assigned to the
Simulated ECUs part of a bus configuration.
Conditions for enabling Each network node of a communication cluster has one communication
and disabling communication controller (CAN communication controller, LIN slave communication controller,
controllers or LIN master communication controller).
Effects of adding the When you add add the Communication Controller Enable feature, the
Communication Controller following function ports are available for the communication controller:
Enable feature § Enable function port
This function port lets you enable and disable the communication controller.
§ Enable State function port
This function port provides the current state of the communication controller
(e.g., to a mapped behavior model).
302
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Communication Controllers
Note
Specifying the enable state The Enable function port lets you specify the enable state of the communication
controller as follows:
§ False (0): The communication controller is disabled.
§ True (1): The communication controller is enabled. This is the default state.
The Enable State function port provides the currently active enable state.
Via the Initial value properties of the function ports, you can change the default
enable state. To change the enable state of the communication controller at run
time and to access the function port values, you have to enable model access
or test automation support for the function ports. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Effects of disabling a General effects on the bus communication When you disable a
communication controller communication controller, you stop the communication of the related network
node. The network node does not transmit frames on the bus and received
frames are not evaluated. This lets you, for example, exclude the network node
from being simulated without adapting the configured bus communication.
If you disable a LIN master communication controller, the LIN master is disabled
and therefore the communication of the entire LIN cluster stops. Disabling a LIN
slave or CAN communication controller does not directly affect other network
nodes.
303
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Effects of re-enabling Re-enabling a communication controller at run time (i.e., switching the state
communication controllers from False to True) has the following effects:
Note
If you enable a LIN master communication controller, you must ensure that
only one LIN master is active per LIN bus at a time. For more information,
refer to Specifying the Hardware Access on page 157.
304
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Communication Controllers
Introduction You can send wake‑up signals via LIN communication controllers that are
assigned to the Simulated ECUs part of a bus configuration.
Conditions for sending To send a wake‑up signal on a LIN bus, you have to add the LIN Wake‑Up
wake‑up signals on a LIN bus feature to a LIN communication controller. Refer to Adding bus configuration
features on page 192.
You can add the feature to LIN master and LIN slave communication controllers.
Effects of adding the LIN When you add the LIN Wake‑Up feature, the following function ports are
Wake‑Up feature available for the communication controller:
§ Wake‑Up function port
This function port lets you specify whether the communication controller sends
wake‑up signals on the bus.
§ Wake‑Up State function port
This function port indicates whether the communication controller has
detected a wake‑up signal on the bus.
Sending wake‑up signals The Wake‑Up function port lets you specify whether the communication
controller sends wake‑up signals:
§ False (0): No wake‑up signal is sent. This is the default state.
§ True (1): A wake‑up signal is sent.
Via the function port's Initial value property, you can change the default state.
To change the state at run time, you have to enable model access or test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
305
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Processing of wake‑up signals Wake‑up signals are only processed if the LIN bus is in sleep mode. If a wake‑up
signal is sent while the LIN bus is in any other mode (e.g., active mode or
initialization mode), the wake‑up signal is ignored by the bus members.
The LIN bus switches to sleep mode if it is inactive for at least 4 seconds. The
LIN bus is inactive if there is no bus communication, no wake‑up signals are sent,
etc.
Wake‑up signals detected by The value of the Wake‑Up State function port indicates whether a wake-up
the communication controller signal is detected by the communication controller:
§ 0: No wake-up signal is detected, e.g., because no wake‑up signal is sent on
the bus or the communication controller is already active.
§ 1: A wake-up signal is detected.
By default, the initial function port value is 0. Via the function port's Initial
value property, you can specify a user-defined initial value in the range 0 … 255.
To access the function port value at run time, you have to enable model access
or test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Restrictions for using the LIN If you use the LIN Wake‑Up feature, the following restrictions apply:
Wake‑Up feature § Communication controllers that are disabled via the Communication
Controller Enable feature cannot send or receive wake‑up signals.
Before you have such communication controllers send or receive wake‑up
signals, you must enable the controllers via the Communication Controller
Enable feature.
§ If you set the Initial value or Initial substitute value property of the
Wake‑Up function port to True, a wake‑up signal is sent directly after
an executable application starts. However, this wake‑up signal cannot be
processed by the bus members.
Directly after starting an executable application the LIN bus is never in sleep
mode, even if no bus communication is active. Refer to Processing of wake‑up
signals on page 306.
306
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Communication Controllers
Introduction Each LIN master provides schedule tables that are used to regulate the
communication on the LIN bus. For LIN master communication controllers that
are assigned to the Simulated ECUs part of a bus configuration, you can specify
an initial schedule table and change the active schedule table during run time.
Basics on schedule tables Schedule tables define the sequence in which the LIN master transmits frame
headers on the bus and requests the answers from the connected LIN slaves .
A communication matrix can define one or more schedule tables for a LIN
master. In general, there are two types of schedule tables:
§ Continuous schedule tables
A continuous schedule table is repeated until it is stopped by another
continuous schedule table or interrupted by a run-once schedule table.
§ Run-once schedule tables
A run-once schedule table is processed only once and can be neither stopped
nor interrupted. If a run-once schedule table ends and no other schedule table
is pending, the LIN communication stops.
Switch behavior between Depending on the schedule table type, a switch request to start a new schedule
different schedule tables table has different effects on the currently active schedule table:
§ Active frame slots of continuous schedule tables cannot be stopped. If a switch
request is sent while a frame slot of a continuous schedule table is active, the
switch is delayed. The new schedule table starts at the end of this frame slot.
Continuous 1 1 2 3 4 5
Continuous 2 1 2 3 4 5 6 1 2 3 ...
delay
Continuous 1 1 2 3 4 5 1 2 3 4 5 1 ...
Run-once 1 1 2 3 4
delay
307
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Continuous 1 1 2 3
Run-once 1 1 2 3 4
Continuous 2 1 2 3 4 5 6 1 2 3 ...
delay
The request queue can store up to 5 schedule tables. When the request
queue is full, no further schedule tables can be added. These schedule tables
are lost.
§ If a switch request is sent while a run-once schedule table is active, the switch
is delayed until the run-once schedule table finished.
Run-once 2 1 2 3 4 5 6 7
Continuous 1 1 2 3 4 5 1 2 ...
delay
Accessing schedule tables via You can access schedule tables in two ways:
the Bus Manager § Via the LIN bus channel
When you select the LIN bus channel (e.g., in the Communication Matrices
by Clusters view of the Buses Browser), the Properties Browser displays all
the schedule tables that are defined for the LIN master.
§ Via PDUs
When you select a LIN PDU (e.g, in the Buses Browser), the Bus
Communication page of the Properties Browser displays all the schedule
tables that contain a frame triggering of the selected PDU.
Working with the LIN By default, the LIN Schedule Table feature is added automatically to each
Schedule Table feature LIN master communication controller that is assigned to the Simulated ECUs
part of a bus configuration. You can change this default behavior using
the Bus Configuration Behavior table. Refer to Specifying the Behavior
308
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Communication Controllers
For the LIN Schedule Table feature, a Schedule Index function port is available.
Via this function port, you can specify an initial schedule table for the related
LIN master. If you enable model access and/or test automation support, you can
change the active LIN schedule table during run time.
Note
For more information on enabling model access and test automation support,
refer to Configuring Function Ports for Bus Configuration Features on page 198.
Notes on specifying an initial The Initial value property of a Schedule Index function port references the
schedule table position of a schedule table in the communication matrix: For example, an Initial
value of 2 references the second schedule table the communication matrix
specifies for the LIN master. This schedule table is used as the initial schedule
table.
Tip
309
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
If the Initial value is set to 0, no initial schedule table is used and no frames are
transmitted or received directly after the executable application is started. If the
Initial value is higher than the number of schedule tables defined for the LIN
master, a conflict occurs.
Limitations When you work with LIN schedule tables, some limitations apply. For details,
refer to Limitations for LIN Communication on page 528.
Introduction You can enable, disable, and specify the enable state of J1939 network
management for CAN communication controllers that are assigned to the
Simulated ECUs part of a bus configuration.
Conditions for enabling and To enable or disable J1939 network management for a CAN communication
disabling J1939 network controller, you have to add the J1939 Network Management Enable feature
management to the communication controller. Refer to Adding bus configuration features on
page 192.
You can add the feature to any CAN communication controller that participates
in J1939 communication and that is configured as J1939 network management
node, i.e., the communication matrix specifies the J1939 name.
Note
310
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Communication Controllers
Effects of adding the J1939 When you add the J1939 Network Management Enable feature, a J1939
Network Management Enable Network Management Enable node is added to the communication controller
feature in the Bus Configurations table, as shown in the following example.
The node provides an Enable property, which lets you specify the network
management enable state as follows:
§ 0: Disabled: J1939 network management is disabled.
§ 1: Static address handling: Static J1939 network management is enabled.
This is the default state.
§ 2: Dynamic address handling: Dynamic J1939 network management is
enabled.
The J1939 Network Management Enable feature does not provide any
settings that can be configured at run time. Therefore, no function ports are
available for this feature.
Effects of disabling J1939 If you set the Enable property to 0: Disabled, the network node neither
network management transmits address claims nor responds to received address claims at run time.
This results in the following:
§ The network node participates in the J1939 communication regardless of
whether its transport protocol address is unique in the communication cluster.
§ Other members of the communication cluster are not informed about the used
transport protocol address. Therefore, they cannot detect whether there is an
address conflict with their own transport protocol address.
Effects of enabling J1939 If you set the Enable property to 1: Static address handling or 2: Dynamic
network management address handling, the network node transmits an address claim in the
following situations at run time:
§ At application start if the bus configuration and the communication controller
are enabled.
§ The state of the bus configuration changes, i.e., it is set to enabled via the
Bus Configuration Enable feature, while the communication controller is
enabled.
§ The state of the communication controller changes, i.e., it is set to enabled via
the Communication Controller Enable feature, while the bus configuration
is enabled.
311
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
specified in the communication matrix. This way, the network node always tries
to claim its initial transport protocol address.
The reactions on received address claims differ for the 1: Static address
handling and 2: Dynamic address handling enable states:
When the enable state is set to 2: Dynamic address handling, the network
node additionally claims a new address in the following situation:
§ The arbitrary address capable parameter is set to 1.
§ The initial transport protocol address is set to 254.
312
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Global Time Domains
Accessing the Time Base Data of Time Masters and Time Slaves............ 315
Introduction You can control the timing of the time synchronization of time masters that are
assigned to the Simulated ECUs part of a bus configuration.
Conditions for controlling To control the timing of the time synchronization of a time master, you have
the timing of time to add the GTS Transmission Control feature to the related TX global time
synchronization domain. Refer to Adding bus configuration features on page 192.
When you do this, you can specify the synchronization period or trigger the time
synchronization asynchronously.
Effects of adding the GTS When you add the GTS Transmission Control feature to a TX global time
Transmission Control feature domain, the following function ports are available:
§ Period function port
This function port lets you specify the synchronization period for cyclic time
synchronization.
§ Trigger function port
This function port lets you trigger the time synchronization asynchronously.
Specifying the The synchronization period determines the time that is available for transmitting
synchronization period a synchronization message and its related follow-up message. For more
information, refer to Run-time behavior regarding synchronization periods on
page 184.
313
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
The Period function port lets you specify the synchronization period in seconds
for cyclic time synchronization. By default, the initial function port value is
the synchronization period that is specified the communication matrix. If the
communication matrix does not specify a synchronization period, 0 is used as the
initial function port value. Via the function port's Initial value property, you can
specify a user-defined initial synchronization period.
Note
To change the synchronization period at run time, you have to enable model
access or test automation support for the function port. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
The actual timing of the time synchronization depends on the task to which
the related BusCfg_MainFunctionDeliver [<bus configuration name>]
runnable function is assigned. Refer to Fetch and Deliver Runnable Functions
for Receiving and Transmitting PDUs on page 366.
Specifying saturation values For the Period function port, you can specify user-defined saturation values
for the synchronization to limit the minimum and maximum values of the synchronization period. If
period you want to do this, you have to first set the bus configuration's Saturation
usage property to User min/max value. Refer to Specifying saturation values for
function inports on page 201.
Triggering time The Trigger function port lets you trigger time synchronization, e.g.,
synchronization asynchronously to cyclic time synchronization. Each time a rising edge is
asynchronously detected, i.e., the function port value changes from 0 to 1, a synchronization
message and its related follow-up message are transmitted once.
The default settings of the Trigger function port prohibit triggering time
synchronization asynchronously during run time. To trigger time synchronization
during run time, you must at least enable model access or test automation
support for the function port. Refer to Configuring Function Ports for Bus
Configuration Features on page 198.
By default, the initial function port value is 0. Via the function port's Initial
value property, you can specify the following values:
§ False (0): During run time, the first change of the function port value results in
a rising edge. Therefore, time synchronization is triggered asynchronously with
the first value change.
Tip
If the function port value was changed via experiment software during
run time, the function port value is automatically reset to 0 after the time
synchronization was triggered.
314
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Global Time Domains
§ True (1): During run time, the first change of the function port value results in
a falling edge. Therefore, time synchronization is not triggered asynchronously
with the first value change but with the second value change.
The actual timing of the asynchronous time synchronization depends on the task
to which the related BusCfg_MainFunctionDeliver [<bus configuration
name>] runnable function is assigned. Refer to Fetch and Deliver Runnable
Functions for Receiving and Transmitting PDUs on page 366.
Simulating Time Masters and Time Slaves of Global Time Domains......................................... 182
References
Accessing the Time Base Data of Time Masters and Time Slaves
Introduction You can access the time base data of time masters and time slaves that are
assigned to the Simulated ECUs part of a bus configuration.
Conditions for accessing the To access the time base data of a time master or a time slave, you have to add
time base data of time the GTS Time Base Data feature to the related TX or RX global time domain.
masters and time slaves Refer to Adding bus configuration features on page 192.
Effects of adding the GTS When you add the GTS Time Base Data feature to a global time domain, the
Time Base Data feature following function ports are available:
315
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Specifying initial function By default, the value of all function ports is 0. Via the Initial value property of
port values and accessing the the each function port, you can specify a user-defined initial function port value.
time base data at run time To access the time base data that is provided by the function ports at run time,
you have to enable model access or test automation support for the function
ports. Refer to Configuring Function Ports for Bus Configuration Features on
page 198.
Status information provided The Status function port that is available for time masters provides the following
by the Status function port status information:
316
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Global Time Domains
Note
The time master can transmit time synchronization messages only if this bit is set to 1,
i.e., time synchronization with this time base is disabled as long as the bit value is 0.
Bit 4 TIMELEAP_FUTURE § 0: No leap into the future within the received time for the time base, i.e., the received
time does not exceed the threshold specified by the Time leap future threshold
parameter in the communication matrix.
§ 1: Leap into the future, i.e., the received time exceeds the threshold specified by the Time
leap future threshold parameter in the communication matrix.
The bit value is reset to 0 after the time has been received correctly for the number of
times specified via the Time leap healing counter parameter in the communication
matrix.
Bit 5 TIMELEAP_PAST § 0: No leap into the past within the received time for the time base, i.e., the received time
does not exceed the threshold specified by the Time leap past threshold parameter
in the communication matrix.
§ 1: Leap into the past, i.e., the received time exceeds the threshold specified by the Time
leap past threshold parameter in the communication matrix.
The bit value is reset to 0 after the time has been received correctly for the number of
times specified via the Time leap healing counter parameter in the communication
matrix.
All other bits of the Status function port are reserved and set to 0.
Simulating Time Masters and Time Slaves of Global Time Domains......................................... 182
References
Introduction You can access the validity checks that are performed for time synchronization
messages received by time slaves that are assigned to the Simulated ECUs part
of a bus configuration.
Conditions for accessing To access the validity checks that are performed for the time synchronization
validity checks for time messages received by a time slave, you have to add the GTS Validation feature
synchronization messages to the related RX global time domain. Refer to Adding bus configuration features
on page 192.
317
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Effects of adding the GTS When you add the GTS Validation feature to an RX global time domain, the
Validation feature following function ports are available:
§ Result function port
This function port provides the results of the validity checks that are performed
for a time synchronization message, i.e., the synchronization (SYNC) message
and its related follow‑up (FUP) message.
§ Partial Validation function port
This function port lets you exclude certain validity checks from the validation of
time synchronization messages.
Accessing the results of For each time synchronization message that is received by a time slave, several
validity checks validity checks are performed. In most cases, the time base of the time slave
is not synchronized if a validation check indicates an error. The result of each
validity check is written to a specific bit of the Result function port. A bit value of
1 indicates an error.
To access the results of the validity checks, you have to enable model access
or test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
The following table provides an overview of the Result function port bits that
provide results of validity checks, including the related validity checks. Bits that
are not listed in the table are reserved for future use. The value of these bits is
always 0. The table also shows which validity checks affect the synchronization
of the slave's time base.
318
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Global Time Domains
By default, the initial function port value is 0. Via the function port's Initial
value property, you can specify a user-defined initial value in the range
UInt32min … UInt32max. Refer to Specifying initial values on page 198.
Excluding validity checks via Enabling and disabling partial validation The Partial Validation function
partial validation port lets you enable and disable partial validation as follows:
§ False (0): Partial validation is disabled. This is the default state.
§ True (1): Partial validation is enabled.
Via the Initial value property of the function port, you can change the default
enable state. To change the enable state at run time, you have to enable model
access or test automation support. Refer to Configuring Function Ports for Bus
Configuration Features on page 198.
319
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Tip
§ Validity checks that do not affect the time base synchronization are not
affected by partial validation.
§ The results of all validity checks are written to the Result function port,
regardless of whether they are affected by partial validation.
When you enable partial validation, only the following validity checks are used
for validating time synchronization messages:
Simulating Time Masters and Time Slaves of Global Time Domains......................................... 182
References
320
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Partial Network Clusters
Introduction You can include partial network clusters that are available for the Simulated
ECUs part of a bus configuration in executable applications and enable and
disable the clusters.
Conditions for including If a communication matrix specifies partial network clusters, all of the clusters are
partial network clusters in automatically added to a bus configuration when you assign any communication
executable applications and matrix element to the bus configuration.
enabling and disabling the
To include a partial network cluster in an executable application, you have to
clusters
add the Partial Network Cluster Enable feature to a selected cluster. Refer to
Adding bus configuration features on page 192. The feature also lets you enable
and disable the partial network cluster.
Effects of adding the Partial When you add the Partial Network Cluster Enable feature to a partial network
Network Cluster Enable cluster, an Enable function port is available for the cluster that lets you specify
feature the enable state. The following illustration is an example of the function port as
displayed in the Bus Configurations table:
Specifying the enable state When you add the Partial Network Cluster Enable feature to a partial network
and simulating partial cluster, the cluster is included in real-time applications and bus simulation
networking containers. Moreover, the Enable function port lets you specify the enable state
for the partial network cluster as follows:
§ 0: Disabled: The partial network cluster is disabled.
§ 1: Enabled: The partial network cluster is enabled. This is the default state.
§ 2: Reserved: Reserved for future use.
Via the Initial value property of the function port, you can change the default
enable state.
321
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
To simulate partial networking at run time, you have to enable model access
for the function port and map it to blocks from the AUTOSAR Network
Management Solution, which must be used in a Simulink® behavior model.
To access the function port value at run time, you can additionally enable test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
Effects of re-enabling partial Re-enabling a partial network cluster at run time (i.e., switching the state
network clusters from 0: Disabled to 1: Enabled) has the following effects on the active bus
communication. However, these effects apply only if the affected elements are
not included in another partial network cluster that is already enabled.
322
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frame Captures and Frame Gateways
Introduction You can access the data of frames that are captured by frame captures of the
Inspection part of a bus configuration.
Basics on accessing the data Each frame capture lets you capture received CAN frames independently from a
of captured frames communication matrix. Via the Frame Capture Data feature, you can access the
captured frame data.
When you add a frame capture to the Inspection part, the Frame Capture
Data feature is added automatically. This feature provides the following function
ports that let you access captured data:
§ State function port
§ Time function port
§ Length function port
§ Raw Data function port
§ Identifier function port
§ Extended Addressing function port
§ CAN FD Frame Support function port
§ Bit Rate Switch function port
323
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Accessing captured data via The function ports of the Frame Capture Data feature let you access the
function ports captured data of all captured frames. For this purpose, the value of each
function port is a vector: Except for the Raw Data function port, there is one
vector element for each frame that can be captured. The required number of
vector elements is determined by the Maximum number of captured frames
property of the related frame capture. Refer to Configuring frame captures on
page 172. For information on the vector elements of the Raw Data function
port, refer to Data provided by the Raw Data function port on page 325.
The following table provides an overview of the data that is provided by the
function ports.
324
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frame Captures and Frame Gateways
The default values of the function ports are False or 0. Via the Initial value
property of each function port, you can specify a user-defined initial function
port value. To access the captured data at run time, you have to enable model
access or test automation support for the function ports. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Data provided at run time At run time, frames are captured in the order in which they are received. The
captured data is written to the vector elements of the function ports from left
to right and in descending chronological order, i.e., data of the latest captured
frame is written to the first vector element.
Data provided by the Raw The Raw Data function port provides the raw data of all captured frames. For this
Data function port purpose, the number of vector elements of the function port is determined by
the Maximum number of captured frames and Maximum frame length
properties of the related frame capture as follows: <Value of Maximum
number of captured frames> · <value of Maximum frame length>
In this case, the value of the Raw Data function port is a vector with 12
elements. The elements 1 … 3 provide the raw data of the latest captured frame,
the elements 4 … 6 the raw data of the previously captured frame, etc.
325
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
The mapping of vector elements to the frames is static. This results in the
following:
§ If the payload length of a captured frame exceeds the specified maximum
frame length, the raw data of the exceeding number of bytes is not captured.
§ If the payload length of a captured frame is smaller than the specified
maximum frame length, vector elements are unused. These elements keep
their old data.
For example, in the first sampling step of the executable application, only one
frame with a payload length of 6 bytes is captured. In the second sampling step,
three frames are captured. The payload lengths of the first two captured frames
are 3 bytes each. The payload length of the third captured frame is 2 bytes. With
the specified settings above, this results in the following function port data:
Tip
The Length function port provides the payload length of each captured
frame. Therefore, you can use the Length function port to identify whether
the Raw Data function port provides the raw data of all bytes of a frame
and/or if vector elements are unused and provide old data.
Effects of deleting the Frame If you delete the Frame Capture Data feature, the related frame capture is
Capture Data feature not deleted automatically. As a result, frames are captured at run time but
you cannot access the captured data. For optimum run-time performance, it is
therefore recommended to directly delete a frame capture and not its related
Frame Capture Data feature if you do not need the frame capture.
326
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frame Captures and Frame Gateways
Introduction You can specify the gateway direction for frame gateways that are added to the
Gateways part of a bus configuration.
Basics on specifying the Each frame gateway that is added to the Gateways part of a bus configuration
direction of CAN frame lets you exchange CAN communication between two communication clusters .
gateways When you add a frame gateway to the Gateways part, the Frame Gateway
Direction feature and its Direction function port are added automatically. The
function port lets you specify the gateway direction.
However, to gateway bus communication at run time, you have to assign bus
accesses to the bus access requests of a frame gateway. Refer to Specifying CAN
Frame Gateways on page 173.
Specifying the gateway The Direction function port lets you specify the gateway direction as follows:
direction § Disabled (0): Gatewaying is disabled.
§ Routing cluster 1 to 2 (1): The bus communication is routed from cluster 1 to
cluster 2.
§ Routing cluster 2 to 1 (2): The bus communication is routed from cluster 2 to
cluster 1.
§ Bidirectional (3): The bus communication is routed from cluster 1 to cluster 2
and vice versa (bidirectional gateway). This is the default state.
Via the function port's Initial value property, you can change the default state.
To change the gateway direction at run time, you have to enable model access
or test automation support for the function port. Refer to Configuring Function
Ports for Bus Configuration Features on page 198.
Specifying saturation values For the Direction function port, you can specify user-defined saturation values to
limit the minimum and maximum values of the function port. If you want to do
this, you have to first set the bus configuration's Saturation usage property to
User min/max value. Refer to Specifying saturation values for function inports
on page 201.
327
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Effects of deleting the Frame If you delete the Frame Gateway Direction feature from a frame gateway,
Gateway Direction feature the frame gateway itself is not deleted automatically. Therefore, the bus
communication is still gatewayed at run time: The gateway direction is
bidirectional and you can neither change the gateway direction nor disable the
gateway.
Introduction You can enable, disable, and specify the filter mode of filters that are available
for the following elements:
§ Frame captures of the Inspection part of a bus configuration.
§ Frame gateways of the Gateways part of a bus configuration.
Basics on controlling filters To each filter, the Filter Control feature is added automatically. This has the
following effects:
§ For the Filter Control feature node, a Filter mode property is available. This
property lets you select whether the CAN frames that pass the related filter are
included in or excluded from capturing or gatewaying.
§ An Enable function port is available that lets you specify the enable state of
the related filter. The following illustration is an example of the function port
as displayed in the Bus Configurations table:
328
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Frame Captures and Frame Gateways
However, to filter CAN frames, you have to add at least one filter rule to each
filter. Refer to Specifying Filters for Frame Captures and Frame Gateways on
page 177.
Specifying the filter mode The Filter mode property of the Filter Control feature node lets you select the
following filter modes:
§ Exclude: The CAN frames that pass a filter rule of the related filter are not
captured or gatewayed. Instead, all other CAN frames of the communication
cluster are captured/gatewayed. This is the default mode.
§ Include: Only the CAN frames that pass a filter rule of the related filter are
captured/gatewayed.
The specified filter mode applies to all the filter rules of the related filter, i.e.,
you cannot specify different filter modes for individual filter rules of one filter.
Additionally, you cannot change the specified filter mode at run time.
Specifying the enable state of The Enable function port lets you specify the enable state of the related filter as
a filter follows:
§ False (0): The filter is disabled, i.e., all CAN frames of the cluster can be
captured/gatewayed.
§ True (1): The filter is enabled and the CAN frames can be filtered for
capturing/gatewaying. This is the default state.
Via the function port's Initial value property, you can change the default state.
To change the state at run time, you have to enable model access or test
automation support for the function port. Refer to Configuring Function Ports
for Bus Configuration Features on page 198.
Effects of deleting the Filter If you delete the Filter Control feature from a filter, the filter and its filter rules
Control feature are not deleted automatically. Therefore, the CAN frames of the cluster are still
filtered for capturing/gatewaying:
§ The filter is permanently enabled.
§ All CAN frames that pass a specified filter rule are excluded from
capturing/gatewaying.
329
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
330
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Bus Configurations
Introduction You can enable and disable bus configurations to enable and disable the bus
communication of a bus configuration completely or partly in one step.
Basics on enabling and To enable or disable a bus configuration, you have to add the Bus
disabling bus configurations Configuration Enable feature to the bus configuration. Refer to Adding bus
configuration features on page 192.
When you do this, an Enable function port is available for the bus configuration
that lets you specify the enable state. The following illustration is an example of
the function port as displayed in the Bus Configurations table:
Specifying the enable state of The Enable function port lets you specify the enable state of the bus
a bus configuration configuration as follows:
§ 0: Disabled: The complete bus configuration is disabled, i.e., no data is
received or transmitted on the bus.
§ 1: Enabled: The complete bus configuration is enabled, i.e., data can be
received and transmitted on the bus. This is the default state.
§ 2: RX enabled only: The bus configuration is partly enabled: Data is only
received on the bus but no data can be transmitted on the bus.
Via the function port's Initial value property, you can change the default state.
To change the bus configuration state at run time, you have to enable model
access or test automation support for the function port. Refer to Configuring
Function Ports for Bus Configuration Features on page 198.
Specifying saturation values For the Enable function port, you can specify user-defined saturation values to
limit the minimum and maximum values of the function port. If you want to do
this, you have to first set the bus configuration's Saturation usage property to
User min/max value. Refer to Specifying saturation values for function inports
on page 201.
331
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Behavior of bus Setting the state of a bus configuration to 0: Disabled or 2: RX enabled only
configurations in disabled or results in the following behavior at run time:
RX enabled only state
State Run-Time Behavior
0: Disabled The entire bus communication of the bus configuration is disabled, i.e., no
bus communication is simulated, inspected, manipulated, or gatewayed.
Therefore, the bus configuration has no effects on the executable
application. For example, this allows you to use the same bus access for
variants of bus communication.
2: RX The bus configuration only receives data on the bus, i.e., the reception of
enabled bus communication can be simulated and received bus communication can
only be inspected. The received data can be provided to a mapped behavior
model, for example.
In contrast, simulating the transmission of bus communication,
manipulating bus communication, or gatewaying bus communication is not
possible. This applies even if data must be transmitted, e.g., according to
a used bus protocol. For example, no acknowledgment data is sent even
though this might be required in J1939 communication.
Switching the bus Switching the bus configuration state at run time from 0: Disabled to 2: RX
configuration state from enabled only has the following effects:
disabled to RX enabled only
332
ConfigurationDesk Bus Manager Implementation Guide May 2024
Bus Configuration Features Available for Bus Configurations
Switching the bus Switching the bus configuration state at run time from 0: Disabled or 2: RX
configuration state from enabled only to 1: Enabled has the following effects:
disabled or RX enabled only
to enabled
333
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with Bus Configuration Features
Note
§ If you enable bus configurations that contain LIN masters, you must
ensure that only one LIN master is active per LIN bus at a time. For more
information, refer to Specifying the Hardware Access on page 157.
§ If you configure variants of bus communication by using different
bus configurations but the same bus accesses, you must ensure that
only one of the bus configurations is enabled at a time. Refer to
Limitations for CAN Communication on page 525 and Limitations for LIN
Communication on page 528, respectively.
334
ConfigurationDesk Bus Manager Implementation Guide May 2024
Implementing Bus Communication in the Signal Chain Using the Bus Manager
335
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
All active filters of the Buses Browser are cleared at once, i.e.:
§ All active element filters, which are indicated by a check mark on the
context menu and highlighted on the Home ribbon.
§ All active column filters, which are indicated by a blue square in the
column header.
Tip
§ If the Buses Browser is closed, you can open it via Windows on the
Home ribbon.
§ Depending on the active filters, a communication matrix might be
hidden when you import it. In this case, the Buses Browser displays
a text, informing you that no elements match the filter conditions. By
clearing all active filters you prevent the communication matrix from
being hidden.
§ You can also access the Clear All Filters command on the Home
ribbon.
336
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Add Communication Matrices to a ConfigurationDesk Application
Tip
Note
337
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
The drop-down list of the Buses Browser lets you change the view.
Tip
You can also add communication matrices by dragging them from the file
system to the Buses Browser .
Next step To make bus communication available in the signal chain, you can now add a
bus configuration to the application. Refer to How to Add a Bus Configuration
to a ConfigurationDesk Application on page 338.
Objective To be able to implement bus communication in the signal chain , you have to
add one or more bus configurations to a ConfigurationDesk application.
338
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Add a Bus Configuration to a ConfigurationDesk Application
The Global working view displays the related Bus Configuration function
block.
Tip
Tip
You can also rename the bus configuration via the related function
block, in the Function Browser, Properties Browser, or in other
tables. Refer to How to Rename Function Blocks (ConfigurationDesk
Real-Time Implementation Guide ).
339
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Next steps To make bus communication available in the signal chain and configure it
for simulation, inspection, or manipulation purposes, you can now assign
communication matrix elements to the bus configuration. Refer to How to
Assign Communication Matrix Elements to a Bus Configuration on page 340.
Objective To make bus communication available in the signal chain, you have to assign
communication matrix elements to a bus configuration.
Basics Depending on the communication matrix element and the bus configuration
part you assign the element to, related higher-level elements and subelements
are assigned as well. For more information, refer to Assigning Communication
Matrix Elements to Bus Configurations on page 112.
340
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Assign Communication Matrix Elements to a Bus Configuration
Note
Tip
341
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Tip
342
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Assign Communication Matrix Elements to a Bus Configuration
Tip
You can use the communication matrix filters and the Select Elements
by Type command to easily select multiple similar communication
matrix elements at once and assign them to a bus configuration. For an
example, refer to Example of Selecting Multiple Similar Communication
Matrix Elements at Once on page 355.
Next steps § You can now configure the bus communication of the bus configurations.
For example, you can add bus configuration features or specify user-defined
settings for communication matrix elements. For overviews of the configurable
elements, refer to:
§ Basics on Bus Configuration Features on page 192
§ Basics on Modifying Communication Matrices on page 391
§ If you want to build a real-time application later on, you can specify the
hardware access for the bus access requests of the bus configuration to access
bus channels of a real-time hardware. Refer to How to Specify the Hardware
Access on page 344.
§ If you want to work with a behavior model and the behavior model already
exists, you can add the model to the ConfigurationDesk application. Refer to
How to Add Behavior Models to a ConfigurationDesk Application on page 352
§ If you want to work without a behavior model, you can assign the bus
configurations to application processes. Refer to Working Without Behavior
Models on page 385.
343
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Basics For basic information, refer to Specifying the Hardware Access on page 157.
Overview of the required Specifying the hardware access comprises the following steps:
steps § Assign a suitable bus function block (CAN, LIN) to a bus access request.
§ Assign a suitable hardware resource to the bus function block (CAN, LIN).
Possible methods There are three methods to specify the hardware accesses:
§ Assign suitable bus function blocks (CAN, LIN) to bus access requests
automatically. Refer to Method 1 on page 344.
In this case, the Bus Manager assigns new and/or existing bus function blocks
to the relevant bus access requests that are not assigned to a bus function
block yet. For details, refer to Assigning bus access requests to bus accesses
automatically on page 159.
§ Use a new bus function block (CAN, LIN). Refer to Method 2 on page 347.
§ Use an existing bus function block (CAN, LIN). Refer to Method 3 on
page 348.
Using an existing bus function block might be useful if one cluster is
represented by two or more bus access requests. For details, refer to Assigning
multiple bus access requests to one bus access on page 160.
344
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Specify the Hardware Access
3 Assign bus function blocks (CAN, LIN) to bus access requests automatically
in one of the following ways:
§ To assign bus function blocks to all the bus access requests of the active
In this case, the Bus Manager assigns bus function blocks either to all
the lower-level bus access requests of the selected node or only to the
selected bus access request.
The Bus Manager assigns new and/or existing suitable bus function blocks
(CAN, LIN) to the relevant bus access requests that are not assigned to
a bus function block yet. Bus access requests resulting from the same
communication cluster are assigned to the same bus function block. Bus
access requests are not assigned to a bus function block if two or more
suitable bus function blocks with ambiguous names exist in the signal chain.
The Bus Access Requests table displays the assigned bus function blocks
below each related bus access request.
345
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Tip
By assigning the hardware resource, you select the bus channels that will
be used for the bus communication of the related cluster.
Tip
6 Repeat the steps 4 and 5 for all bus function blocks that are assigned to a
bus access request.
346
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Specify the Hardware Access
Method 2 To specify the hardware access by using a new bus function block
1 Switch to the Buses view set if necessary.
2 On the Home ribbon, click Windows - Bus Access Requests to open the
Bus Access Requests table.
3 In the Bus Access Requests table, expand the Bus Access Requests node
down to the communication cluster node or to a bus access requests node
of the Simulated ECUs, Inspection, Manipulation, or Gateways part for
which you want to specify the hardware access.
4 Right-click the required node and select Bus Access Assignment - Create
and Assign Suitable Access on the context menu.
Tip
You can also assign a new bus function block by dragging a suitable
bus function block type from the Function Browser to the required
node.
The Bus Manager adds a new suitable bus function block to the signal chain.
The bus function block is either assigned to all the bus access requests of
the selected communication cluster, or only to the selected Simulated ECUs,
Inspection, Manipulation, or Gateways bus access request node. For each
bus access request, the Bus Access Requests table and the Properties
Browser display the assigned bus function block. The bus function block
is named according to the related cluster, and default settings such as the
baud rate are taken from the communication matrix.
Tip
5 In the Bus Access Requests table, select the bus function block.
347
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
By assigning the hardware resource, you select the bus channels that will be
used for the bus communication of the related cluster.
Tip
Method 3 To specify the hardware access by using an existing bus function block
1 Switch to the Buses view set if necessary.
2 On the Home ribbon, click Windows - Bus Access Requests to open the
Bus Access Requests table.
3 In the Bus Access Requests table, expand the Bus Access Requests node
down to the communication cluster node or to a bus access requests node
of the Simulated ECUs, Inspection, Manipulation, or Gateways part for
which you want to specify the hardware access.
4 Right-click the required node and select the suitable command on the
context menu:
§ Select Bus Access Assignment - First Fit to have the Bus Manager select
the first suitable existing bus function block that is located in the Global
working view.
348
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Specify the Hardware Access
Tip
You can also assign a specific existing bus function block by dragging
the bus function block from the Function Browser to the required
node.
The selected bus function block is either assigned to all the bus access
requests of the selected communication cluster, or only to the selected
Simulated ECUs, Inspection, Manipulation, or Gateways bus access
request node. The bus function block is assigned regardless of whether it
is already being used by other bus access requests. When you select the bus
function block, the General page of the Properties Browser displays the
bus access requests that are assigned to the block.
349
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Tip
5 Make sure that the settings of the bus function block and the bus access
requests match.
Tip
6 If not already done, assign the hardware resource via the bus function
block's Hardware Assignment properties (located on the Electrical
Interface page of the Properties Browser).
Tip
Result You specified the hardware access for bus access requests.
Note
When you use a bus function block (CAN, LIN) to specify the hardware
access for a bus access request, do not map the Configuration function
port of the bus function block to a model port. To exchange configuration
data, the function block and the bus access request are internally
connected. This connection is not visualized by a mapping line.
Next steps § If you used an existing bus function block for the bus access, conflicts might
occur. You have to resolve the conflicts before you can build a real-time
application for the bus configuration. For details, refer to Basics on Bus
Manager-Related Conflicts on page 163.
§ If required, you can configure the bus communication of the bus
configurations. To do so, you can add bus configuration features, specify user-
defined settings for communication matrix elements, or configure properties
of the used bus systems via the bus function blocks. For overviews of the
configurable elements, refer to:
§ Basics on Bus Configuration Features on page 192
§ Basics on Modifying Communication Matrices on page 391
350
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Enable Model Access for Function Ports
Objective To exchange data between bus configurations and a behavior model (e.g., to
use dynamic signal values during run time), you have to enable model access for
function ports .
Tip
You can use the Ctrl and Shift keys for multiselection.
351
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Tip
You can also enable model access for each function port in the
Properties Browser.
Result You enabled model access for the selected function ports. In working views,
the function ports are displayed for the Bus Configuration function blocks.
Enabling model access allows you to map model ports to the function ports and
to exchange dynamic signal values with the behavior model.
Next steps You can now map the function ports to model ports:
§ If model port blocks are already available in the ConfigurationDesk application,
you can manually map them to the function ports. For an example, refer to
Example of Mapping Model Ports to Bus Configuration Ports via Tables on
page 358. For basic information on model port mapping, refer to Model Port
Mapping (ConfigurationDesk Real-Time Implementation Guide ).
§ If you already have a suitable behavior model but it is not available in the
ConfigurationDesk application yet, add the model to the ConfigurationDesk
application. When you do this, model port blocks are available in the Model
Browser. You can then map the function ports to the available model ports.
Refer to How to Add Behavior Models to a ConfigurationDesk Application on
page 352.
§ If you do not have a suitable behavior model yet but MATLAB®/Simulink®
and Model Interface Package for Simulink are installed, you can generate
the required model port blocks for ConfigurationDesk and a MATLAB/Simulink
model. For more information, refer to Working with Simulink Behavior Models
(ConfigurationDesk Real-Time Implementation Guide ).
352
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Add Behavior Models to a ConfigurationDesk Application
Note
If you want to generate bus simulation containers later on, the behavior
model must be a Simulink® implementation container (SIC file). For more
information, refer to Basics on Bus Simulation Containers (BSC Files) on
page 373.
2 Right-click in the Model Browser and select Import - Add Model on the
context menu.
The Add Model dialog opens.
3 In the Add Model dialog, click Add model.
353
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Note
If you want to generate bus simulation container (BSC) files later on,
ensure that Create one preconfigured application process for each
model is selected from the Application Process Options list. For more
information, refer to Basics on Bus Simulation Containers (BSC Files) on
page 373.
5 Click OK.
The dialog closes and the Model Browser displays the analyzed model
topology. The following illustration is an example of a Simulink model that
was generated for a bus configuration named 'Bus Configuration (1)'.
If the behavior model and the signal chain contain model port blocks
whose identities match, these model port blocks of the signal chain become
resolved. For more information, refer to Basics of Connecting ConfigurationDesk
and Simulink Behavior Models (ConfigurationDesk Real-Time Implementation
Guide ).
For basic information on handling the model interface, refer to Basics on the
Model Interface (ConfigurationDesk Real-Time Implementation Guide ).
354
ConfigurationDesk Bus Manager Implementation Guide May 2024
Example of Selecting Multiple Similar Communication Matrix Elements at Once
Next steps If function ports of bus configurations are not mapped to model ports yet, you
can now map them. For an example, refer to Example of Mapping Model Ports
to Bus Configuration Ports via Tables on page 358.
Introduction You can easily select multiple similar communication matrix elements in the
Buses Browser by using filters and the Select Elements by Type or Select
Elements by Direction command. This is useful, for example, if you want to
assign multiple similar communication matrix elements to a bus configuration.
Tip
If you want to perform a restbus simulation , you can select all PDUs
that are involved in the communication of specific ECUs or network
nodes in one step. Refer to Creating Restbus Configurations on
page 121.
355
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
This example shows you how to select multiple similar LIN elements that are
displayed in the Buses Browser at once.
Tip
356
ConfigurationDesk Bus Manager Implementation Guide May 2024
Example of Selecting Multiple Similar Communication Matrix Elements at Once
6 Click OK.
The dialog closes and the Name column is filtered for all elements whose
name contains door. A blue square in the column header indicates that a
filter is active.
357
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
8 Right-click the Name column and select Clear Column filter on the context
menu.
The column filter is cleared and all elements of the communication matrix
are displayed. The selected elements are still highlighted.
Result You selected similar LIN elements that were displayed in the Buses Browser at
once by using a filter and the Select Elements by Type or Select Elements by
Direction command. Elements that were not displayed in the Buses Browser
because of the active filter were not selected.
Next steps You can now assign the selected elements to a bus configuration in the Bus
Configurations table. Refer to How to Assign Communication Matrix Elements
to a Bus Configuration on page 340.
Introduction When a behavior model is available in the Model Browser and you have to map
model ports to bus configuration ports manually, you can map the ports in a
working view or via the following tables:
§ Bus Configurations table
§ Bus Configuration Ports table
358
ConfigurationDesk Bus Manager Implementation Guide May 2024
Example of Mapping Model Ports to Bus Configuration Ports via Tables
Mapping model ports to bus configuration ports via tables is often more
convenient because the tables provide a better overview of the available ports
than a working view. Additionally, the Model Browser and the tables provide
various column and port filter options that reduce the number of the displayed
ports.
In the following example, model ports are mapped to bus configuration function
ports via the Bus Configuration Ports table and by using some of the available
filter options.
Preconditions § A behavior model providing at least one unmapped model outport is available
in the Model Browser.
§ At least one bus configuration provides an unmapped function inport.
Tip
Active port filters are indicated by check marks on the context menu.
359
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
5 To map a model port to a function port, drag the model port from the
Model Browser to a function port in the Bus Configuration Ports table.
Tip
If you drag a model port to a function port with disabled model access,
model access is automatically enabled for this function port.
The model port is mapped to the function port. Because Filter for
Unconnected Ports is still active in the Model Browser and the Bus
Configuration Ports table, none of the ports are displayed.
Note
Selected port filters are active until you deactivate them explicitly. Active
port filters are indicated only on the context menu and neither in the
Model Browser or Bus Configuration Ports table, nor on the Home
ribbon. However, when you select a browser or table with at least one
active filter, Clear All Filters is enabled, e.g., on the Home ribbon.
Tip
7 Repeat the steps above to map further model ports to bus configuration
ports. If required, change the selected filter options, sort the displayed
columns, or specify column filters, for example.
Result You mapped model ports to bus configuration ports via the Bus Configuration
Ports table by using some of the available filter options.
Next steps You can inspect the mapping states of the specified mappings in a working view
(e.g., to identify conflicting mappings). For an overview of the available mapping
states, refer to Mapping States and Their Effects (ConfigurationDesk Real-Time
Implementation Guide ). If required, you can remove mappings by deleting
mapping lines in the working view.
360
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configuring CAN Bus Properties in CAN Function Blocks
Tip
You can neither inspect the mapping states nor remove mappings in the
Bus Configurations or Bus Configuration Ports table.
Introduction You can configure various CAN bus properties in CAN function blocks.
Tip
You can also configure CAN bus properties via bus configuration features or
by specifying user-defined settings for communication matrix elements. For
overviews, refer to:
§ Basics on Bus Configuration Features on page 192
§ Basics on Modifying Communication Matrices on page 391
CAN bus properties in CAN You can configure the following CAN bus properties in CAN function blocks:
function blocks § Transceiver type
§ Baud rate
§ Sample point
§ CAN FD support, including the baud rate and sample point for the data phase
of CAN FD frames
§ Frame transmission gap
§ Termination
§ Feedthrough mode
§ Low-power mode
§ Power wake-up
§ Partial networking mode
§ Bus statistics
361
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Implementing Bus Communication in the Signal Chain Using the Bus Manager
Introduction You can configure various LIN bus properties in LIN function blocks.
Tip
You can also configure LIN bus properties via bus configuration features or
by specifying user-defined settings for communication matrix elements. For
overviews, refer to:
§ Basics on Bus Configuration Features on page 192
§ Basics on Modifying Communication Matrices on page 391
LIN bus properties in LIN You can configure the following LIN bus properties in LIN function blocks:
function blocks § Transceiver type
§ Baud rate
§ Termination
§ Power wake-up
For more information on the LIN function block, refer to LIN (ConfigurationDesk
I/O Function Implementation Guide ).
362
ConfigurationDesk Bus Manager Implementation Guide May 2024
Tasks, Events, and Runnable Functions Provided by the Bus Manager
Introduction When you configure bus communication with the Bus Manager, the tasks ,
events , and runnable functions that are required to trigger the bus
communication at run time are created and configured automatically.
The preconfigured settings are sufficient in most use scenarios so that you do
not have to make any manual changes. However, you can change some of the
preconfigured settings if required.
363
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Tasks, Events, and Runnable Functions Provided by the Bus Manager
Overview The following table provides an overview of the tasks, events, and runnable
functions that can be created automatically.
Tip
The tasks that are available for a bus configuration are grouped by task groups
as follows:
§ All tasks of a bus configuration are grouped by a task group that is named
after the bus configuration, e.g., 'Bus Configuration (1)'.
§ All Transmit [<frame name>, <frame triggering ID>] tasks of a bus
configuration are additionally hierarchically grouped by three task groups. The
364
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Tasks, Events, and Runnable Functions Provided by the Bus Manager
names of these task groups are derived from higher-level elements of the
related LIN TX frame as follows:
Overview of the The tasks, events, and runnable functions that are automatically generated when
preconfigured settings you configure bus communication with the Bus Manager provide the following
preconfigured settings:
§ The priority of each Bus Configuration task is specified. If required, you can
change the preconfigured priority. The higher the numerical value, the lower
the priority of the task.
§ The Transmit [<frame name>, <frame triggering ID>] tasks inherit the
priority of their related <LIN cluster name> task group. If required, you can
change the preconfigured priority of the task group.
§ The assignment of events and runnable functions to Bus Configuration
tasks takes place automatically when you add bus configurations to the
ConfigurationDesk application.
§ You can assign the runnable functions of a Bus Configuration task to
another periodic task. Changing the assignment can optimize the data
processing, for example, between a bus configuration and a mapped
behavior model. Refer to Changing the Assignment of Fetch and Deliver
Runnable Functions on page 368.
§ You can replace the timer event of a Bus Configuration task with a
synchronized timer event. When you do this, you can trigger the task
synchronously to a global time. Refer to Transmitting Bus Communication
of Bus Configurations Synchronously to a Global Time on page 185.
§ For the timer event of each Bus Configuration task, a period of 1 ms is
specified. If required, you can change the preconfigured period. You can also
specify an offset for the event.
You can also configure further settings for tasks via their configurable properties.
For more information, refer to Configuring Tasks in ConfigurationDesk
(ConfigurationDesk Real-Time Implementation Guide ).
However, some limitations apply for configuring task, events, and runnable
functions. Refer to Limitations for Bus Configuration Handling on page 531.
Events provided by the PDU When you add the PDU RX Interrupt feature to a CAN RX PDU, an I/O event is
RX Interrupt feature generated each time the PDU is received on the bus. For this I/O event, the bus
configuration provides an event port. To use the I/O event at run time, you have
to map the event port to a runnable function port of a behavior model. When
you do this, an asynchronous task is created and the I/O event and runnable
function are assigned to this task. This task is not included in the task group of
the bus configuration.
365
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Tasks, Events, and Runnable Functions Provided by the Bus Manager
For more information on the PDU RX Interrupt feature, refer to Triggering the
Execution of Functions in a Behavior Model via RX Interrupts on page 281.
Tasks, events, and runnable When you assign a CAN function block to a bus access request of a bus
functions of CAN function configuration, the CAN function block provides an asynchronous task with an
blocks assigned I/O event and a runnable function. The default name of the task is
CAN RX Task (<number>). If you use the PDU RX Interrupt feature, the task is
required to ensure that CAN messages are received by the real-time application
with a low latency. For this purpose, the task requires a high priority. Therefore,
the default priority of the task is 0, which is the highest priority.
Note
For more information on bus access requests, refer to Basics on Bus Access
Requests on page 155.
Further information For more information on tasks, events, runnable functions, and their effects
on executable applications, refer to Modeling Executable Applications and Tasks
(ConfigurationDesk Real-Time Implementation Guide ).
Fetch and Deliver Runnable Functions for Receiving and Transmitting PDUs
Execution in periodic task The fetch and deliver runnable functions are executed in a periodic task. The task
calls the runnable functions when it is triggered by its timer event. The period
366
ConfigurationDesk Bus Manager Implementation Guide May 2024
Fetch and Deliver Runnable Functions for Receiving and Transmitting PDUs
and offset that are specified for the timer event determine the interval in which
the task is triggered.
Timer event
Periodic task
calls
Fetch runnable function for The BusCfg_MainFunctionFetch [<bus configuration name>] runnable
receiving PDUs function is responsible for receiving PDUs. Each time the runnable function is
executed, the data of the RX PDUs that are assigned to the Simulated ECUs and
Inspection parts of the related bus configuration is updated with the data that is
received on the bus.
Deliver runnable function for The BusCfg_MainFunctionDeliver [<bus configuration name>] runnable
transmitting PDUs function is responsible for transmitting PDUs that are assigned to the Simulated
ECUs part of a bus configuration.
Tip
367
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Tasks, Events, and Runnable Functions Provided by the Bus Manager
Step Description
1 The transmission of a PDU is triggered, for example:
§ According to cyclic or event‑controlled timings that are specified in the communication matrix.
§ By a behavior model or experiment software, e.g., according to the PDU Trigger bus configuration feature.
2 The BusCfg_MainFunctionDeliver [<bus configuration name>] runnable function is called by the task to which it is
assigned. Now, the trigger for transmitting the PDU is evaluated and the required data is written to the PDU, such as ISignal
values, counter signal values, end-to-end protection information, etc.
There might be a delay between the trigger for transmitting the PDU and its evaluation by the deliver runnable function, for
example, due to the priority of the related task or an offset that is specified for the related timer event.
3 The PDU can be transmitted according to the specifications in the related communication matrix.
Depending on these specifications, the transmission might be delayed or the PDU is not transmitted at all, as shown in the
following examples:
§ The PDU is a contained IPDU and the transmission of its related container IPDU is not triggered yet.
§ The PDU has a LIN frame triggering and the transmission of the related LIN frame is not scheduled by the LIN master.
Tip
You can additionally prohibit the transmission of the PDU by using bus configuration features, such as the Bus
Configuration Enable, Communication Controller Enable, or PDU Enable feature.
Observing the bus load Moreover, the Bus Manager observes the bus
load when the BusCfg_MainFunctionDeliver [<bus configuration name>]
runnable function is executed:
§ If the transmission of too many PDUs is triggered in one sampling step, the
transmission of those PDUs that cannot be transmitted in the current sampling
step is shifted to the next sampling step.
§ To continuously optimize the bus load, subsequent timings such as cyclic
timings are calculated from the point in time when a PDU was actually
transmitted, not from the point in time when the transmission was initially
triggered. However, this applies only if the default timer event is used. With
a synchronized timer event, this behavior differs. Refer to Transmitting Bus
Communication of Bus Configurations Synchronously to a Global Time on
page 185.
For transmitting PDUs that are assigned to the Simulated ECUs part of a bus
configuration, some limitations apply. Refer to Limitations for Bus Configuration
Handling on page 531.
368
ConfigurationDesk Bus Manager Implementation Guide May 2024
Changing the Assignment of Fetch and Deliver Runnable Functions
Optimizing the data By default, the runnable functions that are provided by bus configurations and
processing when working behavior models are executed in different tasks. In some cases, this might result
with a behavior model in unfavorable data processing, e.g., concerning the timing behavior. To improve
the data processing, you can assign the runnable functions to the same task, as
shown in the following example.
Execution
Execution
Bus order
Bus
order
Time
Time
The data of the model is provided to the bus configuration after the The data of the model is provided to the bus
respective deliver runnable function was called. Thus, the transmission of configuration before the respective deliver runnable
the data is shifted to the next sampling step. function is called. Thus, the data is transmitted in
the current sampling step.
Changing the assignment You can assign the fetch and deliver runnable functions of a bus configuration
to any unlocked periodic task that is assigned to the same application process .
You can change the assignment of the runnable functions in the Task
Configuration table, which is available in the Tasks view set:
§ To remove the runnable functions from a Bus Configuration task, select the
task and clear the checkboxes of the Assigned runnable function property.
§ To assign the runnable functions to a periodic task, select the related task
and select the respective checkboxes of the Assigned runnable function
property.
369
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Tasks, Events, and Runnable Functions Provided by the Bus Manager
Tip
Points to note when changing To ensure correct run‑time behavior, note the following points when you change
the assignment the assignment of fetch and deliver runnable functions:
Aspects Description
Assignment to the It is recommended that you assign the fetch and deliver runnable functions of one bus configuration to the
same task same periodic task.
If you assign the runnable functions to different tasks, you must ensure that the related timer events specify
the same period.
Execution order Ensure that the execution order of the runnable functions matches your requirements. In most use
scenarios, it is required that the fetch runnable function is executed before its related deliver runnable
function.
You can specify the execution order using the Execution Order property of the runnable functions.
Tip
In the Executable Application table, you can specify the execution order by changing the order of
the runnable functions in the task using drag & drop.
370
ConfigurationDesk Bus Manager Implementation Guide May 2024
Changing the Assignment of Fetch and Deliver Runnable Functions
Aspects Description
Default settings of When you change the assignment of the fetch and deliver runnable functions, check whether the
the task and its timer default settings of the task, e.g., its priority, and of the related timer event, e.g., its period, match your
event requirements.
Remaining Bus You cannot delete a Bus Configuration task. However, when you remove the fetch and deliver runnable
Configuration task functions from the task, the task is ignored when you build a real‑time application or generate bus
simulation containers.
371
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Tasks, Events, and Runnable Functions Provided by the Bus Manager
372
ConfigurationDesk Bus Manager Implementation Guide May 2024
Generating Bus Simulation Containers
Introduction The Bus Manager lets you generate bus simulation containers (BSC files). Bus
simulation containers contain bus communication configured with the Bus
Manager and let you use it independently from the Bus Manager on various
dSPACE simulation platforms.
Fields of application for bus The main fields of application for bus simulation containers are:
simulation containers § Implementing bus communication in offline simulation applications
You can import bus simulation containers to VEOS . VEOS lets you assign the
bus communication to different communication clusters and implement it in
an offline simulation application to perform sIL simulation .
§ Implementing bus communication in real-time applications
You can add bus simulation containers as a model implementation to
ConfigurationDesk applications. ConfigurationDesk lets you specify the access
to real-time hardware and implement the bus communication in a real-
time application for dSPACE SCALEXIO, MicroAutoBox III, or MicroLabBox II
systems.
373
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Generating Bus Simulation Containers
Tip
Moreover, bus simulation containers let you handle the configured bus
communication independently of the ConfigurationDesk project. For example,
you can use bus simulation containers for the following:
§ To archive the configured bus communication.
§ To exchange the configured bus communication between different users.
Working with or without To generate bus simulation containers, you can work with or without behavior
behavior models models.
Compatible SIC files When you work with behavior models to generate bus simulation containers,
the respective SIC files must be generated with the Model Interface Package for
Simulink . You can use SIC files that were generated with the current Release
of the Model Interface Package for Simulink, or with one of the previous 6
Releases.
374
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Bus Simulation Containers (BSC Files)
Note
§ In principle, you can also use SIC files that are generated with versions
of the Model Interface Package for Simulink outside the supported range.
However, in this case a conflict and a warning message occur, informing
you that this is not officially supported and that you use the SIC file at
your own risk.
§ When generating SIC files, you have to specify the target architecture.
The specified target architecture must be compatible with the operating
system of your VEOS, SCALEXIO, MicroAutoBox III, or MicroLabBox II
system. Refer to Basics on Simulink Implementation Containers (Model
Interface Package for Simulink - Modeling Guide ).
Generating bus simulation You can generate bus simulation containers via one command. When you
containers start generating bus simulation containers, one BSC file is generated for each
application process that fulfills the following conditions:
§ The application process contains no or only one behavior model. If the
application process contains a behavior model, it must be a Simulink
implementation container.
§ The application process contains at least one bus configuration.
Note
During the generation of bus simulation containers, existing BSC files are
deleted from the Generated Containers folder without notice. If you want
to keep these BSC files, you have to store them in another folder before you
start the generation process.
The generated BSC files contain all the bus configurations that are part of
the related application processes, regardless of whether the bus configurations
are mapped to model ports of Simulink implementation containers. Only bus
configurations for which conflicts exist that abort the code generation are not
included in the BSC files. Refer to How to Generate Bus Simulation Containers
on page 379.
Modifying bus You cannot modify the bus communication that is included in a bus simulation
communication in bus container. If you want to do so (e.g., add ISignals to a bus configuration, specify
simulation containers bus configuration features etc.), you have to modify the bus configurations for
which you generated the bus simulation container. Then, you have to generate a
new bus simulation container.
Availability of bus access Bus access requests are included in the BSC files when you generate bus
requests in bus simulation simulation containers. To access bus channels, you have to assign the bus access
containers requests to bus accesses in VEOS or ConfigurationDesk as follows:
375
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Generating Bus Simulation Containers
Bus access requests in VEOS In VEOS, the bus access requests are available
as communication controllers, as shown in the following example of the VEOS
Player :
To specify the bus access, you have to connect the communication controllers to
communication clusters.
To specify the bus access, you have to map the Configuration ports to suitable
bus function blocks (CAN, LIN) and assign hardware resources to the bus
function blocks.
Port interface of bus Bus simulation containers provide a port interface that can include model
simulation containers ports of Simulink implementation containers and function ports of bus
configurations. Ports that are included in the port interface can be used in VEOS
and ConfigurationDesk. Refer to Port Interface of Bus Simulation Containers on
page 377.
Precompiling BSC files After you have generated bus simulation containers, you can precompile the
resulting BSC files using the ConfigurationDesk automation interface. Refer to
Creating Precompiled BSC Files (ConfigurationDesk Real-Time Implementation
Guide ).
Using bus communication in For bus communication that is configured via the Bus Manager, the paths of
offline simulation and real- variable descriptions are the same in offline simulation applications and real-time
time applications applications. This lets you, for example, use the same ControlDesk layouts for
offline simulation applications and real-time applications.
376
ConfigurationDesk Bus Manager Implementation Guide May 2024
Port Interface of Bus Simulation Containers
Limitations for working with When you work with bus simulation containers, some limitations apply. Refer to
bus simulation containers Limitations for Bus Simulation Containers on page 533.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Introduction Bus simulation containers that are generated with the Bus Manager provide
a port interface that can include model ports of Simulink® implementation
containers and function ports of bus configurations. Ports that are included in
the port interface can be used in VEOS and ConfigurationDesk.
In addition to the ports of the port interface, bus simulation containers provide
elements for accessing bus channels when you import BSC files to VEOS or
ConfigurationDesk. Refer to Availability of bus access requests in bus simulation
containers on page 375.
Ports included in the port Model ports and function ports are included in the port interface of bus
interface simulation containers if the following preconditions are fulfilled:
Preconditions for
Model Ports Function Ports
§ The model ports are part of a Simulink implementation container that is § The function ports are part of a bus
assigned to the application process for which a bus simulation container is configuration that is assigned to the application
generated. process for which a bus simulation container is
§ The model ports are not mapped to ports of a bus configuration, i.e., they generated.
are unmapped or mapped to ports of other ConfigurationDesk function § Model access is enabled for the function ports
blocks. but they are not mapped to model ports.
Tip
The port interface is not valid for event ports, i.e., event ports of bus
configurations are not included in the port interface, regardless of whether they
are mapped to runnable function ports.
377
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Generating Bus Simulation Containers
Note
Using ports of the port In VEOS, data inports, data outports, and function ports of the port interface
interface in VEOS are available as signals. For example, you can connect these signals to signals of
different plant models when you configure the bus communication, e.g., in the
VEOS Player.
Note
Runnable function ports are not available in VEOS and the related runnable
functions cannot be executed at run time. If you import a BSC file
that contains runnable function ports to VEOS, warning messages occur
in VEOS.
Using ports of of In ConfigurationDesk, the following model port blocks can be available:
the port interface in § Data port blocks
ConfigurationDesk These blocks are available for the data inports, data outports, and function
ports of the port interface.
§ Runnable Function blocks
These blocks are available for runnable function ports of the port interface.
378
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Generate Bus Simulation Containers
You can use the ports in the signal chain and map them to ConfigurationDesk
function blocks or model ports of other behavior models.
Note
Objective To use the bus communication you configured with the Bus Manager
independently from the Bus Manager, you can generate bus simulation container
(BSC) files.
Basics For basic information, refer to Basics on Bus Simulation Containers (BSC Files) on
page 373.
379
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Generating Bus Simulation Containers
Preconditions § The ConfigurationDesk application you want to generate the BSC files for is
active.
§ Bus communication is configured in one or more bus configurations.
§ If function ports of a bus configuration are mapped to model ports, the model
ports are part of exactly one Simulink® implementation container.
§ A separate application process is available for each Simulink implementation
container and no other model implementations are assigned to the
application process.
Tip
§ Conflicts of the Generate no code category must not exist for bus
configurations you want to include in the BSC files.
§ Conflicts of the Abort BSC file generation category must not exist for
application processes you want to generate the BSC files for.
Result The generation of BSC files starts and the Message Viewer provides information
on the generation progress. Each available application process is analyzed to
check whether its configuration is valid for generating a BSC file. For each
application process that passes the analysis, one BSC file is generated.
380
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Assign Behavior Models to Separate Application Processes
Note
If inconsistencies are detected during BSC file generation, you are informed
about them in the Message Viewer. Due to these inconsistencies, BSC file
generation might abort for the affected application processes.
The generated BSC files are displayed in the Project Manager below the
Generated Containers node of the active application.
Next steps You can import the generated BSC files to VEOS to implement the bus
communication in an offline simulation application. For more information, refer
to Basics on Integrating Bus Simulation Containers (BSCs) (VEOS Manual ).
381
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Generating Bus Simulation Containers
382
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Assign Behavior Models to Separate Application Processes
6 Repeat step 5 for all behavior models that are not assigned to application
processes.
Note
Next step You can now generate bus simulation containers. Refer to How to Generate Bus
Simulation Containers on page 379.
383
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Generating Bus Simulation Containers
384
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working Without Behavior Models
Introduction to application Application processes are structuring elements that contain tasks. Tasks are
processes and tasks pieces of code whose execution is controlled by the simulation platform, e.g.,
by the real-time operating system (RTOS). Tasks are required during the execution
of executable applications .
Creating application processes When you work without a behavior model, application processes are not created
when working without a automatically. Instead, you have to manually create application processes that
behavior model provide default tasks. The default tasks are required in addition to the tasks that
are created when you configure bus communication with the Bus Manager.
385
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working Without Behavior Models
Assigning bus configurations Each bus configuration must be assigned to one application process. When you
to application processes work without a behavior model, you can assign bus configurations to application
processes in the following ways:
§ Specify the access to real-time hardware
When you assign a bus access request of a bus configuration to a bus
access , the bus configuration is automatically assigned to the related
application process.
For information on assigning bus access requests to bus accesses, refer to
Specifying the Hardware Access on page 157. For a graphical overview of the
dependencies between application processes and real-time hardware, refer to
Terms and Definitions for Building Executable Applications (ConfigurationDesk
Real-Time Implementation Guide ).
§ Assign bus configurations to application processes manually.
You can manually assign each bus configuration to an available application
process. This lets you, for example:
§ Assign bus configurations to application processes if you work without real-
time hardware.
§ Change the assignment of a bus configuration to an application process.
If you do this while bus access requests of the bus configuration are
assigned to bus accesses, the related bus function blocks (CAN, LIN) are
assigned to the selected application process automatically. Depending on
the assigned hardware resources, conflicts might occur in this case. Refer to
Basics on Bus Manager-Related Conflicts on page 163.
Refer to How to Manually Assign Bus Configurations to Application Processes
on page 387.
Objective To work without a behavior model, you have to manually create application
processes that provide default tasks.
Basics For basic information, refer to Basics on Working Without Behavior Models on
page 385.
386
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Manually Assign Bus Configurations to Application Processes
Tip
Next step You can now assign bus configurations to the created application processes in
one of the following ways:
§ Assign bus access requests of bus configurations to bus accesses. Refer to How
to Specify the Hardware Access on page 344.
§ Assign bus configurations to application processes manually or change
the assignment. Refer to How to Manually Assign Bus Configurations to
Application Processes on page 387.
387
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working Without Behavior Models
Basics For basic information, refer to Basics on Working Without Behavior Models on
page 385.
Result You manually assigned bus configurations to the selected application processes.
The Assigned application processes property displays all the application
processes the related bus configuration is assigned to.
If bus access requests of the bus configuration are assigned to bus accesses ,
the related bus function blocks (CAN, LIN) are automatically assigned to the
selected application process as well. You can inspect the assignment via the
Executable Application table, for example.
388
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Manually Assign Bus Configurations to Application Processes
Tip
§ You can open the Executable Application table via Show Panes on the
View ribbon, for example.
§ In the example above, the CanBodyCluster (1) and LinDoorCluster (1)
function blocks are CAN and LIN function blocks that specify the bus
access for bus access requests of Bus Configuration (1).
Depending on the hardware resources that are assigned to the bus function
blocks, conflicts might occur. For example, this can happen if the bus function
blocks are now connected to multiple processing units due to a changed
application process assignment.
389
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working Without Behavior Models
390
ConfigurationDesk Bus Manager Implementation Guide May 2024
Modifying Communication Matrices
Introduction You can modify communication matrices within the active ConfigurationDesk
application. You can add user‑defined elements, specify user‑defined PDU
gateways, and specify user‑defined settings for configurable elements. For
example, this allows you to do the following:
§ Resolve conflicts in the active ConfigurationDesk application that result from
conflicting communication matrix settings.
§ Work with a preliminary version of a communication matrix.
391
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Overview Adding user-defined elements You can add the following user-defined
elements to a communication matrix:
§ ISignal IPDUs
Refer to Adding ISignal IPDUs to CAN Channels on page 396.
§ ISignals
Refer to Adding ISignals to CAN PDUs on page 397.
§ Cyclic timings
Refer to Adding Cyclic Timing Elements to IPDUs on page 399.
§ Event‑controlled timings
Refer to Adding Event‑Controlled Timing Elements to IPDUs on page 401.
392
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Modifying Communication Matrices
Effects of modifying General effects Modifying a communication matrix has the following effects:
communication matrices § When you add elements to a communication matrix, required related elements
are added automatically. For example, if you add an ISignal IPDU, related
elements such as a frame and a frame triggering are added as well.
§ When you specify user-defined settings for configurable elements, the changes
apply to the communication matrix element and all its instances. For example,
if you modify the length of a TX ISignal, the changes apply to both directions
of the ISignal (TX and RX), and all the ISignal instances in all bus configurations
of the active ConfigurationDesk application.
§ The modifications apply only to the communication matrix in the active
ConfigurationDesk application. The original communication matrix and
inactive applications remain unchanged.
Depending on the specifications in the communication matrix and/or the use of
modified elements in bus configurations, the changes might result in conflicting
settings. For more information, refer to Basics on Bus Manager-Related Conflicts
on page 163.
393
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Identifying modified You can identify modified communication matrix elements via the Properties
communication matrix Browser: Elements that were added or modified by the user have the Changes
elements to communication matrix property set to True.
Filter for modified You can filter the communication matrices of the active application for modified
communication matrix elements. The Filter for Changes to Communication Matrices is available via
elements the context menu of the Buses Browser and on the Home ribbon. When the
filter is active, the Buses Browser displays only the modified communication
matrix elements and their related higher-level elements.
Undo modifications You can undo the modifications of communication matrices. The Undo All
Changes command of the Home ribbon lets you undo all the modifications of
all the communication matrices of the active application. The Undo Changes
to Communication Matrix command of a selected element in the Properties
Browser lets you undo the modifications of only this element as follows:
§ If the element was added to the communication matrix, it is deleted from the
communication matrix, including the elements that were added automatically
(e.g., the frame of an added user-defined ISignal IPDU).
394
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Modifying Communication Matrices
Tip
For ISignal IPDUs and ISignals that were added to the communication
matrix, the command is also available in the Communication Matrices
by Clusters view of the Buses Browser.
§ If the selected element was not added but has user-defined settings, the
settings are reset to the default values, i.e, the original values specified in the
communication matrix or the system default values.
Moreover, you can remove individual source PDUs of user‑defined PDU gateways
from the related target PDU using the Remove User-Defined Gateway Source
PDU command. Refer to Removing user‑defined PDU gateways on page 406.
Restrictions for working You can work with a modified communication matrix only in the active
with modified communication ConfigurationDesk application. You cannot reuse the modifications in other
matrices ConfigurationDesk applications or transfer the changes to the original
communication matrix.
Tip
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Working with Communication Matrices.................................................................................... 92
References
395
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Introduction You can add ISignal IPDUs to CAN channels that are specified in a
communication matrix. For example, you can use these user-defined ISignal
IPDUs to configure ISignal IPDUs in bus configurations that are not available yet
in the current version of the communication matrix.
Conditions for adding ISignal For adding ISignal IPDUs to a communication matrix, the following conditions
IPDUs apply:
§ You can add ISignal IPDUs only to CAN channels.
§ You can add an ISignal IPDU to one CAN channel only, i.e., you cannot use an
added ISignal IPDU on multiple channels.
Adding ISignal IPDUs You can add TX and RX ISignal IPDUs via context menu when you select a
CAN channel in the Communication Matrices by Clusters view of the Buses
Browser, as shown in the following example.
Effects of adding ISignal When you add an ISignal IPDU, the following elements are added as well:
IPDUs § A PDU triggering
§ A cyclic timing including a time period and a time offset
§ A frame
§ A frame triggering
396
ConfigurationDesk Bus Manager Implementation Guide May 2024
Adding ISignals to CAN PDUs
The PDU and the related elements are added with default settings. You can
change some of these settings. For more information, refer to:
§ Configurable Settings of Frames on page 409
§ Configurable Settings of PDUs on page 414
Restrictions for adding ISignal You cannot add instances of an ISignal IPDU to a communication matrix. For
IPDUs example, you cannot add a TX instance and an RX instance of an ISignal IPDU to
a communication matrix. Instead, you must add two separate ISignal IPDUs, one
TX ISignal IPDU and one RX ISignal IPDU.
Introduction You can add ISignals to CAN PDUs. For example, you can use these user-
defined ISignals to configure ISignals in bus configurations that are not available
yet in the current version of the communication matrix.
Conditions for adding ISignals For adding ISignals to a communication matrix, the following conditions apply:
§ You can add ISignals to a PDU only if the PDU is exchanged via exactly one
communication cluster , which is a CAN cluster.
§ You can add ISignals only to PDUs that can contain ISignals. For example, you
can add ISignals to basic PDUs such as ISignal IPDUs or NMPDUs but not
to container IPDUs , multiplexed IPDUs , or secured IPDUs .
Adding ISignals You can add ISignals via context menu when you select a supported CAN PDU
in the Communication Matrices by Clusters view of the Buses Browser, as
shown in the following example.
397
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Effects of adding ISignals If multiple instances of a PDU are available in the communication matrix, ISignals
are added to all instances of the related PDU, regardless of the direction (TX or
RX). For example, if you add an ISignal to a TX PDU while an RX instance of
the PDU is available in the communication matrix as well, the ISignal is added to
both instances. The direction of the ISignal is adjusted automatically.
When you add an ISignal, the following elements are added as well:
§ The base data types for the coded and physical signal types
§ A linear computation method including a computation scale
§ An ISignal-to-IPDU mapping
The ISignal and the related elements are added with default settings. You can
change some of these settings. For more information, refer to Configurable
Settings of ISignals on page 427.
398
ConfigurationDesk Bus Manager Implementation Guide May 2024
Adding Cyclic Timing Elements to IPDUs
Introduction You can add cyclic timing elements to ISignal IPDUs and extended multiplexed
IPDUs . For example, you can use these user-defined cyclic timing elements to
specify a cyclic transmission of the related IPDU if it is not yet specified in the
current version of the communication matrix.
Conditions for adding cyclic For adding cyclic timing elements to an IPDU, the following conditions apply:
timing elements § You can add cyclic timing elements only to ISignal IPDUs and extended
multiplexed IPDUs.
§ You can add a cyclic timing element to an IPDU only if it is not available yet for
the IPDU.
§ You can add a missing cyclic timing element only if the available cyclic timing
elements are not grouped in the Properties Browser.
If the communication matrix specifies multiple cyclic timings for an IPDU, the
cyclic timing elements are grouped by default. To add missing elements in this
case, you have to ungroup the elements by selecting the intersection mode
in the Properties Browser.
Overview of the cyclic timing You can add the following cyclic timing elements to an ISignal IPDU or extended
elements multiplexed IPDU:
§ Cyclic Timing
If no cyclic transmission is specified yet for the IPDU, you can add the Cyclic
Timing element.
§ Time Offset
If a cyclic transmission but no time offset (delay time) is specified for the IPDU,
you can add the Time Offset element.
§ Time Period
If a cyclic transmission but no time period (cycle time) is specified for the IPDU,
you can add the Time Period element.
§ Minimum Delay
If a cyclic transmission but no minimum delay time is specified for the IPDU,
you can add the Minimum Delay element.
399
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Adding cyclic timing elements When you select an ISignal IPDU or extended multiplexed IPDU, for example, in
the Buses Browser, you can add a cyclic timing element on the General page of
the Properties Browser as follows:
§ You can add a missing Cyclic Timing element via context menu of the IPDU
node.
§ You can add a missing Time Offset, Time Period, or Minimum Delay
element via context menu of the Cyclic Timing node.
Effects of adding cyclic timing Involved IPDU instances If multiple instances of an IPDU are available, cyclic
elements timing elements are added to all instances of the related IPDU, regardless
of the direction (TX or RX) and the location (communication matrix or bus
configuration).
For example, if you add cyclic timing elements to a TX IPDU while TX and RX
instances of the IPDU are available in the communication matrix and/or in bus
configurations, the elements are added to all the instances of the IPDU, including
the RX instances and the instances in the bus configurations.
Added elements and their settings For the added elements and their
settings, the following applies:
§ When you add a Cyclic Timing element, a Time Offset and Time Period
element are added automatically. If the communication matrix specifies a
minimum delay time for the IPDU, a Minimum Delay element is added
automatically as well.
§ When you add a Time Offset or Time Period element, only the related
element is added.
§ When you add a Minimum Delay element, it is added to all Cyclic Timing
and Event‑Controlled Timing elements that are available for the IPDU.
400
ConfigurationDesk Bus Manager Implementation Guide May 2024
Adding Event-Controlled Timing Elements to IPDUs
§ The elements are added with default settings. You can change some of these
settings. For more information, refer to Configurable Settings of PDUs on
page 414.
Note
Tip
Restrictions for cyclic timing For cyclic timing elements, the following restrictions apply:
elements § For the Cyclic Timing element, the Time Period element is mandatory while
the Time Offset element is optional. If required, you can delete the Time
Offset element but you must not delete the Time Period element.
§ If the communication matrix specifies a minimum delay time for the IPDU, you
cannot delete the Minimum Delay element.
§ If the communication matrix does not specify a minimum delay time and you
delete the Minimum Delay element, it is deleted for all Cyclic Timing and
Event‑Controlled Timing elements.
Introduction You can add event‑controlled timing elements to ISignal IPDUs and
extended multiplexed IPDUs . For example, you can use these user-defined
event‑controlled timing elements to specify an event‑controlled transmission
of the related IPDU if it is not yet specified in the current version of the
communication matrix.
401
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Conditions for adding For adding event‑controlled timing elements to an IPDU, the following conditions
event‑controlled timing apply:
elements § You can add event‑controlled timing elements only to ISignal IPDUs and
extended multiplexed IPDUs.
§ You can add an event‑controlled timing element to an IPDU only if it is not
available yet for the IPDU.
§ You can add a missing event‑controlled timing element only if the available
event‑controlled timing elements are not grouped in the Properties Browser.
If the communication matrix specifies multiple event‑controlled timings for an
IPDU, the event‑controlled timing elements are grouped by default. To add
missing elements in this case, you have to ungroup the elements by selecting
the intersection mode in the Properties Browser.
Overview of the You can add the following event‑controlled timing elements to an ISignal IPDU or
event‑controlled timing extended multiplexed IPDU:
elements § Event‑Controlled Timing
If no event‑controlled transmission is specified yet for the IPDU, you can add
the Event‑Controlled Timing element.
§ Repetition Period
If an event‑controlled transmission but no repetition period is specified for the
IPDU, you can add the Repetition Period element.
§ Minimum Delay
If an event‑controlled transmission but no minimum delay time is specified for
the IPDU, you can add the Minimum Delay element.
Adding event‑controlled When you select an ISignal IPDU or extended multiplexed IPDU, for example,
timing elements in the Buses Browser, you can add an event‑controlled timing element on the
General page of the Properties Browser as follows:
§ You can add a missing Event‑Controlled Timing element via context menu of
the IPDU node.
402
ConfigurationDesk Bus Manager Implementation Guide May 2024
Adding Event-Controlled Timing Elements to IPDUs
§ You can add a missing Repetition Period or Minimum Delay element via
context menu of the Event‑Controlled Timing node.
Effects of adding Involved IPDU instances If multiple instances of an IPDU are available,
event‑controlled timing event‑controlled timing elements are added to all instances of the related IPDU,
elements regardless of the direction (TX or RX) and the location (communication matrix or
bus configuration).
For example, if you add event‑controlled timing elements to a TX IPDU while TX
and RX instances of the IPDU are available in the communication matrix and/or
in bus configurations, the elements are added to all the instances of the IPDU,
including the RX instances and the instances in the bus configurations.
Added elements and their settings For the added elements and their
settings, the following applies:
§ When you add an Event‑Controlled Timing element, a Repetition Period
and Minimum Delay element are added automatically.
§ When you add a Repetition Period element, only the related element is
added.
§ When you add a Minimum Delay element, it is added to all
Event‑Controlled Timing and Cyclic Timing elements that are available for
the IPDU.
§ The elements are added with default settings. You can change some of these
settings. For more information, refer to Configurable Settings of PDUs on
page 414.
Note
403
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Tip
Restrictions for For event‑controlled timing elements, the following restrictions apply:
event‑controlled timing § If the communication matrix specifies a minimum delay time for the IPDU, you
elements cannot delete the Minimum Delay element.
§ If the communication matrix does not specify a minimum delay time and you
delete the Minimum Delay element, it is deleted for all Event‑Controlled
Timing and Cyclic Timing elements.
Introduction The Bus Manager supports PDU gateways according to AUTOSAR. Refer to
Aspects of PDU Gateways on page 76.
Note
Conditions For specifying user‑defined PDU gateways, the following conditions apply:
§ You can specify PDU gateways between classic CAN, CAN FD, and LIN
communication clusters in any combination.
§ You can specify PDU gateways only for basic PDUs that are not configured
in any of the following ways:
§ Contained IPDU of a container IPDU
§ Static‑part or dynamic‑part IPDU of a multiplexed IPDU
§ Authentic IPDU of a non‑cryptographic secured IPDU
§ J1939-compliant IPDU
§ extended multiplexed IPDU
§ The source and target PDUs can be specified in the same or different
communication matrices.
404
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying User-Defined PDU Gateways (Preview Version)
Adding source PDUs to a You can specify a user‑defined PDU gateway by adding RX PDUs (source) to a TX
target PDU PDU (target). To do this, do the following:
1. Assign a TX PDU you want to use as the target PDU to the Simulated ECUs
part of a bus configuration.
2. Select the RX PDUs you want to use as the source PDUs in any
communication matrix in the Buses Browser.
3. Press and hold the Ctrl key.
To simulate a PDU gateway at run time, the source and target PDUs must be
assigned to the Simulated ECUs part of the same bus configuration. Moreover,
you have to enable the PDU gateway support for this bus configuration. Refer to
Simulating PDU Gateways (Preview Version) on page 148.
Effects of adding source PDUs When you add a user‑defined source PDU to a target PDU, the following applies:
to target PDUs
Tip
§ According to AUTOSAR, PDU gateways are specified per ECU. Therefore, the
source PDU is added to the target PDU only in the context of the ECU for
which the target PDU is assigned to the bus configuration. The source PDU is
not added to target PDU instances of other ECUs.
§ Target PDUs are always TX PDUs. Therefore, the source PDU is added only to
the TX instances of the target PDU in the respective ECU. The source PDU is
not added to RX instances of the target PDU.
§ The source PDU is added to the target PDU instances of all communication
clusters on which the respective ECU transmits the target PDU. This applies
405
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
regardless of whether the target PDU is configured for all of these clusters in
the bus configuration.
For example:
§ BodyControlEcu transmits CarLockControlIPdu on CanBodyCluster and
LinDoorCluster.
§ CarLockControlIPdu is assigned to Bus Configuration (1) in the context
of CanBodyCluster and to Bus Configuration (2) in the context of
LinDoorCluster.
§ GearboxInfoIPdu is added as the source PDU to CarLockControlIPdu in
Bus Configuration (1).
As a result, PDU gateways are set up for CanBodyCluster and
LinDoorCluster. However, only the PDU gateway on CanBodyCluster will
be simulated at run time because the source PDU is only assigned to Bus
Configuration (1).
§ The source PDU is added to the target PDU only in the context of that
communication cluster for which you select the source PDU in the Buses
Browser.
If a source PDU can be received on multiple communication clusters and you
want to set up PDU gateways for two or more of these clusters, you have to
add the source PDU in the context of each cluster to the target PDU.
§ Even though adding a source PDU to a target PDU takes place in a
bus configuration, the mapping of the source PDU to the target PDU is
independent from the bus configuration. For example, deleting the source
PDU from the bus configuration, deleting the bus configuration itself, or
assigning the target PDU to another bus configuration has no effect on the
mapping.
Removing user‑defined PDU You can remove user‑defined PDU gateways in one step using the Undo All
gateways Changes or Undo Changes to Communication Matrix commands. Refer to
Undo modifications on page 394.
406
ConfigurationDesk Bus Manager Implementation Guide May 2024
Specifying User-Defined PDU Gateways (Preview Version)
Moreover, you can remove individual user‑defined source PDUs from the related
target PDU. You can do this using the Remove User-Defined Gateway Source
PDU command, which is available on the context menu of the target PDU. The
command provides a submenu with all user‑defined source PDUs, as shown in
the following example.
Tip
To remove a specific source PDU, select it on the submenu. When you do this,
the following applies:
§ The source PDU is removed from the target PDU. With this, all PDU gateways
that are set up for this source PDU in the context of the respective
communication cluster and the target PDU are removed.
In the following example, CarLockControlIPdu is specified as source PDU
in the context of CanBodyCluster and LinDoorCluster. When you remove
CarLockControlIPdu in the context of CanBodyCluster, the PDU gateway in
the context of LinDoorCluster remains unchanged.
§ If the source PDU is assigned to the bus configuration, the assignment remains
unchanged.
407
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Note
You cannot remove a user‑defined source PDU from the target PDU by
deleting the source PDU from the bus configuration.
Restrictions You cannot specify user‑defined PDU gateways for container IPDUs ,
multiplexed IPDUs , or secured IPDUs .
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Tip
Accessing the configurable In the ConfigurationDesk application, you can access the configurable settings in
settings the following ways:
§ Select a communication cluster node in the Communication Matrices by
Clusters view of the Buses Browser or in the Bus Configurations table.
You can access the available baud rates on the General page of the
Properties Browser.
408
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of Frames
§ Select a PDU node in the Buses Browser or in one of the following tables:
§ Bus Configurations table
§ Bus Simulation Features table
§ Bus Inspection Features table
§ Bus Manipulation Features table
You can access the available baud rates of the related cluster on the Bus
Communication page of the Properties Browser. The specified baud rates
apply not only to the selected PDU, but to all PDUs of the cluster.
Specifying the baud rates The Properties Browser provides the following properties for specifying the
baud rates of communication clusters.
Baud rate Lets you specify the baud rate (in bit/s) that applies to all PDUs
of the cluster. The valid range depends on the cluster's bus protocol and the
hardware that is used for the bus communication.
Data phase baud rate Available only for CAN clusters. Lets you specify the
baud rate (in bit/s) that applies to the data phase of CAN FD frames. For more
information, refer to CAN FD protocol on page 77. The valid range depends on
the hardware that is used for the bus communication.
409
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Accessing the configurable In the ConfigurationDesk application, you can access the configurable settings of
settings a frame only when you select a PDU that is included in the frame. To access the
configurable settings, you can select a PDU in the Buses Browser or in one of
the following tables:
§ Bus Configurations table
§ Bus Simulation Features table
§ Bus Inspection Features table
§ Bus Manipulation Features table
For the selected PDU, the Bus Communication page of the Properties Browser
provides properties for configuring the payload length and the frame triggering
of the related frame. The configurable frame triggering properties differ for CAN
and LIN frames, as shown in the following illustrations:
§ Configurable properties available for CAN frames:
410
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of Frames
Tip
Even though you access the frame properties via a PDU, the specified settings
apply to the frame itself, i.e., if several PDUs are included in one frame (e.g., via a
container IPDU ), you have to configure the frame only for one of these PDUs.
The specified settings are automatically available for all the other PDUs that are
included in this frame.
Specifying the payload length When you select a PDU, the Bus Communication page of the Properties
of CAN and LIN frames Browser provides the following property for specifying the payload length of the
related frame.
Length Lets you specify the payload length of CAN and LIN frames in bytes.
The valid range depends on the bus system and bus protocol:
§ Classic CAN: 0 ... 8 bytes
§ CAN FD: 0 ... 64 bytes, whereby only the following values are valid according
to CAN FD: 0 … 8, 12, 16, 20, 24, 32, 48, and 64 bytes
§ LIN: 1 ... 8 bytes
Points to note regarding CAN FD:
§ The CAN FD value range is available only if all the frame triggerings that apply
to the frame support CAN FD.
§ If you specify an invalid payload length according to CAN FD, the Bus Manager
extends the payload length to the next valid CAN FD length by adding
padding bytes. The value of each padding byte is 255.
Tip
If you want to specify the frame length for individual CAN frame instances,
you can use the Frame Access or Frame Length bus configuration feature.
Refer to Accessing CAN Frame Settings on page 288 or Manipulating the
Payload Length of CAN Frames on page 295, respectively.
Specifying the frame When you select a CAN PDU, the Bus Communication page of the Properties
triggering of CAN frames Browser provides the following properties for specifying the frame triggering of
the related CAN frame.
Extended addressing Lets you specify whether the CAN frame uses a
standard identifier format (11-bit) or extended identifier format (29-bit):
§ True: Extended identifier format
§ False: Standard identifier format
411
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Identifier Lets you specify the identifier of the CAN frame in decimal format.
The identifier of a CAN frame arbitrates and prioritizes the frame. The valid value
range depends on the identifier format (specified via the Extended addressing
property):
§ Extended identifier format: valid Identifier range 0 … 536,870,911
§ Standard identifier format: valid Identifier range 0 … 2,047
When you specify the identifier in decimal format, Identifier (hex) is adjusted
accordingly.
Identifier (hex) Lets you specify the identifier of the CAN frame in
hexadecimal format. The identifier of a CAN frame arbitrates and prioritizes the
frame. The valid value range depends on the identifier format (specified via the
Extended addressing property):
§ Extended identifier format: valid Identifier (hex) range
0x0000 0000 … 0x1FFF FFFF
§ Standard identifier format: valid Identifier (hex) range
0x0000 0000 … 0x0000 07FF
When you specify the identifier in hexadecimal format, Identifier is adjusted
accordingly.
Tip
§ You can enter a decimal value. When you do this, the value is
automatically converted to a hexadecimal value.
§ The hexadecimal format of the identifier can help you specify an RX mask.
§ If you access this property via automation, its value is provided in decimal
format.
RX mask Lets you specify a mask for the identifier of the CAN frame. The
RX mask defines the relevant bits for a received identifier: A received identifier
must match only the relevant bits, the non‑relevant bits can differ. Therefore,
any received frame whose identifier matches the relevant bits is processed and is
accepted for receiving the related PDU.
Note
412
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of Frames
Tip
If you access this property via automation, its value is provided in decimal
format.
CAN FD frame support Lets you specify whether CAN FD is supported for
the frame:
§ True: CAN FD is supported for the frame, i.e, the payload length of the frame
can be up to 64 bytes and the data phase of the frame can be transmitted
with a higher bit rate. For more information, refer to CAN FD protocol on
page 77.
§ False: CAN FD is not supported for the frame, i.e., the frame is treated as a
classic CAN frame.
Bit rate switch Lets you specify the bit rate used to transmit the data phase
of the frame. The specified setting applies only to CAN FD frames. It has no
effects on classic CAN frames. You can select one of the following values:
§ True: The data phase of the frame is transmitted with the bit rate that
is specified for the Data phase baud rate property of the related CAN
communication cluster.
§ False: The data phase of the frame is transmitted with the bit rate that
is specified for the Baud rate property of the related CAN communication
cluster.
The baud rate properties of communication clusters can be configured. For
more information, refer to Configurable Settings of Communication Clusters on
page 408.
Tip
If you want to specify the frame triggering for individual CAN frame
instances, you can use the Frame Access bus configuration feature. Refer
to Accessing CAN Frame Settings on page 288.
Specifying the frame When you select a LIN PDU, the Bus Communication page of the Properties
triggering of LIN frames Browser provides the following properties for specifying the frame triggering of
the related LIN frame.
Identifier Lets you specify the identifier value (ID) of the LIN frame in decimal
format. The identifier is part of the protected identifier (PID) of a LIN frame
header and assigns the header to a frame response. You can specify an ID in
the range 0 … 63. The specified ID must be unique for each LIN frame that the
communication matrix assigns to the same LIN channel.
According to the LIN specifications, the ID determines the frame type as follows:
§ ID 0 … 59: Data-carrying frame (e.g., unconditional frame or event-triggered
frame)
§ ID 60: Diagnostic frame (master request frame)
§ ID 61: Diagnostic frame (slave response frame)
413
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Identifier (hex) Lets you specify the identifier value (ID) of the LIN frame in
hexadecimal format. The identifier is part of the protected identifier (PID) of a LIN
frame header and assigns the header to a frame response. You can specify an ID
in the range 0x00 … 0x3F. The specified ID must be unique for each LIN frame
that the communication matrix assigns to the same LIN channel.
According to the LIN specifications, the ID determines the frame type as follows:
§ ID 0x00 … 0x3B: Data-carrying frame (e.g., unconditional frame or event-
triggered frame)
§ ID 0x3C: Diagnostic frame (master request frame)
§ ID 0x3D: Diagnostic frame (slave response frame)
§ ID 0x3E: Reserved for OEM-specific LIN communication
§ ID 0x3F: Reserved for future use
When you specify the identifier in hexadecimal format, Identifier is adjusted
accordingly.
Tip
§ You can enter a decimal value. When you do this, the value is
automatically converted to a hexadecimal value.
§ If you access this property via automation, its value is provided in decimal
format.
Checksum type Lets you specify the checksum type of the LIN frame. The
checksum is part of the frame response and validates the frame response. You
can select one of the following values:
§ Classic: Only the data bytes of a LIN frame are used to calculate the checksum.
§ Enhanced: The data bytes and the protected identifier (PID) byte are used to
calculate the checksum.
414
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of PDUs
Configuring these settings affects the related PDU independently from its
direction, i.e., changes you make for TX instances of a PDU affect its RX
instances as well and vice versa.
Accessing the configurable In the ConfigurationDesk application, you can access most of the configurable
settings settings when you select a PDU in the Buses Browser or in one of the following
tables:
§ Bus Configurations table
§ Bus Simulation Features table
§ Bus Inspection Features table
§ Bus Manipulation Features table
The General page of the Properties Browser provides properties for accessing
the configurable settings, as shown in the following examples. Depending on the
specifications in the communication matrix, not all of the displayed properties are
available for a selected PDU.
415
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Tip
You can also configure the name, payload length, time period, and time
offset in the Name, Length, Time Period, and Time Offset columns of the
previously listed tables. If a column is not available, you can add it via the
Column Chooser. Refer to Bus Configuration Tables on page 103.
However, you cannot access the property that lets you configure the initial
dynamic part of a multiplexed IPDU when you select the IPDU in the Buses
Browser. Instead, you have to select the multiplexed IPDU in one of the
tables. When you do this, the Multiplexed Part IPDUs page is available in the
Properties Browser. This page provides the related property.
416
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of PDUs
Specifying the name of user- When you select a user-defined ISignal IPDU, the General page of the
defined ISignal IPDUs Properties Browser provides the following property for specifying the PDU's
name.
Name Lets you specify the name of a user-defined ISignal IPDU. The name
can have a maximum length of 128 characters and must be unique for all
PDUs of the same ECU and direction (TX or RX). It is recommended to use only
alphabetic and numeric ASCII characters and underscores for the name. For more
information, refer to Limitations for element names on page 531.
When you specify the name, the names of the related frame and frame
triggering are adjusted accordingly. For more information, refer to Adding ISignal
IPDUs to CAN Channels on page 396.
Specifying the payload length When you select a PDU, the General page of the Properties Browser provides
of PDUs the following property for specifying the PDU's payload length.
Length Lets you specify the payload length of the PDU in bytes. The valid
range depends on the bus system and bus protocol as follows:
§ Classic CAN and LIN: 0 … 8 bytes
§ CAN FD: 0 … 64 bytes
§ J1939‑21: 0 … 1,785 bytes
§ J1939‑22:
§ Peer‑to‑peer communication (i.e., Destination address set to 0 … 253 and
Broadcast set to False): 0 … 60 bytes
§ Broadcast communication (i.e., Destination address set to 255 and/or
Broadcast set to True): 0 … 15,352 bytes
However, the CAN FD value range is available only if CAN FD is supported by all
the frames in which the PDU is included, i.e.:
§ If the PDU is included in CAN and LIN frames, the CAN FD value range is not
available. This applies even if all the CAN frames support CAN FD.
§ If the PDU is included only in CAN frames, all the frame triggerings of all the
frames must support CAN FD. You can specify the CAN FD support. Refer to
Configurable Settings of Frames on page 409.
Moreover, the valid maximum payload length depends on various factors, for
example:
§ The usable payload length of the related frame.
§ The usable payload length of a related multiplexed IPDU or container IPDU.
§ Whether assurance data is included in a J1939‑22‑compliant IPDU that is used
for broadcast communication.
417
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Tip
If you specify a payload length that is invalid in the context in which the
PDU is used, conflicts occur. The conflicts can help you specify a valid
payload length for the specific context. Refer to Basics on Bus Manager-
Related Conflicts on page 163.
If you modify the PDU length while a related Raw Data function port of the PDU
Raw Data feature exists, the function port is affected in the following ways:
§ The data width of the function port depends on the PDU length. Therefore,
the function port's data width adjusts to the modified PDU length.
§ The data width determines the vector size of the function port's Initial value
and Initial substitute value properties. This has the following effects on the
specified values:
§ If the data width is reduced, the vector size of both properties reduces
accordingly. The vector elements are deleted from right to left and the
values specified for these elements are lost, as shown in the following
example.
§ If the data width is increased, the vector size of both properties increases
accordingly. The new vector elements are added to the right of the existing
vector elements. The default value of the new vector elements is 0.
For more information on Raw Data function ports and the PDU Raw Data
feature, refer to Accessing the Payload of PDUs in Raw Data Format on
page 240.
Specifying bit patterns for To prevent unintended behavior, unused PDU bits are filled with a specific bit
unused PDU bits pattern. AUTOSAR-compliant communication matrices can specify a bit pattern
for ISignal IPDUs , multiplexed IPDUs , secured IPDUs , container IPDUs ,
and NMPDUs for this purpose. If a communication matrix does not specify
a bit pattern for a PDU (e.g., because the communication matrix does not
comply with AUTOSAR), the Bus Manager uses a default bit pattern: For
J1939‑compliant IPDUs, the default bit pattern is 255. For all other PDUs, the
default bit pattern is 0.
For basic PDUs , multiplexed IPDUs, secured IPDUs, and container IPDUs with
static container layout, you can specify a user-defined bit pattern on the General
page of the Properties Browser via the following property.
Unused bit pattern Lets you specify a bit pattern for the selected PDU in the
range 0 … 255.
418
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of PDUs
Tip
For container IPDUs with a dynamic container layout, the Bus Manager
uses a specified unused bit pattern as the value of padding bytes, which
are added to the related frame if the frame length is invalid according to
CAN FD. Refer to CAN FD protocol on page 77.
Specifying cyclic transmission ISignal IPDUs and extended multiplexed IPDUs can provide Cyclic Timing,
for IPDUs Time Period, Time Offset, and Minimum Delay elements, which let
you specify cyclic transmission: You can add missing elements and specify
user‑defined settings for configurable properties.
Note
Two Cyclic Timing elements might be available, one for each transmission
mode (True and False). In this case, the Bus Manager only uses the cyclic
timing of the True transmission mode, the cyclic timing of the False
transmission mode is ignored. Changes you make to the cyclic timing of the
False transmission mode have no effects at run time. Refer to Limitations
for Communication Matrices and Communication Standards on page 519.
Tip
When you select an ISignal IPDUs or extended multiplexed IPDU, the General
page of the Properties Browser can provide the following properties for
specifying the cyclic transmission of the IPDU.
Value (Time Period) If the Time Period element is available, its Value
property lets you specify a time period for the cyclic transmission of the selected
IPDU. The IPDU is transmitted cyclically according to the specified time period
(cycle time). You can specify a time period in the range 0 … 3,600 seconds.
Tip
If you specify the time period in the Time Period column, which is available
for bus configuration tables, the specified value automatically applies to the
cyclic timing that is used by the Bus Manager. The Transmission Mode
(Cyclic Timing) column displays the transmission mode of the used cyclic
timing.
419
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Value (Time Offset) If the Time Offset element is available, its Value
property lets you specify a time offset for the cyclic transmission of the selected
IPDU. The cyclic transmission of the IPDU is delayed according to the specified
time offset (delay time). You can specify a time offset in the range 0 …
3,600 seconds.
Tip
If you specify the time offset in the Time Offset column, which is available
for bus configuration tables, the specified value automatically applies to the
cyclic timing that is used by the Bus Manager. The Transmission Mode
(Cyclic Timing) column displays the transmission mode of the used cyclic
timing.
Tip
If you want to specify cyclic transmission for individual IPDU instances, you
can use the PDU Cyclic Timing Control feature. Refer to Controlling the
Cyclic Timing of CAN PDUs on page 243.
Specifying event‑controlled ISignal IPDUs and extended multiplexed IPDUs can provide
transmission for IPDUs Event‑Controlled Timing, Repetition Period, and Minimum Delay elements,
which let you specify event‑controlled transmission. You can add missing
elements and specify user‑defined settings for configurable properties.
420
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of PDUs
Note
Tip
When you select an ISignal IPDU or extended multiplexed IPDU, the General
page of the Properties Browser can provide the following properties for
specifying the event‑controlled transmission of the IPDU.
Tip
421
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Specifying the initial dynamic When you select a multiplexed IPDU in a bus configuration, e.g., in the Bus
part for multiplexed IPDUs Configurations table, the Multiplexed Part IPDUs page is available in the
Properties Browser. This page provides the following property for specifying
the initial dynamic‑part IPDU.
Initial dynamic‑part IPDU Lets you specify the initial dynamic‑part IPDU for
the multiplexed IPDU. You can select an IPDU that is specified as a dynamic‑part
alternative from the list. By default, the IPDU that the communication matrix
specifies as the initial dynamic‑part IPDU is selected. When you change the
default selection, the value of the Is initial dynamic part property of all
dynamic‑part IPDUs is adjusted accordingly.
Note
You can select an IPDU from the list regardless of whether it is assigned to
the bus configuration.
Tip
Specifying the collection For contained IPDUs and J1939‑22‑compliant IPDUs, you can specify the
semantics, timeout value, and collection semantics, a timeout value, and the trigger condition. Depending on
trigger condition the selected IPDU, the Properties Browser provides the related properties on
the following pages:
§ Contained IPDU: General page
§ J1939‑22‑compliant IPDU: Bus Communication page
Note
422
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of PDUs
However, for the queued semantics, the Bus Manager displays only the last
received instance of the contained IPDU or J1939‑22‑compliant IPDU.
Timeout Lets you specify a timeout value in the range 0 … 65,535 seconds.
The timeout value applies only if Trigger is set to NEVER for the related IPDU. If
this is the case, the effects of the timeout value depend on the specific IPDU:
IPDU Effect
Contained IPDU The specified value can reduce the timeout of the related container IPDU. The timeout of the container
IPDU starts when the first contained IPDU is added to the container IPDU. When the shortest timeout
ends (i.e., container timeout or timeout of a contained IPDU), the transmission of the container IPDU is
triggered.
If the timeout value is unspecified or 0, it has no effect on the timeout of the container IPDU. To trigger
the transmission of the container IPDU according to a timeout, the container IPDU or at least one of its
contained IPDUs must have a timeout value > 0 specified.
J1939‑22‑compliant The specified value determines the transmission of the related frame. The timeout starts when the
IPDU (Multi‑PG IPDU is added to the frame. When the timeout ends, the transmission of the frame is triggered. If
protocol) multiple J1939‑22‑compliant IPDUs are added to the frame, the shortest timeout value determines the
transmission.
If the timeout value is unspecified or 0, the transmission of the frame is not triggered. To trigger the
transmission of the frame according to a timeout, another J1939‑22‑compliant IPDU that is included in
the frame must have a timeout value > 0 specified.
Specifying the type of service, When you select a J1939‑22‑compliant IPDU, the Bus Communication page of
trailer format, assurance data the Properties Browser provides the following properties for specifying the type
type, and assurance data size of service, trailer format, assurance data type, and assurance data size:
423
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Type of service Lets you specify the type of service (TOS) for
J1939‑22‑compliant IPDUs in the range 0 … 7.
Note
According to the SAE J1939‑22 specification, the specified value determines the
structure and the type of the content of the C‑PG as follows:
Value Description
0 The C‑PG is used for padding unused bytes of the CAN FD frame to a valid CAN FD length. In this case, the layout of the
C‑PG is the following:
§ The header consists of maximum 3 bytes, the payload length (PL) segment is not available. Depending on the required
number of padding bytes, the header can also be shorter.
§ The maximum total length, i.e., header and payload, is limited to 15 bytes.
For more information on padding CAN FD frames according to the Multi‑PG protocol, refer to Transmitting IPDUs using the
Multi‑PG protocol on page 84.
1 The C‑PG contains manufacturer‑specific assurance data.
2 The C‑PG contains optional assurance data specified by SAE.
3 … 7 Reserved for future use according to the J1939 standard.
Trailer format Lets you specify the trailer format (TF) for J1939‑22‑compliant
IPDUs in the range 0 … 7.
Note
The trailer format is required to specify the type of the assurance data that is
used with the C‑PG. However, according to the SAE J1939‑22 specification, the
[type of service (TOS), trailer format (TF)] tuple is required to
specify the specific assurance data type. Using this tuple, the specific assurance
data type is specified as follows:
424
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of ISignal Groups
Assurance data type Lets you specify the assurance data type (AD Type) for
J1939‑22‑compliant IPDUs.
Note
The assurance data type applies only to J1939‑22‑compliant IPDUs that are
transmitted using the Broadcast Announce Message (BAM) protocol. For
more information, refer to Aspects of the J1939 Protocol on page 80.
Value Description
No assurance data The IPDU contains no assurance data.
Cybersecurity (manufacturer‑specific) The IPDU contains cybersecurity assurance data (manufacturer‑specific).
Functional safety (manufacturer‑specific) The IPDU contains functional safety assurance data (manufacturer‑specific).
Cybersecurity and functional safety The IPDU contains cybersecurity assurance data followed by functional safety
(manufacturer‑specific) assurance data (manufacturer‑specific).
Assurance data size Lets you specify the assurance data size (AD Size) for
J1939‑22‑compliant IPDUs in the range 0 … 52 bytes. The specified value
determines how many bytes of the IPDU's payload length are used by the
assurance data.
Note
The assurance data type applies only to J1939‑22‑compliant IPDUs that are
transmitted using the Broadcast Announce Message (BAM) protocol. For
more information, refer to Aspects of the J1939 Protocol on page 80.
Overview You can specify user-defined settings for the transfer property of ISignal groups.
Configuring the setting affects the related ISignal group independently from its
direction, i.e., changes you make for TX instances of an ISignal group affect its
RX instances as well and vice versa.
425
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Accessing the configurable In the ConfigurationDesk application, you can access the configurable setting in
setting the Properties Browser when you select an ISignal group in the Buses Browser
or in the Bus Configurations table.
Specifying user-defined The Properties Browser provides the following property for specifying user-
settings for ISignal groups defined settings for the ISignal‑to‑IPDU mapping of ISignal groups.
Transfer property Lets you specify the transfer property of the ISignal group.
If the Use transfer property property of the bus configuration is set to True,
the setting of the transfer property determines if and how the ISignal group can
trigger the transmission of the PDU in which it is included. For more information,
refer to Using Event‑Controlled Timings for Transmitting PDUs on page 136.
You can specify the transfer property as follows:
Value Description
<empty The ISignal group does not trigger the transmission of the PDU.
value> Nevertheless, ISignals that are included in the ISignal group can trigger
Pending the transmission of the PDU according to the setting of their transfer
property.
Triggered The ISignal group triggers the transmission of the PDU with repetitions if
with all of the following applies:
repetition § The coded value of an included ISignal has changed.
Triggered on § The transfer property of this ISignal is unspecified.
change with However, transmission with repetitions is possible only if an
repetition event‑controlled timing is specified for the PDU. If no event‑controlled
timing is specified, the ISignal group triggers only a single transmission.
Triggered The ISignal group triggers a single transmission of the PDU if all of the
without following applies:
repetition § The coded value of an included ISignal has changed.
Triggered on § The transfer property of this ISignal is unspecified.
change
without
repetition
Concerning the evaluation of the transfer property, some limitations apply. Refer
to Limitations for transmitting PDUs according to event‑controlled timings on
page 520.
426
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of ISignals
Configuring these settings affects the related ISignal independently from its
direction, i.e., changes you make for TX instances of an ISignal affect its RX
instances as well and vice versa.
Accessing the configurable In the ConfigurationDesk application, you can access the configurable settings
settings when you select an ISignal in the Buses Browser or in one of the following
tables:
§ Bus Configurations table
§ Bus Simulation Features table
§ Bus Inspection Features table
§ Bus Manipulation Features table
The General page of the Properties Browser provides properties for accessing
the configurable settings, as shown in the following examples. Depending on the
specifications in the communication matrix, not all of the displayed properties are
available for a selected ISignal.
427
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Tip
You can also configure the name, signal length, and initial value in the
Name , Length, and Initial Value columns of the previously listed tables.
Moreover, you can configure the endianness in the Endianness column of
the Bus Configurations table. If a column is not available, you can add it
via the Column Chooser. Refer to Bus Configuration Tables on page 103.
Specifying user-defined The Properties Browser provides the following properties for specifying user-
settings for ISignals defined settings for ISignals.
Name Available only for user-defined ISignals. Lets you specify the name of
a user-defined ISignal. The name can have a maximum length of 128 characters
and must be unique for all ISignals and ISignal groups of the same PDU.
It is recommended to use only alphabetic and numeric ASCII characters and
underscores for the name. For more information, refer to Limitations for element
names on page 531.
When you specify the name, the names of the related computation method
and the ISignal-to-IPDU mapping are adjusted accordingly. For more information,
refer to Adding ISignals to CAN PDUs on page 397.
428
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of ISignals
Initial value Lets you specify the coded initial signal value:
The ISignal's initial value and the initial value of Value function ports of the
ISignal Value feature influence each other:
§ When you add the ISignal Value feature to an ISignal, the ISignal's initial
value is used as the initial value of the Value function port. If the ISignal's initial
value exceeds the valid range of the function port's initial value, the function
port's initial value is automatically saturated to the next valid value.
Tip
The valid range of the function port's initial value depends on the
specified physical base data type of the ISignal.
§ If you change the ISignal's initial value while a related Value function port
already exists, the function port's initial value is not updated.
§ If the ISignal's and function port's initial values differ, the function port's initial
value is used at run time.
429
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
For more information on the Value function port of the ISignal Value feature,
refer to Working with ISignal Values on page 221.
Base data type (Coded Type) Lets you specify the base data type for the
coded signal value. For an introduction to coded and physical signal values, refer
to Signal Conversion by the Bus Manager on page 60.
The valid values depend on the signal type:
§ Standard ISignals (i.e., ISignals with Category set to
STANDARD_LENGTH_TYPE): For an overview of the valid values, refer to
Supported signal data types on page 59.
§ Array signals (i.e., ISignals with Category set to ARRAY_TYPE): The coded
base data type must be UInt8.
The specified coded base data type determines the valid initial value and length
range of the ISignal:
§ If required, the specified initial value is automatically saturated to the next valid
value when you change the data type.
§ If required, you must adapt the signal length manually when you change the
data type. Refer to Length on page 428.
Additionally, the coded base data type affects settings of the Counter Signal
feature. If you change the coded base data type while the Counter Signal
feature is already added to instances of the ISignal, you might have to adapt
counter settings. Refer to Working with Counter Signals on page 223.
Category (Coded Type) Lets you specify the category of the ISignal, i.e., the
signal type:
Value Description
STANDARD_LENGTH_TYPE The ISignal is a standard ISignal, i.e., a scalar.
ARRAY_TYPE The ISignal is an array signal, i.e., a vector. The number of
vector elements is derived from the specified signal length.
This type is available only if the coded base data type is
UInt8.
The specified category determines the valid length range of the ISignal. If
required, you must adapt the signal length manually when you change the
category. Refer to Length on page 428.
Base data type (Physical Type) Lets you specify the base data type for the
physical signal value. For an overview of the valid values, refer to Supported
signal data types on page 59. For an introduction to coded and physical signal
values, refer to Signal Conversion by the Bus Manager on page 60.
The physical base data type influences the ISignal as follows:
§ It determines if you can add the Counter Signal and ISignal Offset Value
features to instances of the ISignal. For the Counter Signal feature, the
physical base data type additionally influences some counter settings.
§ For the function ports of the ISignal Value, ISignal Overwrite Value, and
ISignal Offset Value features, the physical base data type determines:
§ The data type and the value range of the function ports.
§ The saturation range (if available)
If you change the physical base data type while the bus configuration features
are already added to instances of the ISignal, the relevant properties are
430
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of ISignals
Specifying user-defined Depending on the specifications in the communication matrix, the Properties
settings for computation Browser provides access to the computation methods and the computation
scales scales of ISignals. For ISignals with a computation method whose Interpreted
category is set to LINEAR, the Properties Browser provides the following
properties for specifying user-defined settings for the computation scale.
Specifying user-defined The Properties Browser provides the following properties for specifying user-
settings for ISignal-to-IPDU defined settings for the ISignal-to-IPDU mapping of ISignals.
mappings
Start bit position Lets you specify the position of the ISignal's start bit within
the related ISignal IPDU. The value is the number of the related bit in the payload
of the ISignal IPDU.
You must specify a start bit position ≥ 0. The valid maximum start bit position
depends on various factors, for example:
§ The usable payload length of the related ISignal IPDU.
§ The ISignal length.
§ The endianness of the ISignal.
Tip
If you specify a start bit position that is invalid in the context in which the
ISignal is used, conflicts occur. The conflicts can help you specify a valid start
bit position for the specific context. Refer to Basics on Bus Manager-Related
Conflicts on page 163.
431
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
Endianness Lets you specify the endianness, i.e., the byte order of the ISignal
within the related ISignal IPDU and the ISignal's start bit:
Value Description
Little endian The least significant byte of the ISignal is stored first and the least
significant bit is the start bit.
Big endian The most significant byte of the ISignal is stored first and the most
significant bit is the start bit.
Opaque The byte order is similar to the Little endian format.
The following illustration shows the different layouts resulting from a Little
endian and Big endian endianness for an ISignal with 10 bits and a start bit
position of 3.
For array signals (i.e., ISignals with Category set to ARRAY_TYPE), only Little
endian and Opaque are supported as the endianness.
Transfer property Lets you specify the transfer property of the ISignal.
If the Use transfer property property of the bus configuration is set to True,
the setting of the transfer property determines if and how the ISignal can trigger
the transmission of the PDU in which it is included. For more information, refer
to Using Event‑Controlled Timings for Transmitting PDUs on page 136.
You can specify the transfer property as follows:
Value Description
<empty value> The ISignal does not trigger the transmission of the PDU.
Pending
Tip
Triggered with The ISignal triggers the transmission of the PDU with repetitions when
repetition the coded signal value has changed.
Triggered on However, transmission with repetitions is possible only if an
change with event‑controlled timing is specified for the PDU. If no event‑controlled
repetition timing is specified, the ISignal triggers only a single transmission.
Triggered The ISignal triggers a single transmission of the PDU when the coded
without signal value has changed.
repetition
Triggered on
change
without
repetition
432
ConfigurationDesk Bus Manager Implementation Guide May 2024
Configurable Settings of ISignals
Concerning the evaluation of the transfer property, some limitations apply. Refer
to Limitations for transmitting PDUs according to event‑controlled timings on
page 520.
433
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Modifying Communication Matrices
434
ConfigurationDesk Bus Manager Implementation Guide May 2024
Replacing Assigned Communication Matrices
Use scenario Communication matrices are often subject to change. To adjust a bus
configuration to a communication matrix that was modified externally from
ConfigurationDesk, you can replace an assigned communication matrix with the
modified communication matrix.
General replacing rules You can replace a communication matrix only with a communication matrix that
is not already assigned to the related bus configuration. When you replace a
communication matrix, this affects the following:
§ Only the communication matrix elements that are assigned to the selected bus
configuration.
Elements of other communication matrices that are assigned to the bus
configuration and other bus configurations remain unchanged.
§ All bus configuration parts (Bus Access Requests, Simulated ECUs,
Inspection, Manipulation) of the selected bus configuration that contain
elements of the communication matrix, regardless for which part you replace
the matrix.
When you replace a currently assigned communication matrix, the Bus Manager
compares the assigned elements of this communication matrix with the elements
specified in the newly assigned communication matrix. Elements that can
unambiguously be identified are replaced, all the other elements are either left
unchanged or ignored.
435
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Replacing Assigned Communication Matrices
Due to the changes between the replaced and newly assigned communication
matrix, the replacement might result in conflicting bus configurations. The
conflicts are displayed in the Conflicts Viewer. For more information, refer to
Basics on Bus Manager-Related Conflicts on page 163.
Replacing elements in a bus Conditions for replacing elements The Bus Manager compares the names
configuration and the position in the bus hierarchy of the currently assigned elements with
the newly assigned communication matrix. The currently assigned elements are
replaced if:
§ The elements are found in both the bus configuration and the newly assigned
communication matrix.
§ The following definitions match:
§ Communication cluster (not compared for elements of DBC and LDF
communication matrices)
§ ECU (only compared for communication matrix elements that are assigned
to the Simulated ECUs part)
§ Frame
§ Channel
§ Direction (only compared for TX and RX elements, such as PDUs or ISignals)
§ Element name (e.g., PDU name, ISignal name)
Leaving elements in a bus Elements of the replaced communication matrix that are assigned to the
configuration unchanged bus configuration but cannot unambiguously be identified in the newly
assigned communication matrix remain unchanged. They are moved to a new
communication matrix node named <communication matrix node name>
(deprecated <number>).
The elements of the deprecated node are still part of the bus configuration
and are used in the signal chain with their previously configured settings (e.g.,
436
ConfigurationDesk Bus Manager Implementation Guide May 2024
Basics on Replacing Assigned Communication Matrices
Ignoring elements of Elements of the newly assigned communication matrix that are not found in the
the newly assigned bus configuration are ignored and not assigned to the bus configuration. For
communication matrix example, if an ISignal IPDU of the replaced communication matrix is assigned to
the bus configuration and the newly assigned communication matrix defines
new ISignals or frame triggerings for this IPDU, the new elements are not
assigned to the bus configuration. If you want to use the new elements, you
have to assign them manually.
Note
Effects on the name of When you replace an assigned communication matrix in a bus configuration, the
communication matrix nodes name of the communication matrix node remains unchanged. Therefore, the bus
configuration structure remains unchanged regarding the communication matrix
nodes. If you work with test automation scripts later on, for example, you do not
have to adjust the scripts.
Tip
If you work with DBC or LDF communication matrices, the same applies
to the name of the communication cluster node, which is available for
elements that are assigned to the Inspection or Manipulation part of the
bus configuration.
For details on node names, refer to Element identification via node names on
page 102.
Effects on the model interface Model port blocks that are mapped to the bus configuration are not updated
automatically. You must update the model interface (e.g., delete obsolete model
port blocks or add new model port blocks).
437
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Replacing Assigned Communication Matrices
Tip
Limitations When you replace an assigned communication matrix, some limitations apply.
Refer to Limitations for Bus Configuration Handling on page 531.
Accessing Bus Manager Features via the ConfigurationDesk Automation Interface.................. 152
Tip
438
ConfigurationDesk Bus Manager Implementation Guide May 2024
How to Replace Assigned Communication Matrices
Tip
Result You replaced the previously assigned communication matrix with the selected
communication matrix. The replacement affects all bus configuration parts of the
selected bus configuration that have at least one element of the communication
matrix assigned.
Elements that are assigned to the bus configuration and that can be
unambiguously identified in the newly assigned communication matrix are
replaced. Elements that cannot be unambiguously identified in the newly
assigned communication matrix are moved to a new communication matrix
node named <communication matrix node name> (deprecated <number>).
Elements that are part of only the newly assigned communication matrix but not
of the bus configuration are not assigned.
For the communication matrix node, the Properties Browser displays the name
of the newly assigned communication matrix.
439
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Replacing Assigned Communication Matrices
Tip
440
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Demos
441
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Both Bus Manager demos use automation to access the Bus Manager and
configure the bus communication. To work with the Bus Manager demos, you
have to run the related Bus Manager demo Python scripts.
Running the Bus Manager There are two methods for running the Bus Manager demo Python scripts:
demo Python scripts § Running the Bus Manager demo Python scripts via ConfigurationDesk.
Refer to How to Run a Selected Bus Manager Demo Python Script via
ConfigurationDesk on page 443.
§ Running the Bus Manager demo Python scripts from outside
ConfigurationDesk via an external interpreter, such as Python.exe. Refer
to Running a Selected Bus Manager Demo Python Script via an External
Interpreter on page 445.
442
ConfigurationDesk Bus Manager Implementation Guide May 2024
Introduction to the Bus Manager Demos
Objective To run a selected Bus Manager demo Python script via ConfigurationDesk.
443
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Result You run the selected Bus Manager demo Python script via ConfigurationDesk
and the related Bus Manager demo is set up.
444
ConfigurationDesk Bus Manager Implementation Guide May 2024
Introduction to the Bus Manager Demos
Next steps You can now work with the related Bus Manager demo. Refer to:
§ Bus Manager Basics demo: Working with the Bus Manager Basics Demo on
page 448
§ Bus Manager SecOC demo: Working with the Bus Manager SecOC Demo on
page 471
Introduction You can run a selected Bus Manager demo Python script from outside
ConfigurationDesk via an external interpreter, such as Python.exe, which is
included in the dSPACE Python distribution. If you want to do this, you have
to adapt the related Bus Manager demo Python script.
Note
dSPACE is not responsible for the correct functioning of the Bus Manager
demos once you make changes to the Python scripts.
For an overview of the external interpreters that are included in the dSPACE
Python distribution, refer to Basics on External Interpreters (ConfigurationDesk
Automating Tool Handling ).
Preconditions § To access a Bus Manager demo Python script, you must have started
ConfigurationDesk at least once. By this, the Documents folder is set up.
§ To run a Bus Manager demo Python script, the Bus Manager,
ConfigurationDesk - CAN Module, and ConfigurationDesk - LIN Module
licenses must be available and accessible. Refer to Required Licenses
(ConfigurationDesk Getting Started ).
Adapting a Bus Manager To run a Bus Manager demo Python script via an external interpreter, you have to
demo Python script adapt the script as follows:
1. Navigate to the required Bus Manager demo Python script:
§ Bus Manager Basics demo: ConfigurationDesk Documents folder -
BusManagerBasicsDemo folder - BusManagerBasicsDemo.py file
§ Bus Manager SecOC demo: ConfigurationDesk Documents folder -
BusManagerSecOCDemo folder - BusManagerSecOCDemo.py file
2. Open the related Python file in an editor.
3. Go to the def CreateApplication(self) code line.
445
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Running the demo script After you adapted the Python file, you can run the script via an external
interpreter.
When you run the script, it starts ConfigurationDesk and sets up the related Bus
Manager demo.
The script execution takes a while. After the script has finished,
ConfigurationDesk displays the Buses view set, as shown in the following
example. The Message Viewer displays the steps initiated by the demo script.
446
ConfigurationDesk Bus Manager Implementation Guide May 2024
Introduction to the Bus Manager Demos
Next steps You can now work with the related Bus Manager demo. Refer to:
§ Bus Manager Basics demo: Working with the Bus Manager Basics Demo on
page 448
§ Bus Manager SecOC demo: Working with the Bus Manager SecOC Demo on
page 471
447
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Overview of the Example Used in the Bus Manager Basics Demo........... 449
How to Replace the SIC Files in the Bus Manager Basics Demo.............. 462
Overview The Bus Manager Basics demo illustrates the basic steps of using a Python
automation script to configure bus communication with the Bus Manager and
build a real-time application.
Demonstrated features The Bus Manager Basics demo covers the following features of the Bus Manager:
§ Adding bus configurations and communication matrices to a
ConfigurationDesk application
§ Assigning communication matrix elements to the bus configurations
§ Configuring the bus configurations
The demo also covers several ConfigurationDesk features not specific to the Bus
Manager, such as creating projects and ConfigurationDesk applications, adding
Simulink® implementation containers, and building a real-time application.
Demo files The Bus Manager Basics demo files are located in the BusManagerBasicsDemo
subfolder of the ConfigurationDesk Documents folder . Specifically, these are:
File Description
BusManagerBasicsDemo.py The Python script that sets up the Bus Manager Basics demo in ConfigurationDesk. For
more information, refer to:
§ Running the Bus Manager demo Python scripts on page 442
§ Steps of the Bus Manager Basics Demo Python Script on page 452
BusManagerBasicsDemo.arxml The communication matrix of the simulated bus network.
448
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
File Description
§ CentralGatewayECU_64‑bit.sic The Simulink implementation containers that are used in the Bus Manager Basics
§ EngineAndBodyECUs_64‑bit.sic demo:
§ CentralGatewayECU_32‑bit.sic § The CentralGatewayECU_64‑bit.sic and EngineAndBodyECUs_64‑bit.sic files
§ EngineAndBodyECUs_32‑bit.sic are added to the ConfigurationDesk application by the demo script.
§ The CentralGatewayECU_32‑bit.sic and EngineAndBodyECUs_32‑bit.sic files
can be used to replace the SIC files that are added by the demo script. This is
necessary if you want to generate an executable application and your simulation
platform requires a 32‑bit target architecture.
§ CentralGatewayECU.slx The Simulink models on which the SIC files are based.
§ EngineAndBodyECUs.slx
Use cases The Bus Manager Basics demo lets you build an application to simulate locking
and unlocking the front doors of a car as well as opening and closing the side
windows.
To illustrate the functionality of the demo, the automatic central locking use case
is explained in more detail below.
ECUs and communication The example used in the Bus Manager Basics demo consists of five ECUs that
clusters are members of three communication clusters :
The Gearbox ECU, Body Control ECU, and the Door ECUs are part of a restbus
simulation, while the Central Gateway ECU simulates a real ECU.
The following illustration shows the ECUs and how they are organized
in communication clusters. The grayed-out elements are contained in the
communication matrix of the Bus Manager Basics demo, but are not used
in the demo.
449
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Real ECU
Restbus
simulation
Body Control ECU
Engine LIN Door
ECU
Seat ECU Door Left
Left ECU
Gearbox
ECU Seat ECU Door Right
Right ECU
Functionality The following illustration summarizes the functionality of the Bus Manager Basics
demo. It shows all relevant signals together with their directions and associated
ECUs. The labels inside the Body Control, Central Gateway, and Door ECUs
represent internal ports of the corresponding Simulink® models, which are not
accessible in ConfigurationDesk. Their values can be displayed as part of an
experiment in ControlDesk, for example.
450
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
Gearbox
CAN
Engine Speed [km/h]
Powertrain
Central Gateway
Car Locking Info
Car Unlocking Info
DoorLeftClosed
DoorLeftLocked
CAN
Speed [km/h] DoorRightClosed
Body DoorRightLocked
Lock/UnlockCar
Body Control
Automatic Central Locking
Lock/UnlockCar Lock/UnlockCar
Open/CloseWindowLeft Open/CloseWindowRight
LIN
DoorLeftClosed Door DoorRightClosed
DoorLeftLocked DoorRightLocked
Door Left Door Right
Window Position Window Position
DoorLeftToOpenWindowRight
DoorLeftToCloseWindowRight
451
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
LockCar=1 3 LockCar=0
1. When one of the doors is closed, the Body Control ECU receives the
DoorLeft/RightClosed signal with a value of 1 from the Door Left/Right
ECUs.
2. The Body Control ECU sets the internal Automatic Central Locking flag
to 1.
3. If the Speed signal exceeds 10 km/h, the Body Control ECU sends the
LockCar signal with a value of 1 to the Door ECUs and to the Central
Gateway ECU.
4. The Central Gateway ECU sets the internal CarLockingInfo port to 1 for
five seconds to indicate the locking procedure in the cockpit. As soon as the
doors are locked, the Door ECUs send the DoorLocked signals with a value
of 1.
Overview When you run the Bus Manager Basics demo Python script, it executes the
following steps:
452
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
After the execution of the script has finished, you can load the real-time
application to real-time hardware or generate bus simulation containers, for
example. Refer to Next steps on page 461.
453
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
The following illustration shows the Model Browser displaying the model
topologies.
In the Model Browser, the _64-bit suffix of the model names is not displayed.
This is because for model implementations with the <model name>_xx-
bit naming scheme, the _xx-bit suffix is omitted in the ConfigurationDesk
application. However, when you select a model in the Model Browser, the
Properties Browser displays the full name of the SIC file, as shown in the
following illustration.
454
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
Tip
§ The SIC files were generated for a 64‑bit target architecture, i.e., they can
be used with SCALEXIO. MicroLabBox II, and VEOS running on a Linux
64‑bit operating system.
§ Omitting the _xx-bit suffix of the SIC file names also has effects on the
names of the related application processes. Refer to Creating application
processes on page 460.
Creating a hardware topology The global PreferredHardware variable specifies the hardware topology to be
used. It is evaluated by the CreateHardwareTopology method, which sets up
the hardware topology according to the value of PreferredHardware:
455
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
case, it adds the communication matrix named after the Python script, i.e.,
BusManagerBasicsDemo.arxml, from the current directory, as shown in the
following code listing.
1 def LoadCommunicationMatrix(self)
2 ComMatrixFile = '%s\%s.arxml' % (self.CurrentPath, self.ScriptName)
3 try:
4 # Check whether a communication matrix has already been loaded.
5 if (self.CommunicationMatricesByEcusRelation.GetTopNodes().Count == 0):
6 self.BusManager.Configure('AddCommunicationMatrix', [ComMatrixFile])
7 except com_error as ComError:
8 self.SubmitErrorAndExit('Failed to load communication matrix file named "%s".' % (ComMatrixFile))
Adding bus configurations The bus configuration names are stored in the BusConfigurationName list. The
list is passed to the CreateBusConfiguration method of the Python script,
which adds the bus configurations to the ConfigurationDesk application. The
following code listing shows the relevant lines of the method definition.
1 def CreateBusConfiguration(self, BusCfgName):
2 ...
3 BusConfiguration =\
4 self.BusConfigurationsRelation.CreateDataObject(self.BusConfigurationsRelation.GetCreatableTypes().Item(0))
5 BusConfiguration.Name = BusCfgName
6 ...
7 return BusConfiguration
The following code listing shows the relevant part of the method definition.
1 def AssignEcuToBusCfg(self, BusConfiguration, ECUs):
2
3 CommunicationMatrix = self.CommunicationMatricesByEcusRelation.GetTopNodes().Item(0)
4
5 WriteTransaction = self.OpenTransaction('AssignElements')
6 try:
7 for Ecu in self.CommunicationMatricesByEcusRelation.GetElements(CommunicationMatrix):
8 if (Ecu.Name in ECUs):
9 for Pdu in self.CommunicationMatricesByEcusRelation.GetElements(Ecu):
10 # Check content of bus element exclude list.
11 if (not Pdu.Name in ExcludeListOfComMatrixElementNames):
12 for Signal in self.CommunicationMatricesByEcusRelation.GetElements(Pdu):
13 if (not Signal.Name in ExcludeListOfComMatrixElementNames):
14 self.BusManager.Configure('AssignElements', [[Signal], BusConfiguration])
15 ...
The following illustration shows a part of the Buses view set that displays
the resulting bus configurations in the Bus Configurations table and the
corresponding communication matrix in the Buses Browser.
456
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
Configuring bus configuration The ActivateModelAndTAAccess method performs the configuration of the
function ports bus configuration function ports:
§ It activates model access for all bus configuration function ports
of the given bus configuration except for those specified in the
ExcludeListOfModelAccessFunctionPortNames list.
§ For the bus configuration function ports with disabled model access, it sets the
initial state of the source switch to the substitute value, i.e., these function
ports are initialized with the value that is specified for their Initial substitute
value property.
§ It enables test automation support for all bus configuration function ports,
without exceptions.
The following code listing shows the relevant part of the method definition:
1 def ActivateModelAndTAAccess(self, BusConfiguration):
2
3 WriteTransaction = self.OpenTransaction('ActivateModelAndTAAccess')
4 ...
5 for FunctionPort in self.BusConfigurationsRelation.FindByXPath('/BusConfiguration[@Name = "' +\
6 BusConfiguration.Name + '"]//FunctionPort'):
7 if (not FunctionPort.Name in ExcludeListOfModelAccessFunctionPortNames):
8 FunctionPort.Properties['IsMappable'].TrySetValue(True)
9 else:
10 # Model access is not enabled. Set the initial switch setting to the substitute value.
11 FunctionPort.Properties['InitialSwitchSetting'].TrySetValue(1)
12 FunctionPort.Properties['IsTestAutomationSupportEnabled'].TrySetValue(True)
13 ...
457
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Mapping function ports to The CreatePortLinks method maps function ports to model ports as shown in
model ports the following excerpt of the method code.
Adding and configuring bus The CreateBusAccess method adds suitable CAN and LIN function blocks to
function blocks the signal chain and assigns them to the bus access requests . By this, the
function blocks specify the bus access of each communication cluster .
The CreateBusAccess method is called with six arguments, which are used
consecutively as follows:
1. BusConfiguration: The bus configuration to which bus function blocks
are assigned.
2. ClusterName: The communication cluster for which the bus function block
is used.
3. BusAccessName: The name of the bus function block.
4. ProtocolName: The bus protocol of the bus function block, i.e., CAN or LIN.
458
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
The following code listing shows the method call for each bus access that has to
be specified. For this, the hardware resources are used as follows:
§ Bus 1 channel type (DS2671 Bus Board): Used for the bus access requests
related to the Central Gateway ECU.
§ CAN 1 and LIN 1 channel types (DS2672 Bus Module): Used for the bus access
requests related to the ECUs of the simulated restbus.
1 DemoController.CreateBusAccess(CentralGatewayConfiguration, 'CanBodyCluster', 'CentralGateway CAN Body
Access', 'CAN', 'Bus 1', 'Channel 1')
2 DemoController.CreateBusAccess(EngineAndBodyConfiguration, 'CanBodyCluster', 'BodyControl CAN Body
Access', 'CAN', 'CAN 1', 'Channel 1')
3 DemoController.CreateBusAccess(CentralGatewayConfiguration, 'CanPowertrainCluster', 'CentralGateway CAN Powertrain
Access', 'CAN', 'Bus 1', 'Channel 2')
4 DemoController.CreateBusAccess(EngineAndBodyConfiguration, 'CanPowertrainCluster', 'Gearbox CAN Powertrain
Access', 'CAN', 'CAN 1', 'Channel 2')
5 DemoController.CreateBusAccess(EngineAndBodyConfiguration, 'LinDoorCluster', 'LIN Door Access', 'LIN', 'LIN
1', 'Channel 1')
When you select a CAN function block in ConfigurationDesk, you can access the
related property on the General page of the Properties Browser, as shown in
the following illustration.
Adding an external device The SetupDeviceWiring method creates an external device representing a
and connecting the CAN 12 V power supply and connects it to the LIN controller. This external device
controllers is required if you use a SCALEXIO platform: In this case, the LIN communication
does not work without an external power supply.
459
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Tip
The MicroAutoBox III and MicroLabBox II do not require this external device
because they provide an integrated power supply for LIN communication.
The following illustration shows the resulting connections in the Signal Chain
Browser.
Creating application processes The CreateProcessAndTasks method creates a processing unit application if
none exists yet, and a corresponding preconfigured application process for
each behavior model.
The following illustration shows the result in the Task Configuration table.
The periodic tasks are provided by the behavior models and the CAN tasks are
provided by the CAN function blocks.
460
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
Tip
Building a real-time The following code lines start the build process:
application
1 DemoController.ActiveApplication.BuildManagement.Properties['DownloadAfterBuild'].TrySetValue(False)
2 if DemoController.CurrentComApplicationName == 'ConfigurationDesk':
3 DemoController.SubmitInfo('Build started.')
4 DemoController.ActiveApplication.BuildManagement.Build()
Tip
Next steps You can use the results of the Python script execution to simulate the
functionality of the Bus Manager Basics demo in ControlDesk. There are
two ways to prepare this, depending on whether you use a SCALEXIO,
MicroAutoBox III, MicroLabBox II, or VEOS platform:
461
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Once you have loaded the executable application to the simulation platform,
you can use ControlDesk's Bus Navigator to experiment with the bus
communication. Refer to Example of Experimenting with the Bus Manager Basics
Demo in ControlDesk on page 463.
How to Replace the SIC Files in the Bus Manager Basics Demo
Objective The Bus Manager Basics demo uses SIC files that are built for a 64‑bit target
architecture, which can only be used with SCALEXIO, MicroLabBox II, and VEOS
running on a Linux 64‑bit operating system. If you use a VEOS platform that runs
on a different operating system or you use the MicroAutoBox III, you have to
replace the SIC files in the Bus Manager Basics demo.
For basic information on the target architecture of SIC files, refer to Basics on
Simulink Implementation Containers (Model Interface Package for Simulink -
Modeling Guide ).
462
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
Method To replace the SIC files in the Bus Manager Basics demo
1 Select the Buses view set.
2 In the Model Browser, right‑click CentralGatewayECU and select Replace
Model on the context menu.
The Replace Model dialog opens.
3 In the Replace Model dialog, click Add model - Add model from file.
A standard Open dialog opens.
4 In the Open dialog, navigate to the BusManagerBasicsDemo folder in the
ConfigurationDesk Documents folder .
5 Select CentralGatewayECU_32-bit.sic and click Open.
Result You replaced the SIC files in the Bus Manager Basics demo.
Introduction This example illustrates how you can experiment with the results of the Bus
Manager Basics demo Python script execution in ControlDesk.
Preconditions § You built a real-time application of the Bus Manager Basics demo and loaded
it to a SCALEXIO, MicroAutoBox III, or MicroLabBox II platform.
- OR -
§ You generated bus simulation containers, built an offline simulation
application, and loaded it to VEOS.
463
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
3 Create a new project and experiment. The settings depend on whether you
use VEOS, SCALEXIO, MicroAutoBox III, or MicroLabBox II.
464
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
4 In the Project Manager, right-click the platforms and rename them via the
Rename Platform/Device context menu command as follows:
§ Rename the platform to which the CentralGatewayECU.trc file is loaded
to CentralGatewayECU_Platform.
§ Rename the platform to which the EngineAndBodyECUs.trc file is
loaded to EngineAndBodyECUs_Platform.
The following illustration is an example of the renamed platforms.
465
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Interim result You created a project and experiment in ControlDesk. You can now prepare a
layout. Continue with the next part.
Tip
466
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
467
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
14 In the variable list on the right, right-click Automatic Central Locking and
select Visualize Variables on the context menu.
468
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager Basics Demo
17 Arrange the Automatic Central Locking Time Plotter to the right of the
MDL_Signal Time Plotter.
Interim result You generated Bus Instruments to manipulate signals of the Bus Manager Basics
demo and created Time Plotters to visualize the results. You can now start
experimenting and measuring, i.e., you can access signals and parameters of the
executable application . Continue with the next part.
469
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Element Setting
Substitute Value 11
Source Switch Substitute value
The speed exceeds 10 km/h and the automatic central locking function
locks the doors: MDL_Signal of LockCarISignal briefly switches to 1 and
Actual Value of the Value function ports of DoorLeftLockedISignal and
DoorRightLockedISignal is True. After the doors are locked, Automatic
Central Locking switches to 0.
470
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
Overview of the Example Used in the Bus Manager SecOC Demo.......... 473
Overview The Bus Manager SecOC demo illustrates the basic steps for implementing
secure onboard communication in a real-time application and in bus simulation
containers by using a Python automation script.
Demonstrated features The Bus Manager SecOC demo covers the following features for implementing
secure onboard communication in the ConfigurationDesk application and in
executable applications :
§ Enabling the SecOC support for bus configurations.
§ Assigning secured IPDUs and authentic IPDUs to bus configurations.
§ Adding bus configuration features to the secured IPDUs that let you do the
following at run time:
§ Manipulate the authentication information before it is transmitted.
§ Verify the received authentication information.
§ Adding the required user code files to the ConfigurationDesk application. At
run time, the authentication information is calculated and verified according to
the specifications in the user code files.
Moreover, the demo covers several features that are not specific
for implementing secure onboard communication, such as creating a
ConfigurationDesk project and application, modifying the communication matrix
in the ConfigurationDesk application, and building a real‑time application and
generating bus simulation containers.
Demo files The Bus Manager SecOC demo files are located in the
BusManagerSecOCDemo subfolder of the ConfigurationDesk Documents
folder . The following table provides a brief overview of the files.
471
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Note
§ You can use the source and header files as a starting point to write your
own user code. If you do this, dSPACE is not responsible for the correct
functioning of your user code.
§ dSPACE is not responsible for the correct functioning of the Bus Manager
SecOC demo once you make changes to the demo files.
Tip
For further information on the specifications in the source and header files
listed in the table, refer to the descriptions that are included in the files.
File Description
BusManagerSecOCDemo.py The Python script that sets up the Bus Manager SecOC demo in ConfigurationDesk. For
more information, refer to:
§ Running the Bus Manager demo Python scripts on page 442
§ Steps of the Bus Manager SecOC Demo Python Script on page 475
BusManagerSecOCDemo.arxml The communication matrix with the specifications of the simple secured bus
communication.
§ DsAes.c The source and header files that implement the 128‑bit Advanced Encryption Standard
§ DsAes.h (AES) algorithm. This algorithm is used to generate the message authentication code
(MAC) for secured IPDUs by using a symmetric key.
§ DsCmac.c The source and header files that implement the AES‑CMAC algorithm according to
§ DsCmac.h RFC 4493 and NIST SP800‑38B. This algorithm is used to generate the message
authentication code (MAC) for secured IPDUs by using a symmetric key. The resulting
MAC is cipher‑based (CMAC).
§ DsCmacKey.c The source and header files that implement a simple key handling mechanism that
§ DsCmacKey.h is used to identify, set, and generate a 16-byte encryption key for the AES‑CMAC
algorithm.
§ DsTimeManager.cpp The source and header files that implement functions for reading the current CPU time.
§ DsTimeManager.h The CPU time is used as a seed for the pseudo-random number generator (PRNG) that is
used for generating keys for the AES-CMAC algorithm.
§ UserCode_CsmDemo.c The source and header files of the user code that implement the AUTOSAR Crypto
§ UserCode_CsmDemo.h Service Manager (CSM).
§ UserCode_FvmDemo.c The source and header files of the user code that implement parts of the AUTOSAR
§ UserCode_FvmDemo.h Freshness Value Manager (FVM). The files implement only those specifications of the
Freshness Value Manager that apply to freshness values based on freshness counters.
However, freshness counter synchronization is not implemented.
472
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
File Description
§ UserCode_SecOCConfiguration.c The source and header files of the user code that implement a mapping table for
§ UserCode_SecOCConfiguration.h mapping secured IPDUs, authentic IPDUs, and keys. The mapping table is required for the
simple key handling mechanism that is used for the AES-CMAC algorithm.
Tip
UserCode_SecOCDemo.c The source file of the user code that implements the algorithms that are used by the
demo for calculating and verifying the authentication information in the executable
application . For more information, refer to Definitions in the UserCode_SecOCDemo.c
File on page 481.
§ UserCode_SecOCHelperDemo.c The source and header files of the user code that implement helper functions that are
§ UserCode_SecOCHelperDemo.h required for the user code of the demo.
UserCode_Types.h The header file of the user code that implements type definitions that are required for
the user code of the demo.
Scope of the example used in The Bus Manager SecOC demo focuses on the basic steps for implementing
the demo secure onboard communication in a ConfigurationDesk application and in an
executable application by using the Bus Manager. To demonstrate the basic
steps for implementing secure onboard communication, the demo uses a
simple example of secured bus communication. Specifying the secure onboard
communication itself and complex implementation use cases such as model
communication are out of focus of the demo.
Example used in the demo In general, two ECUs are used, one for transmitting and one for receiving
secured IPDUs . The demo uses the IPdu02_FVCounter_secured secured
IPDU, which has the following characteristics:
§ The IPdu02_FVCounter_secured IPDU is a non-cryptographic IPDU, i.e., its
related IPdu02_FVCounter authentic IPDU is included in the secured IPDU
and only one IPDU is transmitted on the bus.
§ A freshness counter is used as the freshness value of the secured IPDU.
§ The authentication information of the secured IPDU is calculated according to
the AES-CMAC algorithm and by using a randomly generated key.
473
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
The Bus Manager SecOC demo Python script sets up the following configuration
for the bus communication:
BusConfiguration_TX BusConfiguration_RX
IPdu02_FVCounter_secured
CANCluster
TX Side RX Side
The authentication information of the The verification of the received authentication information of
TXIPdu02_FVCounter_secured IPDU is calculated in the the RX IPdu02_FVCounter_secured IPDU can be enabled via
user code. Before the IPDU is transmitted, the calculated the SecOC feature. If enabled, the authentication information
authentication information can be manipulated via the is verified in the user code. The SecOC and PDU RX
SecOC Authentication Invalidation or SecOC Freshness Status features provide the verification state and further state
Overwrite Value features. The transmission of the TX information on the received IPdu02_FVCounter_secured
IPdu02_FVCounter_secured IPDU can be triggered via the PDU IPDU and its related IPdu02_FVCounter authentic IPDU.
Trigger feature of the related IPdu02_FVCounter authentic
IPDU.
Restrictions for verifying Because of the simple freshness value handling in the demo, the following
the received authentication restrictions apply for verifying the received authentication information:
information § On the RX side, any freshness counter value that is equal to or larger than the
previously received freshness counter value is accepted as valid. Therefore, only
a freshness counter value that is smaller than the previously received freshness
counter value results in verification failure.
§ There is no synchronization between the freshness counter values on the
TX side and the RX side. Therefore, the verification always fails once the
transmitted freshness counter value and the expected freshness counter value
differ.
§ In the communication matrix, FRESHNESS-VALUE-TX-LENGTH is set to 8 bits,
i.e., one byte is used for the transmitted freshness counter. Due to this, the
freshness counter overflows when it exceeds 255. This might result in an
unexpected behavior at run time.
474
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
Overview Tip
Many steps of the Bus Manager SecOC demo Python script are also
executed by the Bus Manager Basics demo Python script.
In this topic, only the steps that are specific for the Bus Manager SecOC
demo Python script are described in detail. For a detailed description of the
steps that are also executed by the Bus Manager Basics demo Python script,
refer to Steps of the Bus Manager Basics Demo Python Script on page 452.
When you run the Bus Manager SecOC demo Python script, it executes the
following steps:
After the execution of the script has finished, you can load the real-time
application to real-time hardware or build an offline simulation application to
simulate the functionality of the Bus Manager SecOC demo in ControlDesk.
Refer to Next steps on page 480.
475
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Adding bus configurations The CreateBusConfiguration method adds a bus configuration to the
and enabling the SecOC ConfigurationDesk application. It also enables the support of secure onboard
support communication by setting the Enable SecOC support property of the
bus configuration to True. This is mandatory for each bus configuration
that configures bus communication for secure onboard communication. The
following code listing shows the relevant lines of the method definition.
1 def CreateBusConfiguration(self, BusCfgName):
2 ...
3 BusConfiguration =
4 self.BusConfigurationsRelation.CreateDataObject(self.BusConfigurationsRelation.GetCreatableTypes().Item(0))
5 BusConfiguration.Name = BusCfgName
6 BusConfiguration.Properties['Enable SecOC'].TrySetValue(True)
7 ...
Adding user code files The AssignSecOCUserCodeFiles method adds the user code files that are
required to perform secure onboard communication to the ConfigurationDesk
application. These files specify the algorithms for calculating and verifying the
authentication information of secured IPDUs . The files are source files (*.c;
*.cpp) and include files (*.h; *.hpp) and must be added via the properties of the
Bus Custom Code Set category, which is available for build configuration sets.
The Python script adds the files to the related properties of the Default Build
Configuration Set. The following code listing shows the relevant lines of the
method definition.
1 def AssignSecOCUserCodeFiles(self):
2 ...
476
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
3 SecOCUserCodeSourceFiles =
4 [FileName for FileName in os.listdir(self.CurrentPath) if FileName.endswith('.c') or FileName.endswith('.cpp')]
5 SecOCUserCodeIncludeFiles =
6 [FileName for FileName in os.listdir(self.CurrentPath) if FileName.endswith('.h') or FileName.endswith('.hpp')]
7
8 ExecutableApplication = self.ApplicationConfigurationRelation.GetTopNodes().Item(0)
9 DefaultBuildConfigurationSet =
10 self.BuildConfigurationRelation.GetElements(ExecutableApplication).Item('Default Build Configuration Set')
11 BusCustomCodeSet =
12 self.PropertyDataObjectsRelation.GetElements(DefaultBuildConfigurationSet).Item('Bus Custom Code Set')
13
14 BusCustomCodeSet.Properties['BusCustomCodeBaseDirectory'].TrySetValue(self.CurrentPath)
15 BusCustomCodeSet.Properties['BusCustomCodeSourceFiles'].TrySetValue(SecOCUserCodeSourceFiles)
16 BusCustomCodeSet.Properties['BusCustomCodeIncludeFilesAndDirectories'].TrySetValue(SecOCUserCodeIncludeFiles)
17 ...
Tip
If the Build Configuration table is closed, you can open it via Show Panes
on the View ribbon.
Modifying the cyclic timing in The communication matrix specifies a cyclic timing period of 5 ms for the
the communication matrix authentic IPDUs. If you want to simulate the functionality of the Bus Manager
SecOC demo in experiment software such as ControlDesk, this makes it difficult
to observe the effects, e.g., when you manipulate the bus communication.
You cannot change the period that is specified in the communication matrix
at run time. Therefore, the Python script sets the period to 0 ms. With this,
cyclic transmission of the IPDUs is disabled. Instead, you can manually trigger the
transmission at run time. The following code listing shows the relevant lines of
the CreateBusManagerSecOCDemo function.
1 def CreateBusManagerSecOCDemo():
2 ...
3 AuthenticIPdus =
4 DemoController.BusConfigurationsRelation.FindByXPath(
5 '/BusConfiguration[1]/BusConfigurationPartSimulatedEcus//BusISignalIPdu')
6 for AuthenticIPdu in AuthenticIPdus:
7 CyclicTiming = DemoController.PropertyDataObjectsRelation.GetElements(AuthenticIPdu).Item('Cyclic Timing')
8 TimePeriod = DemoController.PropertyDataObjectsRelation.GetElements(CyclicTiming).Item('Time Period')
9 TimePeriod.Properties['Value'].TrySetValue(0)
10 ...
477
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Adding bus configuration The AddFeature method adds bus configuration features to IPDUs. The IPDUs
features to IPDUs are accessed by the bus configuration and bus configuration part to which
they are assigned, and by their PDU type. The following code listing shows the
relevant lines of the method definition.
1 def AddFeature(self, BusConfiguration, BusConfigurationPart, TypeOfPdus, FeatureName):
2 ...
3 Pdus = self.BusConfigurationsRelation.FindByXPath(
4 '/BusConfiguration[@Name="{0}"]/BusConfigurationPart{1}//{2}'.format(BusConfiguration.Name, BusConfigurationPart,
5 TypeOfPdus))
6 self.BusManager.Configure('AddFeature', [FeatureName, Pdus])
7 ...
Tip
Disabling the recalculation of To prevent unintended manipulation of secured bus communication, some bus
authentication information manipulation features provide a Recalculate SecOC information checkbox. For
most of these bus manipulation features, the checkbox is selected by default,
i.e., the authentication information is recalculated after the related IPDU was
manipulated.
For the SecOC Freshness Overwrite Value feature, the checkbox is selected
and read‑only, i.e., the authentication information is always recalculated
after the freshness value was overwritten. For the SecOC Authenticator
Invalidation feature, the checkbox can be configured. To transmit an invalidated
authenticator value (MAC) at run time, it must be ensured that the checkbox is
cleared for this feature. In the CreateBusManagerSecOCDemo function, this is
done via the following lines:
1 def CreateBusManagerSecOCDemo():
2 ...
3 RecalculateProperties = DemoController.BusConfigurationsRelation.FindByXPath('//@Recalculate_SecOC_information')
4 for RecalculateProperty in RecalculateProperties:
5 RecalculateProperty.TrySetValue(False)
6 ...
478
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
Configuring bus configuration The EnableTestAutomation method enables test automation support for all
function ports function ports of all available bus configuration features. The following code
listing shows the relevant lines of the method definition.
1 def EnableTestAutomation(self):
2 ...
3 TestAutomationProperties =
4 self.BusConfigurationsRelation.FindByXPath('//FunctionPort/@IsTestAutomationSupportEnabled')
5 for TestAutomationProperty in TestAutomationProperties:
6 TestAutomationProperty.TrySetValue(True)
7 ...
Depending on the specific bus configuration feature and the related bus
configuration part, the SetInitialSourceSwitch method specifies initial
settings for some function ports. For example, the function ports of the SecOC
simulation feature are configured as follows:
§ All function ports of the feature: Initial switch setting is set to Substitute
value.
§ State function port: Initial substitute value is set to 63. According to
the specifications in the UserCode_SecOCDemo.c user code file, this value
indicates that the verification of the received authentication information is not
executed.
§ Enable Verification function port: Initial substitute value is set to 1.
According to the specifications in the UserCode_SecOCDemo.c user code file,
this value enables the verification of the received authentication information.
The following code listing shows the relevant lines of the method definition for
the example above.
1 def SetInitialSourceSwitch(self):
2 ...
3 for FunctionPort in self.BusConfigurationsRelation.FindByXPath('//BusPduSecOCAccess/FunctionPort'):
4 FunctionPort.Properties['InitialSwitchSetting'].TrySetValue(1)
5 if FunctionPort.Name.endswith('State'):
6 FunctionPort.Properties['InitialSubstituteValue'].TrySetValue(63)
7 elif FunctionPort.Name.endswith('Enable Verification'):
8 FunctionPort.Properties['InitialSubstituteValue'].TrySetValue(1)
9 ...
479
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
9
10 ApplicationProcess = ProcessingUnitApplication.CreateChild(ProcessingUnitApplication.DataObjectTypes.Item(0),
11 'BusManagerSecOCDemoApplication')
12 ApplicationProcess.Properties['ProvideDefaultTask'].TrySetValue(True)
13 ...
Tip
Generating bus simulation Finally, the CreateBusManagerSecOCDemo function generates a bus simulation
containers container. This is done by the following code line:
1 def CreateBusManagerSecOCDemo():
2 ...
3 DemoController.BusManager.Configure('GenerateContainers', [])
4 ...
Next steps You can use the results of the Python script execution to simulate the
functionality of the Bus Manager SecOC demo in ControlDesk. There are
two ways to prepare this, depending on whether you use a SCALEXIO,
MicroAutoBox III, MicroLabBox II , or VEOS platform:
480
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
Once you have loaded the executable application to the simulation platform,
you can use ControlDesk's Bus Navigator to experiment with the bus
communication. Refer to Example of Experimenting with the Bus Manager
SecOC Demo in ControlDesk on page 488.
Introduction The UserCode_SecOCDemo.c file implements the algorithms that are used by
the Bus Manager SecOC demo for calculating and verifying the authentication
information. It uses functions of the Bus Custom Code interface to exchange
data between the Bus Manager and the user code, e.g., to access specifications
of the communication matrix or provide the calculated freshness value at run
time.
Tip
Defining the user code ID The UserCode_SecOCDemo.c file defines the user code ID as follows:
SecOC is the user code ID that is referenced by each bus configuration by default
for which the SecOC support is enabled. For each user code implementation ,
there must be one unique user code ID. It must be the first definition in the
related user code file.
481
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Defining the handling of keys Overview In the Bus Manager SecOC demo, a randomly generated
key is used for calculating the authentication information of the
IPdu02_FVCounter_secured IPDU:
§ The generation of the key is implemented via the DsCmacKey.c/.h files.
§ The key is generated according to the AES‑CMAC algorithm, which is
implemented via the DsAes.c/.h and DsCmac.c/.h files.
§ To generate the key, a mapping table is used, which is defined in the
UserCode_SecOCConfiguration.c/.h files.
482
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
During the execution of the executable application, the key is used by functions
that are called in the DsBusCustomCode_onPduFeatureExecution function to
calculate the authenticator (MAC).
Implementing the handling of The freshness value of the IPdu02_FVCounter_secured IPDU is a freshness
freshness counters counter. Therefore, no freshness time stamp handling is required and the
AUTOSAR Freshness Value Manager is only initialized for IPDUs that use a
freshness counter.
483
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Verifying the authentication The verification of the received authentication information must be enabled
information in the user code in the Bus Manager via the SecOC feature. If this is the case, the received
authentication information is verified according to the algorithm in the
UserCode_SecOCDemo.c file.
484
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
485
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
486
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
9 DSBUSCUSTOMCODE_TRY(featureDescriptor,
10 DsBusCustomCodeSecOCRxPduFeature_setVerificationResult(PduFeatureHandle, SECOC_VERIFICATIONFAILURE));
11 USERCODE_DEBUG_PRINT("Verification failed.\n");
12 }
13 else
14 {
15 if( ((UserCode_FeatureData_Type*)featureDataPtr)->AuthVerifyAttemptCounter > 0 )
16 {
17 ((UserCode_FeatureData_Type*)featureDataPtr)->AuthVerifyAttemptCounter=0;
18 }
19 freshnessFailure = FALSE;
20 }
21 }
22 else
23 {
24 ((UserCode_FeatureData_Type*)featureDataPtr)->AuthVerifyAttemptCounter = 0;
25 DSBUSCUSTOMCODE_TRY(featureDescriptor,
26 DsBusCustomCodeSecOCRxPduFeature_setVerificationResult(PduFeatureHandle, SECOC_VERIFICATIONSUCCESS));
27 USERCODE_DEBUG_PRINT("Authentication information successfully verified.\n");
28 }
29 ...
30 }
Exchanging data between the The UserCode_SecOCDemo.c file uses the following functions of the Bus
Bus Manager and the user Custom Code interface to exchange data between the Bus Manager and the
code user code:
487
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Introduction This example illustrates how you can experiment with the results of the Bus
Manager SecOC demo Python script execution in ControlDesk.
Preconditions § You built a real-time application of the Bus Manager SecOC demo and loaded
it to a SCALEXIO, MicroAutoBox III, or MicroLabBox II platform.
- OR -
§ You built an offline simulation application and loaded it to VEOS.
§ You have a decrypted installation of ControlDesk. For information on installing
and decrypting dSPACE software, refer to Installing dSPACE Software .
3 Create a new project and experiment. The settings depend on whether you
use VEOS, SCALEXIO, MicroAutoBox III, or MicroLabBox II.
488
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
Interim result You created a project and experiment in ControlDesk. You can now prepare a
layout. Continue with the next part.
Names The extension of the platform name, i.e., the value The extension of the platform name, i.e., the value in
Platform in the brackets, is derived from the SDF file. the brackets, is a consecutive number.
489
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
490
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
Interim result You generated Bus Instruments to simulate, manipulate, and inspect the
bus communication of the Bus Manager SecOC demo. You can now start
experimenting. Continue with the next part.
2 In the PDU Trigger Access region of the Bus Instrument (TX type), select the
Trigger checkbox.
491
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
The Bus Instrument (Inspection type) and Bus Instrument (RX type)
instruments display the following states:
§ In the PDU SecOC Inspection and PDU SecOC Access regions, the
values of the Enable Verification function ports are set to 1. Therefore,
the user code verifies the received authentication information of the
IPdu02_FVCounter_secured IPDU that is assigned to the Inspection
and Simulated ECUs parts of BusConfiguration_RX. In both regions,
the values of the State function ports are 0, which indicate that the
verification was successful.
§ In the PDU SecOC Inspection region, the following is displayed:
§ Authenticator Value [<0> … <2>] display the authenticator (MAC)
that is received on the bus. The TX length of the authenticator is 24 bits.
Therefore, the value of the Authenticator Value function port is a
3‑bytes array and each field displays the value of one byte.
§ The Freshness Value function port provides the freshness value that is
received on the bus. Because the freshness value is a freshness counter
and the secured IPDU was triggered once, the freshness value is 1.
§ The Calculated Freshness Value function port provides the expected
freshness value that is calculated in the user code.
§ In the PDU RX Status Access regions, the Counter function ports
provide the number of receptions of the IPdu02_FVCounter_secured
and IPdu02_FVCounter IPDUs, respectively. The Time function ports
provide the application time when the IPDUs were received.
Tip
492
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
493
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
494
ConfigurationDesk Bus Manager Implementation Guide May 2024
Working with the Bus Manager SecOC Demo
495
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Working with the Bus Manager Demos
Result You simulated, manipulated, and inspected the bus communication of the Bus
Manager SecOC demo in ControlDesk.
496
ConfigurationDesk Bus Manager Implementation Guide May 2024
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
497
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
Recommended Starting Points for Former Users of the RTI CAN MultiMessage
and RTI LIN MultiMessage Blocksets
Introduction The concepts for working with the RTI CAN MultiMessage or RTI LIN
MultiMessage Blockset and the Bus Manager differ. Nevertheless, the
functionalities of many features of the RTI CAN MultiMessage and RTI LIN
MultiMessage Blocksets are also available for the Bus Manager.
Recommended starting points To familiarize yourself with the basic concepts of the Bus Manager, the following
starting points are recommended:
To watch this video, click the following link or scan the QR code:
https://www.dspace.com/dspace-help/wupe2
Bus Manager Tutorial The Bus Manager Tutorial guides you through the
basic steps when you start working with the Bus Manager. The tutorial
introduces you to the use scenarios for simulating, inspecting, and manipulating
bus communication and covers different Bus Manager workflows. For former
users of the RTI CAN MultiMessage and RTI LIN MultiMessage Blocksets, the
workflows for building a real‑time application are especially relevant. Refer to Bus
Manager Tutorial .
498
ConfigurationDesk Bus Manager Implementation Guide May 2024
Starting Points for Former Users of the RTI CAN MultiMessage and RTI LIN MultiMessage Blocksets
Aspects of supported CAN, LIN, and AUTOSAR features The Bus Manager
uses an AUTOSAR-oriented way to implement CAN and LIN communication. The
following topics can help you familiarize yourself with this approach:
§ Aspects of Supported AUTOSAR Features on page 63
§ Aspects of Supported CAN Bus Features on page 77
§ Aspects of Supported LIN Bus Features on page 88
The AUTOSAR-oriented approach also affects the representation of elements
in the Bus Manager. For example, a BO_ message that is specified in a DBC
communication matrix is represented as an ISignal IPDU in the Bus Manager.
For an overview of the mapping of element types, refer to Mapping of Bus
Manager PDU Types to Communication Standard PDU Types on page 537.
499
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
Introduction The functionalities of many features of the RTI CAN MultiMessage Blockset are
also available for the Bus Manager.
Feature mapping The following table maps features of the RTI CAN MultiMessage Blockset to
features of the Bus Manager. It also provides links to further information in the
Bus Manager documentation.
In some cases, there are two ways to implement the functionalities of features of
the RTI CAN MultiMessage Blockset in the Bus Manager:
§ By using bus configuration features.
Use bus configuration features if you want to configure a feature only for a
specific instance of an element, e.g., of a frame . For basic information, refer
to Basics on Bus Configuration Features on page 192.
§ By modifying the communication matrix.
Modify settings in the communication matrix if you want to change
all instances of an element in the communication matrix and all
bus configurations. For basic information, refer to Basics on Modifying
Communication Matrices on page 391.
500
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI CAN MultiMessage Blockset
501
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
502
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI CAN MultiMessage Blockset
503
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
504
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI CAN MultiMessage Blockset
505
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
506
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI CAN MultiMessage Blockset
507
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
Using Features of the RTI CAN MultiMessage Blockset Independently from the
Bus Manager
Introduction Some features of the RTI CAN MultiMessage Blockset can be implemented
independently from the Bus Manager.
Feature mapping The following table provides an overview of those features of the RTI CAN
MultiMessage Blockset that can be realized independently from the Bus
Manager. It also provides links to further information in the user documentation.
508
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI CAN MultiMessage Blockset
Introduction Some features of the RTI CAN MultiMessage Blockset are no longer supported.
These features can neither be implemented by using the Bus Manager nor by
other means, such as ControlDesk or the Bus Navigator.
Overview of unsupported The following table provides an overview of the features of the RTI CAN
features MultiMessage Blockset that are no longer supported.
509
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
Tip
The Bus Manager processes J1939‑compliant IPDUs regardless of whether the EDP bit is
set to 0 or 1.
TRC Options page Specify general settings for the TRC file, such as the hierarchy and the topmost nodes.
TRC Extras page Add additional information to the TRC file.
Peripheral Options page Specify whether an ECU hierarchy or message‑oriented hierarchy is used as the output port bus
structure.
510
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI LIN MultiMessage Blockset
Introduction The functionalities of many features of the RTI LIN MultiMessage Blockset are
also available for the Bus Manager.
Feature mapping The following table maps features of the RTI LIN MultiMessage Blockset to
features of the Bus Manager. It also provides links to further information in the
Bus Manager documentation.
In general, there are two ways to implement the functionalities of features of the
RTI LIN MultiMessage Blockset in the Bus Manager:
§ By using bus configuration features.
Bus configuration features apply only to a specific instance of an element, e.g.,
of an ISignal . For basic information, refer to Basics on Bus Configuration
Features on page 192.
§ By modifying the communication matrix.
Modifying settings in the communication matrix changes all instances of
an element in the communication matrix and all bus configurations. For
basic information, refer to Basics on Modifying Communication Matrices on
page 391.
511
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
512
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI LIN MultiMessage Blockset
513
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
514
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI LIN MultiMessage Blockset
515
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
Introduction Some features of the RTI LIN MultiMessage Blockset are not supported by the
Bus Manager.
Overview of unsupported The following table provides an overview of the features of the RTI LIN
features MultiMessage Blockset that are no longer supported.
516
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping Features of the RTI LIN MultiMessage Blockset
517
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Information for Former Users of the RTI CAN MultiMessage Blockset and RTI LIN MultiMessage Blockset
518
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for Using the Bus Manager
Limitation for adding You can add communication matrices to the Buses Browser using drag & drop.
communication matrices using However, this is possible only if you access ConfigurationDesk and the respective
drag & drop file location as the same user. For example, if you start ConfigurationDesk
using the Run as administrator command but your user account is not an
administrator account, drag & drop is not possible.
Limitations for using Support of only one transmission mode The Bus Manager supports only
transmission modes according one transmission mode. According to the AUTOSAR and FIBEX standards, a
to AUTOSAR and FIBEX communication matrix can specify two transmission modes (True and False) for
a PDU. In this case, the Bus Manager evaluates the transmission modes in the
following order:
1. True transmission mode
2. False transmission mode
The Bus Manager uses the first found cyclic and/or event‑controlled timing for
transmitting a PDU. Other cyclic or event‑controlled timings and transmission
modes are ignored.
519
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
Limitations for transmitting Only a changed coded ISignal value can trigger the transmission The
PDUs according to transmission of a PDU can be triggered only if the coded value of an ISignal
event‑controlled timings has changed. This has the following effects on the evaluation of the transfer
property:
§ The Triggered with repetition value is interpreted in the same way as the
Triggered on change with repetition value.
§ The Triggered without repetition value is interpreted in the same way as
the Triggered on change without repetition value.
520
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for Communication Matrices and Communication Standards
Limitations for minimum The Bus Manager supports only one minimum delay time for a PDU. According
delay times to the FIBEX standard, a communication matrix can specify more than one
minimum delay time for a PDU. In this case, the Bus Manager uses only the
first specified minimum delay time.
Limitations for the position of The Bus Manager supports only PDUs that are placed in the beginning of their
PDUs in frames related frames, i.e., a PDU‑to‑frame mapping must specify the position of a PDU
in such a way that there are no unused bits in the beginning of the frame.
Limitations for multiplexed To transmit a multiplexed IPDU, the Bus Manager does not evaluate the
IPDUs TRIGGER-MODE attribute. Instead, the Bus Manager transmits a multiplexed IPDU
each time its transmission is triggered by an ISignal IPDU that is configured as a
dynamic‑part alternative or as the static part.
Limitations for container No support of nested container IPDUs The Bus Manager does not support
IPDUs nested container IPDUs, i.e., container IPDUs that are included in other container
IPDUs. This applies regardless of the nesting level. For example, this also applies
to container IPDUs that contain at least one secured IPDU whose authentic IPDU
is a container IPDU.
No support of IPDUs with dynamic length for container IPDUs with static
container layout For container IPDUs with a static container layout, the Bus
Manager does not support contained IPDUs with dynamic length.
521
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
contained IPDU or its included elements, such as ISignals, only provide the data
of the last received instance.
However, depending on the specific bus configuration feature, all received
instances are considered for calculating function port values. For example, the
value of the Counter function port of the PDU RX Status feature is incremented
by the number of all received contained IPDU instances. The value of the
Delta Time function port is 0 because all contained IPDU instances are received
with the same container IPDU. Therefore, the time difference between the last
received instance and the previously received instance is 0 seconds.
Limitations for secure No automatic rejection of received secured IPDUs and authentic
onboard communication IPDUs The Bus Manager processes received secured IPDUs and the related
authentic IPDUs regardless of whether the received authentication information is
verified and the verification indicates a communication error. To reject a secured
IPDU and the related authentic IPDU in case of a communication error, you have
to verify the authentication information via the SecOC bus configuration feature
and provide the verification result to a mapped behavior model that realizes the
rejection.
No support of secured PDU headers for received secured IPDUs The Bus
Manager does not support secured PDU headers for received secured IPDUs. If
the useSecuredPduHeader attribute is specified for a received secured IPDU
and set to any value but noHeader, the related authentic IPDU cannot be
decoded. Instead, only the raw data can be accessed, e.g., via experiment
software.
522
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for Communication Matrices and Communication Standards
in the generated BSC files. BSC files are supported by various simulation
platforms. It depends on the specific simulation platform whether the configured
secure onboard communication is supported.
Limitations for end-to-end The Bus Manager processes received IPDUs and the contained ISignal groups
protection regardless of whether the received end-to-end protection information is
evaluated and the evaluation indicates a communication error. To reject an IPDU
and a contained ISignal group in case of a communication error, you have to
evaluate the end-to-end protection information using the ISignal Group End-
to-End Protection Status bus configuration feature and provide the evaluation
result to a mapped behavior model that realizes the rejection.
Limitations for global time Support as of AUTOSAR Release 4.3.0 The Bus Manager supports global
synchronization time synchronization according to AUTOSAR Release 4.3.0 and later AUTOSAR
Releases. Global time synchronization according to older AUTOSAR Releases is
not supported.
No support of offset time bases The Bus Manager does not support offset
time bases.
Limitations for partial Restricted support of partial networking functionalities The Bus
networking Manager supports only partial networking functionalities that were introduced
with AUTOSAR Release 4.3. Partial networking functionalities from later
AUTOSAR Releases, such as enabling and disabling PDUs via the PDU router
module, are not supported.
No support of nested ISignal IPDU groups The Bus Manager does not
support nested ISignal IPDU groups, i.e., the Bus Manager supports only ISignal
IPDUs and NMPDUs containing ISignals in ISignal IPDU groups.
Partial networking only for TX PDUs The partial networking applies only
to TX PDUs. If a partial network cluster is disabled, only the transmission of
the related TX PDUs stops. RX PDUs are decoded and processed, regardless
of whether the related partial network cluster is disabled. If a TX PDU is not
transmitted due to a disabled partial network cluster, the related RX PDU is not
reset to its initial values.
523
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
Limitations for PDU gateways For PDU gateways, the following limitations apply:
§ The Bus Manager does not support PDU gateways for container IPDUs ,
multiplexed IPDUs , secured IPDUs , extended multiplexed IPDUs , or
J1939‑compliant IPDUs.
§ The Bus Manager does not consider timing constraints for gatewaying
PDUs. For example, delays between the reception of a source PDU and the
transmission of the target PDU might occur.
§ The Bus Manager does not evaluate the DEFAULT-VALUE-ELEMENT and PDU-
MAX-LENGTH attributes, which can be specified for PDU gateways in ARXML
communication matrices. The settings of these attributes are ignored.
Limitations for coded and No interface for coded ISignal values The Bus Manager does not provide
physical ISignal values an interface for coded ISignal values. Therefore, you cannot use coded ISignal
values from the behavior model or an experiment software in the Bus Manager.
Instead, the Bus Manager accesses ISignals via their converted physical signal
values.
524
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for CAN Communication
Limitations for array signals Limitations for data types and byte order formats The Bus Manager only
supports array signals (i.e., signals with a width > 1) of the following type:
§ Data type: UInt8
§ Byte order format: Opaque
Other data types and byte order formats are not supported for array signals.
No support of dynamic length array signals The Bus Manager does not
support dynamic length array signals, i.e., array signals of UINT8_DYN data type.
No support for Scale The Bus Manager does not support Scale Constraints and Invalid Values.
Constraints and Invalid Values
No automatic usage of ISignal The communication matrix can provide upper and lower signal value limits for TX
value limits specified in the ISignals. The Bus Manager cannot identify these values to use them as default
communication matrix minimum or maximum saturation values.
Limitations for transmitting If more than one CAN frame is to be transmitted via one communication
CAN frames cluster in one sampling step, the transmission sequence is undefined.
Limitations for CAN frame The Bus Manager does not support CAN frame variants within one
variants communication cluster. CAN frame variants are frames with the same CAN
identifier and addressing mode (standard or extended) but different frame-
related settings (e.g., CAN FD support, bit rate switch, or frame length). If CAN
frame variants are exchanged via a communication cluster at run time, their
behavior is undefined.
If you want to work with CAN frame variants for a communication cluster, you
have to configure the frames in one of the following ways:
§ Assign each frame variant to a separate bus configuration and add the Bus
Configuration Enable feature to all the bus configurations. At run time, you
must ensure that only one of the bus configurations is active at a time, i.e., the
state of all other bus configurations must be set to 0: Disabled.
§ Add the Frame Access feature to the frame variants. At run time, you must
specify unique frame settings for each frame variant.
525
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
Limitations for CAN remote The Bus Manager does not support CAN remote frames, i.e.:
frames § The Bus Manager cannot transmit remote frames for configured CAN RX
PDUs.
§ The transmission of CAN TX PDUs cannot be triggered by received remote
frames.
Limitations for decoding data For CAN PDUs, the number of data bytes that are transmitted on the bus might
bytes of received PDUs differ from the number of data bytes that is specified in the communication
matrix. The Bus Manager can receive such PDUs. However, the following
limitations apply in this case:
§ If a received PDU has more data bytes than specified in the communication
matrix, the Bus Manager decodes only the number of data bytes that is
specified in the communication matrix. The other data bytes are ignored.
§ The Bus Manager decodes signals only if they are received completely.
Therefore, if a signal is only partially received because the related PDU is
transmitted with fewer data bytes than specified in the communication matrix,
the Bus Manager does not decode this signal at all.
Limitations for CAN FD The Bus Manager does not support multiple PDUs per CAN FD frame. Each
CAN FD frame must contain exactly one PDU.
No support of J1939 request manager The Bus Manager does not support
the J1939 request manager, i.e., the Bus Manager cannot automatically trigger
the transmission of a TX PDU when a J1939 request message is received on the
bus.
To trigger the transmission of a TX PDU with the receipt of a J1939 request
message, you have to configure this behavior manually. For example, you can
do this as follows: Assign the RX PDU that contains the J1939 request message
and the related TX PDU to the Simulated ECUs part of a bus configuration.
Add the PDU RX Status feature to the RX PDU and the PDU Trigger feature
to the TX PDU. In a mapped behavior model, you can model the triggering
behavior by using the value of the State function port as the input source for the
Trigger function port. For more information, refer to Basics on Bus Configuration
Features on page 192.
526
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for CAN Communication
ARXML files according to AUTOSAR Release 4.3.0 and later AUTOSAR Releases.
J1939 according to older AUTOSAR Releases is not supported.
Limitations for extended For extended signal multiplexing with the Bus Manager, the following limitations
signal multiplexing apply:
§ Only scalar signals of integer type are supported as multiplexer signals.
If required, you can modify a multiplexer signal to change its coded category
and base data type. Refer to Basics on Modifying Communication Matrices on
page 391.
527
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
§ The Bus Manager does not check extended multiplexed IPDUs for overlapping
signals.
§ Up to five nesting levels are supported. If extended multiplexed IPDUs with
more nesting levels are assigned to a bus configuration, the run‑time behavior
is undefined.
§ Multiplexer values with up to 10 values or value ranges are supported.
If multiplexed signals are assigned to a bus configuration to which more
multiplexer values apply, the run‑time behavior is undefined.
Limitations for AUTOSAR files AUTOSAR Release 3.2.1 does not support collision resolver tables. Thus, resolving
collisions of event-triggered frames by automatically executing a related collision
resolver table is not possible with AUTOSAR files according to Release 3.2.1.
Limitations for DBC files The DBC file format provides no definitions for master nodes or schedules.
Because the Bus Manager supports only the transmission of LIN IPDUs according
to a schedule defined by the LIN master, the Bus Manager does not support DBC
files for describing a LIN bus system.
Limitations for SAE J2602 Limitations for master parameters and node attributes of LDF
support files J2602-compliant LDF files can contain optional master parameters and
node attributes. The following parameters/attributes are not evaluated by the
Bus Manager:
§ Master parameters
§ max_header_length
§ response_tolerance
§ Node attributes
§ response_tolerance
§ wakeup_time
§ poweron_time
If an LDF file contains these parameters/attributes, they are ignored by the Bus
Manager.
Unused frame bits are dominant In contrast to the SAE J2602 standard,
unused bits of a frame are transmitted as dominant bits (0), not as recessive bits.
ISignals included only once in a frame The SAE J2602 standard allows to
include ISignals more than once in a frame. The Bus Manager does not support
such frames. Each ISignal of a frame must be included exactly once in that
frame.
528
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for LIN Communication
Limitations for J2602 error states The Bus Manager does not support the
J2602-compliant ID parity, framing, and bit error states. It is therefore not
possible to detect these errors during run time by using the status bytes as
intended by the SAE J2602 standard. To detect these errors at run time, you can
use checksum algorithms instead.
Limitations for LIN schedule Maximum number of scheduled frames per LIN schedule table A LIN
tables schedule table can schedule the transmission of one or more frames. The Bus
Manager supports only schedule tables that schedule the transmission of a
maximum of 255 frames.
529
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
Limitations for LIN transport The Bus Manager does not provide automatic support for the LIN transport
protocol support protocol, which can be used for diagnostic purposes. You have to implement the
related functions with basic features, such as standard master request and slave
response frames.
Limitations for slave node Slave node configuration is performed by the LIN master. For example, if you
configuration work with off‑the‑shelf slave nodes, the LIN master can use special slave node
configuration commands in LIN schedule tables to set the network addresses and
frame identifiers of these slave nodes. For such a slave node configuration, the
following limitations apply:
§ The LIN master is simulated by the Bus Manager:
In this case, the Bus Manager can transmit slave node configuration
commands via master request frames. These commands must be specified
in LIN schedule tables in the communication matrix. If a required parameter
for such a command is missing (e.g., for the AssignNAD command), a sleep
command is generated, i.e., the first data byte of the master request frame is
set to 0. The next valid header that is sent wakes up the bus.
§ A LIN slave is simulated by the Bus Manager:
The Bus Manager does not respond to received slave node configuration
commands. Instead, the simulated LIN slave is configured according to the
specifications in the communication matrix.
Limitations for frames and Transmission of unconditional LIN frames Unconditional LIN frames can
PDUs be transmitted only according to a schedule defined by the LIN master. Timings
defined for PDUs that are included in an unconditional LIN frame are ignored.
No support of multiplexed IPDUs The Bus Manager does not support LIN
multiplexed IPDUs.
No support of LIN frame variants The Bus Manager does not support LIN
frame variants within one communication cluster. LIN frame variants are frames
with identical LIN identifier but different frame-related settings (e.g., frame type,
checksum type, or frame length). If LIN frame variants are exchanged via a
communication cluster at run time, their behavior is undefined.
If you want to work with LIN frame variants for a communication cluster, you
have to assign each frame variant to a separate bus configuration and add the
Bus Configuration Enable feature to all the bus configurations. At run time,
you must ensure that only one of the bus configurations is active at a time, i.e.,
the state of all other bus configurations must be set to 0: Disabled.
Refer to Working with Bus Configuration Features on page 191.
530
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for Bus Configuration Handling
Limitations for simulating LIN The Bus Manager does not support the simulation of more than one LIN slave
slave responses response via one bus access at the same time.
§ Effects on real-time applications:
If two LIN slave responses are to be transmitted via one bus access at the same
time, only the last response is sent at run time. If more than two LIN slave
responses are to be transmitted, the real-time application stops and the web
interface of the real-time hardware displays an error message in the message
viewer.
§ Effects on offline simulation applications:
If two or more LIN slave responses are to be transmitted via one bus access at
the same time, only the last response is sent at run time.
Bus Manager and RTI CAN Bus configurations and signals provided by blocks of the RTI CAN MultiMessage
MultiMessage Blockset/RTI LIN Blockset and/or RTI LIN MultiMessage Blockset must not be mapped to the same
MultiMessage Blockset CAN/LIN function block. When you work with the Bus Manager and a behavior
model that contains blocks of these blocksets, make sure that you use separate
CAN/LIN function blocks to specify the hardware access for them.
One bus configuration must The Bus Manager supports multicore (MC) and multi-processing-unit (multi-PU)
run on one core applications. However, a bus configuration must always be assigned to one
core. You cannot split a bus configuration to run parts of it on different cores.
Therefore, you must not connect one bus configuration to two or more behavior
models that are assigned to different application processes, for example.
Limitation for replacing When you replace an assigned communication matrix, existing ISignals can be
an assigned communication identified only by their name. They cannot be identified by their start bits.
matrix
Limitations for element Depending on the tool chain you use (operating system, experiment software,
names modeling tool, etc.), UTF-16 characters might not be supported. To avoid
problems, use only alphabetic and numeric ASCII characters and underscores
for names of communication matrix elements and bus configuration elements.
Additionally, to avoid conflicts in the TRC file generation, do not use the
following characters:
§ "
§ /
§ .
531
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
For these elements, adhere to the restrictions above when specifying the names
within the communication matrix.
Limitation for event periods Depending on the configured bus communication, various events with
preconfigured periods are generated automatically for each bus configuration.
If you want to change a preconfigured period while you are working without a
behavior model, the minimum supported period is 1 ms.
Limitations for transmitting The transmission of PDUs that are assigned to the Simulated ECUs part of a bus
PDUs that are assigned to the configuration is influenced by the related BusCfg_MainFunctionDeliver [<bus
Simulated ECUs part configuration name>] runnable function. Regarding the deliver runnable
function, the following limitations apply:
§ Triggers for transmitting PDUs cannot be queued. If there are two or more
triggers before the first trigger is evaluated by the deliver runnable function,
only the last trigger is evaluated and the PDU is transmitted according to this
trigger.
§ After the transmission of a PDU is triggered, data such as ISignal values is
written to the PDU when the related deliver runnable function evaluates the
trigger. The PDU is transmitted with this data. If there is a delay between the
trigger and its evaluation by the deliver runnable function, this might not be
the data when the trigger occurred.
Limitation for using physical When you create model port blocks for function outports of ISignal values, the
ISignal values as initial values physical ISignal values that are specified in the communication matrix can be
of model inports used as the initial value of related model inports. This is possible only if you
create model port blocks via the Generate New Simulink Model Interface
command.
No support for stop values ConfigurationDesk lets you use stop values for signals. Bus configurations do not
support stop values.
Limitations for copy and cut § You cannot directly copy or cut communication controllers, partial network
operations clusters, or global time domains of a bus configuration. However, these
elements are copied or cut if you copy/cut related elements.
§ You cannot copy or cut unresolved elements of a bus configuration.
Limitations for importing You can import working views to a ConfigurationDesk application via CAFX
working views that contain (ConfigurationDesk application fragment) files. When a CAFX file contains Bus
Bus Configuration function Configuration function blocks, the following limitations apply.
blocks
No support of CAFX files exported with Release 2020‑B or earlier You
cannot import CAFX files that were exported with dSPACE Release 2020‑B or
earlier. If you try to do so, the import is aborted and a warning message is
displayed.
532
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for Bus Simulation Containers
Introduction For bus simulation containers that are generated with the Bus Manager, some
limitations apply.
533
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
Limitations for generating bus Only Simulink® implementation container (SIC) files as model
simulation containers by using implementation If you work with behavior models, you must work with
the Bus Manager Simulink implementation container (SIC) files as a model implementation .
Other file formats, such as FMU or SLX files, are not supported. If an application
process contains a model implementation that is no SIC file, no bus simulation
container is generated for this application process and the Message Viewer
displays a warning message.
Limitations for SIC files If you work with behavior models, the following
limitations apply for the required SIC files:
§ You cannot use SIC files that are generated with TargetLink.
§ You cannot use precompiled SIC files.
§ The SIC files must not contain A2L variable descriptions.
If an unsupported SIC file is assigned to an application process, no bus
simulation container is generated for this application process and the Message
Viewer displays a warning message.
Only one behavior model per application process You can generate bus
simulation containers only for application processes to which no or exactly one
behavior model is assigned. Multiple behavior models per application process
are not supported for bus simulation container generation. If multiple behavior
models are assigned to an application process, no bus simulation container
is generated for this application process and the Message Viewer displays a
warning message.
Limitations for using BSC When you add BSC files as a model implementation to a ConfigurationDesk
files in ConfigurationDesk application, the following limitations apply:
applications
No MTFX export for elements of BSC files ConfigurationDesk does not
support exporting a complete model topology containing a BSC file into an
MTFX file. All parts of the model topology related to the BSC file, i.e., all
subsystems and all model port blocks of the BSC file, are ignored during an
MTFX export.
534
ConfigurationDesk Bus Manager Implementation Guide May 2024
Limitations for Bus Simulation Containers
Naming restrictions for SIC files and bus configurations When you use
BSC files in a ConfigurationDesk application, you must observe the following
naming restrictions:
§ If a BSC file contains a Simulink implementation container (SIC file), the name
of the model implementation that the SIC file describes must be unique in
the application process to which the BSC file is assigned. This applies to the
following:
§ All model implementations assigned to the application process.
§ All model implementations described by SIC files that are included in other
BSC files assigned to the application process.
§ The names of bus configurations that are included in a BSC file must be
unique in the application process to which the BSC file is assigned. This applies
to all BSC files and Bus Configuration function blocks that are assigned to
the application process.
Limitations for using bus For using bus simulation containers on simulation platforms, the following
simulation containers on general limitations apply:
simulation platforms § Bus simulation containers can be used only on dSPACE platforms (e.g., VEOS,
SCALEXIO systems), including dSPACE platforms that support RTMaps, such as
AUTERA AutoBox or MicroAutoBox Embedded PC. Bus simulation containers
cannot be used on third-party platforms.
§ Bus simulation containers that contain a behavior model can only be used
with VEOS, SCALEXIO, MicroAutoBox III, or MicroLabBox II systems. Such bus
simulation containers cannot be used on other dSPACE platforms.
Limitations for using BSC files BSC files that contain LIN communication cannot be used with RTMaps. If you
with RTMaps try to generate artifacts for an RTMaps application from a BSC file that contains
LIN communication, an error message is displayed and the artifact generation is
aborted.
535
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Limitations for Using the Bus Manager
Limitations for using BSC files When you use BSC files with VEOS, the following limitations apply:
with VEOS § Precompiled BSC files can be used with VEOS only if they contain the original
source files.
§ BSC files that contain SIC files generated for the 64‑bit target architecture
cannot be used with VEOS running on a Windows operating system. To use
BSC files that contain SIC files with VEOS running on a Windows operating
system, the SIC file must be generated for the 32‑bit target architecture,
regardless of whether Windows 32‑bit or 64‑bit is used.
§ When an offline simulation application that contains one or more imported
BSC files runs on VEOS and you stop and restart the application, the
simulation results might be incorrect. To avoid this, you must unload the
offline simulation application before you restart it.
Limitations for using Task information variables are located at different places in offline offline
automation scripts for SIL simulation applications and real-time applications. Therefore, you must adapt
simulation and real-time automation scripts for VEOS and SCALEXIO/MicroAutoBox III/MicroLabBox II
simulation if the scripts unconditionally evaluate CallCounter, OverrunCount, or
TurnaroundTime variables.
536
ConfigurationDesk Bus Manager Implementation Guide May 2024
Appendix
Appendix
Introduction The Bus Manager supports various PDU types according to AUTOSAR, FIBEX,
DBC, and LDF. To provide a consistent representation of the supported PDU
types, the Bus Manager uses PDU-specific element types that are derived from
the AUTOSAR PDU entities. PDUs of other communication standards are mapped
to these element types.
Mapping of PDU types The following table provides an overview of the mapping of the PDU types in the
Bus Manager to the PDU types provided by the AUTOSAR, FIBEX, DBC, and LDF
standards.
537
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Appendix
538
ConfigurationDesk Bus Manager Implementation Guide May 2024
Mapping of Bus Manager PDU Types to Communication Standard PDU Types
539
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Appendix
Tip
In automation scripts, you can access the Bus Manager PDU types via their
primary role. The primary role of a PDU is the PDU element type without
spaces or hyphens, and adapted capitalization, for example:
§ BusISignalIPdu
§ BusContainerIPdu
§ BusGeneralPurposeIPdu
For more information, refer to Automating Bus Manager Features
(ConfigurationDesk Automating Tool Handling ).
Optimized Set of TRC File Variables for Bus Configuration Function Ports
Introduction For each function port with enabled test automation support, variables are
generated into the variable description file (TRC file ) when you build a real-
time application or generate bus simulation containers. When the Variable
description property of a bus configuration is set to Optimized, an optimized
set of variables is generated. The generated variables depend on various aspects,
such as the function port type and the mapping to a model port.
Function inports mapped to For function inports that are mapped to model ports, the following applies:
model ports
Generated
TA_Switchvalue
variables
Model
MDL_Signal
outport
Function
IO_Signal TA switch
inport
TA_Replacevalue
Initial Depends on the setting of the Initial switch setting property, which is
function used as the initial value of the TA_Switchvalue variable.
port value
Description You can switch the signal source between the original signal (MDL_Signal)
and the substitute signal (TA_Replacevalue). The value specified for the
540
ConfigurationDesk Bus Manager Implementation Guide May 2024
Optimized Set of TRC File Variables for Bus Configuration Function Ports
Initial value property of the function port is used as the original signal
value.
At run time, the TA_Switchvalue variable is evaluated only when the
transmission of the related PDU is triggered. Because of this, the value of
the IO_Signal variable is updated only in this case. Refer to Run‑time
optimizations of the Optimized mode for function inports on page 205.
Function inports not mapped For function inports that are not mapped to model ports, the generation of
to model ports variables depends on the following cases:
Case A and Case B For the cases A and B, the following applies:
Condition § Case A:
TRC file generated for real-time application.
§ Case B:
TRC file generated for bus simulation container and Model access of
the function port set to Disabled.
Generated Function
IO_Signal TA_Replacevalue
variables inport
Initial Value specified for the Initial substitute value property, which is used as
function the initial value of the TA_Replacevalue variable.
port value
Description The signal source of the function port is the substitute signal
(TA_Replacevalue). The signal source cannot be changed. The setting
of the Initial switch setting property has no effects on the function port.
MDL_Signal
Function
IO_Signal TA switch
inport
TA_Replacevalue
Initial Depends on the setting of the Initial switch setting property, which is
function used as the initial value of the TA_Switchvalue variable.
port value
Description You can switch the signal source between the original signal (MDL_Signal)
and the substitute signal (TA_Replacevalue). The value specified for the
Initial value property of the function port is used as the original signal
value.
541
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Appendix
Tip
Function ports that are not mapped to model ports are available
at the port interface of bus simulation containers. Because all
variables are generated for the function port, you can use it
without restrictions, e.g., if you use the bus simulation container in
ConfigurationDesk or VEOS . For more information, refer to Port
Interface of Bus Simulation Containers on page 377.
Function outports mapped to For function outports that are mapped to model ports, the following applies:
model ports
Generated Function Model
IO_Signal MDL_Signal
variables outport inport
Initial Value specified for the Initial value property, which is used as the initial
function value of the IO_Signal variable.
port value
Description The signal source of the function port is the original signal (IO_Signal).
This signal value is provided to the model port. The signal source cannot be
changed. The setting of the Initial switch setting property has no effects
on the function port.
Function outports not For function outports that are not mapped to model ports, the following applies:
mapped to model ports
Generated Function
IO_Signal
variables outport
Initial Value specified for the Initial value property, which is used as the initial
function value of the IO_Signal variable.
port value
Description The signal source of the function port is the original signal (IO_Signal).
The signal source cannot be changed. The setting of the Initial switch
setting property has no effects on the function port.
Tip
542
ConfigurationDesk Bus Manager Implementation Guide May 2024
Resolving the Bus Configuration Conflict: No Valid Application Process Assigned
Restrictions for the optimized For the function ports of the following bus configuration features, no optimized
set of variables set of variables can be generated:
§ Frame Capture Data feature
§ Filter Control feature
§ LIN Schedule Table feature
Instead, the complete set of variables is always generated for the function ports
of these features, even if the Variable description property is set to Optimized.
Moreover, no run‑time optimizations are used for the function inports of these
features.
Further information For more information, refer to Accessing Function Ports with Enabled Test
Automation Support in Variable Description Files (TRC Files) on page 202.
If the conflict is not resolved after you completed the implementation of the bus
communication in the signal chain or the conflict occurs after you modified the
implemented bus communication, the conflict causes and remedies that apply to
your case depend on the following use scenarios:
§ Use scenario 1: Working without a behavior model on page 543
§ Use scenario 2: Working with a behavior model on page 544
§ Use scenario 3: Working with multiple behavior models (multicore application)
on page 545
Use scenario 1: Working Conflict cause If you work without a behavior model, a possible conflict
without a behavior model cause is that no application process is available.
543
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Appendix
§ Assign the bus configuration to the application process in one of the following
ways:
§ Assign at least one bus access request of the bus configuration to a bus
function block (CAN, LIN) and assign a hardware resource. Refer to How to
Specify the Hardware Access on page 344.
§ Assign the bus configuration to the application process manually. Refer to
How to Manually Assign Bus Configurations to Application Processes on
page 387.
Use scenario 2: Working with Conflict cause If you work with a behavior model, possible conflict causes
a behavior model are:
§ The behavior model is not available in the ConfigurationDesk application.
§ The behavior model is available in the ConfigurationDesk application, but no
application process exists.
§ None of the behavior model's data ports are mapped to function ports of the
bus configuration.
§ A data port of the behavior model is mapped to a function port of the
bus configuration. Due to a manually assigned application process, the bus
configuration is assigned to two application processes, to the manually
assigned application process and to the application process of the behavior
model.
544
ConfigurationDesk Bus Manager Implementation Guide May 2024
Resolving the Bus Configuration Conflict: No Valid Application Process Assigned
Use scenario 3: Working with Conflict cause If you work with multiple behavior models, possible conflict
multiple behavior models causes are:
(multicore application)
§ The bus configuration is mapped to two or more behavior models that are
assigned to different application processes, as shown in the following example.
ConfigurationDesk
SCALEXIO
Processing unit
Bus Configuration Application process 1
Behavior model 1
I/O unit
Model Model
port block port block
Bus hardware
CH1 CH2 Bus
CH3 CH4 Configuration
function block Application process 2
Behavior model 2
Hardware resource Model Model
assignment port block port block
§ The bus configuration and an assigned bus function block (CAN, LIN) are
mapped to different behavior models that are assigned to different application
processes, as shown in the following example.
ConfigurationDesk
SCALEXIO
Tip
545
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Appendix
Further information For more details on application processes and tasks, refer to Modeling Executable
Applications and Tasks (ConfigurationDesk Real-Time Implementation Guide ).
546
ConfigurationDesk Bus Manager Implementation Guide May 2024
ConfigurationDesk Glossary
ConfigurationDesk Glossary
Introduction The glossary briefly explains the most important expressions and naming
conventions used in the ConfigurationDesk documentation.
A........................................................................................................... 548
B........................................................................................................... 548
C........................................................................................................... 551
D........................................................................................................... 554
E........................................................................................................... 555
F............................................................................................................ 557
G........................................................................................................... 558
H........................................................................................................... 559
I............................................................................................................ 559
L............................................................................................................ 560
M.......................................................................................................... 561
N........................................................................................................... 564
O........................................................................................................... 564
P........................................................................................................... 564
R........................................................................................................... 565
S........................................................................................................... 566
T........................................................................................................... 568
U........................................................................................................... 569
V........................................................................................................... 569
547
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
W.......................................................................................................... 570
X........................................................................................................... 570
Basic PDU A general term used in the documentation to address all the PDUs
the Bus Manager supports, except for container IPDUs , multiplexed IPDUs ,
and secured IPDUs . Basic PDUs are represented by the or symbol in
tables and browsers. Unless stated otherwise, the Bus Manager provides the
same functionalities for all basic PDUs, such as ISignal IPDUs or NMPDUs.
548
ConfigurationDesk Bus Manager Implementation Guide May 2024
B
nor access to the hardware. Behavior models can be modeled, for example,
in MATLAB®/Simulink® by using Simulink Blocksets and Toolboxes from the
MathWorks®.
You can add Simulink behavior models to a ConfigurationDesk application.
You can also add code container files containing a behavior model such as
Functional Mock-up Units , or Simulink implementation containers to a
ConfigurationDesk application.
BSC file A bus simulation container file that is generated with the
Bus Manager or the Ethernet Configuration Package. A BSC file that is
generated with the Bus Manager contains the configured bus communication
of one application process . A BSC file that is generated with the Ethernet
Configuration Package contains the configured bus communication of one
project.
Build Configuration table A pane that lets you create build configuration
sets and configure build settings, for example, build options, or the build and
download behavior.
Build Log Viewer A pane that displays messages and warnings during the
build process .
Build results The files that are created during the build process . Build
results are named after the ConfigurationDesk application and the application
process from which they originate. You can access the build results in the
Project Manager .
549
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
Bus access requests are automatically included in BSC files . To build a real-time
application , each bus access request must be assigned to a bus access.
Bus Access Requests table A pane that lets you access bus access
requests of a ConfigurationDesk application and assign them to bus
accesses .
Bus Configuration Ports table A pane that lets you access and configure
function ports and event ports of bus configurations .
Bus Configurations table A pane that lets you access and configure bus
configurations of a ConfigurationDesk application .
Bus Inspection Features table A pane that lets you access and configure
bus configuration features of a ConfigurationDesk application for inspection
purposes.
Bus Manager
§ Bus Manager in ConfigurationDesk
A ConfigurationDesk component that lets you configure bus communication
and implement it in real-time applications or generate bus simulation
containers .
§ Bus Manager (stand-alone)
A dSPACE software product based on ConfigurationDesk that lets you
configure bus communication and generate bus simulation containers.
Bus Manipulation Features table A pane that lets you access and
configure bus configuration features of a ConfigurationDesk application for
manipulation purposes.
550
ConfigurationDesk Bus Manager Implementation Guide May 2024
C
Bus simulation container (BSC ) files that are generated with the Bus Manager
contain CAN and/or LIN communication, BSC files generated with the Ethernet
Configuration Package contain Ethernet communication.
Depending on the contained bus communication, BSC files can be used in
VEOS , in ConfigurationDesk, and/or in RTMaps:
§ In VEOS, they let you implement the bus communication in an offline
simulation application to perform SIL simulation on VEOS.
§ In ConfigurationDesk, they let you implement the bus communication in a
real-time application for SCALEXIO, MicroAutoBox III, or MicroLabBox II.
§ In RTMaps, they let you implement the bus communication in an
RTMaps‑based application for the AUTERA AutoBox, for example.
Bus Simulation Features table A pane that lets you access and configure
bus configuration features of a ConfigurationDesk application for simulation
purposes.
Buses Browser A pane that lets you display and manage the communication
matrices of a ConfigurationDesk application . For example, you can access
communication matrix elements and assign them to bus configurations. This
pane is available only if you work with the Bus Manager .
Cable harness A bundle of cables that provides the connection between the
I/O connectors of the real-time hardware and the external devices , such as the
ECUs to be tested. In ConfigurationDesk, it is represented by an external cable
harness component.
551
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
Configuration port A port that lets you create the signal chain for the
bus communication implemented in a Simulink behavior model. The following
configuration ports are available:
§ The configuration port of a Configuration Port block .
§ The Configuration port of a CAN, LIN, or FlexRay function block.
To create the signal chain for bus communication, the configuration port of a
Configuration Port block must be mapped to the Configuration port of a
CAN, LIN, or FlexRay function block.
552
ConfigurationDesk Bus Manager Implementation Guide May 2024
C
Conflicts Viewer A pane that displays the configuration conflicts that exist
in the active ConfigurationDesk application . You can resolve most of the
conflicts directly in the Conflicts Viewer.
553
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
Custom code Custom source, header, and library files that must be compiled
and linked to real-time applications . Custom code files can be specified via
the Build Configuration Set options in the Build Configuration table . Do not
confuse custom code with user code , which is a term used in the Bus Manager
context.
Data outport A port that supplies data from behavior model signals to
ConfigurationDesk's function inports.
In a multimodel application, data outports also can be used to supply data to a
data inport associated to another behavior model (model communication ).
DBC file A Data Base Container file that describes CAN or LIN bus systems.
Because the DBC file format was primarily developed to describe CAN networks,
it does not support definitions of LIN masters and schedules.
Delayed event An event that triggers a task when the specified delay time
has expired after the execution of the source task started.
Device connector A structural element that lets you group device pins in a
hierarchy in the External Device Connectors table to represent the structure of
the real connector of your external device .
554
ConfigurationDesk Bus Manager Implementation Guide May 2024
E
dSPACE Help The dSPACE online help that contains all the relevant user
documentation for dSPACE products. Via the F1 key or the Help button in the
dSPACE software you get context-sensitive help on the currently active context.
ECHX file An external cable harness file that contains the wiring
information for the external cable harness. The external cable harness is the
connection between the I/O connectors of the real-time hardware and the
devices to be tested, for example, ECUs.
ECU interfacing A generic term for methods and tools to read and/or
write individual ECU functions and variables of an ECU application . In
ECU interfacing scenarios, you can access ECU functions and variables for
555
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
EIC file An ECU interface container file that is generated with the ECU
Interface Manager and describes an ECU application that is configured for
ECU interfacing . You can import EIC files to ConfigurationDesk to perform
ECU interfacing with SCALEXIO systems , MicroAutoBox III, or MicroLabBox II
systems.
Event port An element of a function block . The event port can be mapped
to a runnable function port for modeling an asynchronous task.
556
ConfigurationDesk Bus Manager Implementation Guide May 2024
F
multiplexer signal can determine that specific multiplexed signals are included in
the IPDU. However, with extended signal multiplexing, a multiplexed signal itself
can serve as a multiplexer signal.
External Device Browser A pane that lets you display and manage the
device topology of your active ConfigurationDesk application .
External Device Configuration table A pane that lets you access and
configure the most important properties of device topology elements via table.
External Device Connectors table A pane that lets you specify the
representation of the physical connectors of your external device including
the device pin assignment.
FIBEX file An XML file according the ASAM MCD-2 NET standard (also
known as Field Bus Exchange Format) defined by ASAM. The file can describe
more than one bus system (e.g., CAN, LIN, FlexRay). It is used for data exchange
between different tools that work with message-oriented bus communication.
Find Results Viewer A pane that displays the results of searches you
performed via the Find command.
FMU file A Functional Mock-up Unit file that describes and implements the
functionality of a model. It is an archive file with the file name extension FMU.
The FMU file contains:
§ The functionality defined as a set of C functions provided either in source or in
binary form.
§ The model description file (modelDescription.xml) with the description of
the interface data.
§ Additional resources needed for simulation.
You can add an FMU file to the model topology just like adding a Simulink
model based on an SLX file .
557
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
CAN frames and LIN frames can contain only one PDU. To exchange a frame via
bus channels, a frame triggering is needed.
Function inport A function port that inputs the values from the behavior
model to the function block to be processed by the function.
Global working view The default working view that always contains all
signal chain elements.
558
ConfigurationDesk Bus Manager Implementation Guide May 2024
H
Hardware Resource Browser A pane that lets you display and manage all
the hardware components of the hardware topology that is contained in your
active ConfigurationDesk application in a hierarchical structure.
HTFX file A file containing the hardware topology after an explicit export.
It provides information on the components of the system and also on the
channel properties, such as board and channel types and slot numbers.
I/O event An asynchronous event triggered by I/O functions. You can use
I/O events to trigger tasks in your application process asynchronously. You can
assign the events to the tasks via drag & drop, via the Properties Browser if you
have selected a task, or via the Assign Event command from the context menu
of the relevant task.
Interface model A temporary Simulink model that contains blocks from the
Model Interface Blockset. ConfigurationDesk initiates the creation of an interface
model in Simulink. You can copy the blocks with their identities from the
interface model and paste them into an existing Simulink behavior model.
Interpreter A pane that lets you run Python scripts and execute line-based
commands.
Inverse model port block A model port block that has the same
configuration (same name, same port groups, and port names) but the inverse
data direction as the original model port block from which it was created.
559
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
LDF file A LIN description file that describes networks of the LIN bus system
according to the LIN standard.
LIN schedule table A table defined for a LIN master that contains the
transmission sequence of frame headers on a LIN bus. For each LIN master,
several LIN schedule tables can be defined.
Logical signal An element of a function block that combines all the signal
ports which belong together to provide the functionality of the signal. Each
logical signal causes one or more channel requests . Channel requests are
available after you have assigned a channel set to the logical signal.
560
ConfigurationDesk Bus Manager Implementation Guide May 2024
M
Logical signal chain A term that describes the logical path of a signal
between an external device and the behavior model . The main elements
of the logical signal chain are represented by different graphical blocks (device
blocks , function blocks and model port blocks ). Every block has ports to
provide the mapping to neighboring blocks.
In the documentation, usually the short form 'signal chain' is used instead.
MDL file A Simulink model file that contains the behavior model . You can
add an MDL file to your ConfigurationDesk application .
As of MATLAB® R2012a, the file name extension for the Simulink model file has
been changed from MDL to SLX by The MathWorks®.
Message Viewer A pane that displays a history of all error and warning
messages that occur during work with ConfigurationDesk.
Model analysis A process that analyzes the model to determine the interface
of a behavior model . You can select one of the following commands:
§ Analyze Simulink Model (Model Interface Only)
Analyzes the interface of a behavior model. The model topology of your
active ConfigurationDesk application is updated with the properties of the
analyzed behavior model.
§ Analyze Simulink Model (Including Task Information)
Analyzes the model interface and the elements of the behavior model
that are relevant for the task configuration. The task configuration in
ConfigurationDesk is then updated accordingly.
Model Browser A pane that lets you display and access the model
topology of an active ConfigurationDesk application . The Model Browser
provides access to all the model port blocks available in the behavior
models that are linked to a ConfigurationDesk application. The model
elements are displayed in a hierarchy, starting with the model roots. Below the
model root, all the subsystems containing model port blocks are displayed as well
as the associated model port blocks.
561
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
Model Communication Browser A pane that lets you open and browse
working views like the Signal Chain Browser , but shows only the Data
Outport and Data Inport blocks and the mapping lines between them.
Model port An element of a model port block . Model ports provide the
interface to the function ports and to other model ports (in multimodel
applications ).
These are the types of model ports:
§ Data inport
§ Data outport
§ Runnable function port
§ Configuration port
562
ConfigurationDesk Bus Manager Implementation Guide May 2024
M
Model-Function Mapping Browser A pane that lets you create and update
signal chains for Simulink behavior models . It directly connects them to I/O
functionality in ConfigurationDesk.
MTFX file A file containing a model topology when explicitly exported. The
file contains information on the interface to the behavior model , such as the
implemented model port blocks including their subsystems and where they are
used in the model.
563
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
OSA file An offline simulation application file that is built with VEOS to
perform SIL simulation .
Parent port A port that you can use to map multiple function
ports and model ports . All child ports with the same name are mapped.
ConfigurationDesk enforces the mapping rules and allows only mapping
lines that agree with them.
Physical signal chain A term that describes the electrical wiring of external
devices (ECU and loads) to the I/O boards of the real-time hardware. The
physical signal chain includes the external cable harness , the pinouts of the
connectors and the internal cable harness.
564
ConfigurationDesk Bus Manager Implementation Guide May 2024
R
Pins and External Wiring table A pane that lets you access the external
wiring information
Processing Resource Assignment table A pane that lets you configure and
inspect the processing resources in an executable application . This table is
useful especially for multi-processing-unit applications .
Properties Browser A pane that lets you access the properties of selected
elements.
565
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
RTA file A real-time application file. An RTA file is an executable object file
for processor boards. It is created during the build process . After the build
process it can be downloaded to the real-time hardware.
566
ConfigurationDesk Bus Manager Implementation Guide May 2024
S
Signal chain A term used in the documentation as a short form for logical
signal chain . Do not confuse it with the physical signal chain .
Signal Chain Browser A pane that lets you open and browse working
views such as the Global working view or user-defined working views.
Signal reference port A signal port that represents a connection point for
the reference potential of inports , outports and bidirectional ports . For
example: With differential signals, this is a reference signal, with single-ended
signals, it is the ground signal (GND).
Simulink model interface The part of the model interface that is available
in the connected Simulink behavior model.
SLX file A Simulink model file that contains the behavior model . You can
add an SLX file to your ConfigurationDesk application .
As of MATLAB® R2012a, the file name extension for the Simulink model file has
been changed from MDL to SLX by The MathWorks®.
567
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
triggered on every fourth execution of the base rate task via a software event.
Software events are available in ConfigurationDesk after model analysis .
Source Code Editor A Python editor that lets you open and edit Python
scripts that you open from or create in a ConfigurationDesk project in a window
in the working area . You cannot run a Python script in a Source Code Editor
window. To run a Python script you can use the Run Script command in the
Interpreter or on the Automation ribbon or the Run context menu command
in the Project Manager .
Table A type of pane that offers access to a specific subset of elements and
properties of the active ConfigurationDesk application in rows and columns.
Task Configuration table A pane that lets you configure the tasks of an
executable application .
Temporary working view A working view that can be used for drafting a
signal chain segment, like a notepad.
Timer event A periodic event with a sample rate and an optional offset.
568
ConfigurationDesk Bus Manager Implementation Guide May 2024
U
TRC file A variable description file that contains all variables (signals and
parameters) which can be accessed via the experiment software. It is created
during the build process .
User code A term used in the Bus Manager context. User code is C
code or C++ code containing user-specific algorithms. The algorithms provide
additional functionality to the Bus Manager, such as calculating checksum values
or generating authentication information for secured IPDUs . To implement
user code in executable applications , you have to use functions of the
Bus Custom Code interface and add the user code implementation to
ConfigurationDesk. Do not confuse user code with custom code .
VEOS Player A component of VEOS . The VEOS Player is the graphical user
interface for VEOS on Windows. For example, you can use the VEOS Player
to import bus simulation containers to VEOS, integrate the respective bus
communication in an offline simulation application , and load the application
to VEOS.
569
May 2024 ConfigurationDesk Bus Manager Implementation Guide
ConfigurationDesk Glossary
VSET file A file that contains all view sets and their settings from the current
ConfigurationDesk installation. A VSET file can be exported and imported via the
View Sets page of the Customize dialog.
Working View Manager A pane that lets you manage the working
views of the active ConfigurationDesk application . You can use the
Working View Manager for creating, renaming, and deleting working views,
and also to open a working view in the Signal Chain Browser or the Model
Communication Browser .
XLSX file A Microsoft Excel™ file format that is used for the following
purposes:
§ Creating or configuring a device topology outside of ConfigurationDesk.
§ Exporting the wiring information for the external cable harness .
570
ConfigurationDesk Bus Manager Implementation Guide May 2024
Index
Index
user‑defined 127 simulating 148
A Bus Configuration Enable feature 331 user-defined 404
bus configuration features runnable functions 363
adding
adding 192 secure onboard communication 67
behavior model 352
basics 192 simulation use scenarios 31
bus communication to signal chain 340
Bus Configuration Enable 331 supported PDU types 58
bus configuration 338
Communication Controller Enable 302 supported signal data types 58
communication matrix 335
configuring function ports 198 tasks 363
application process 385
Counter Signal 223 user code 139
assigning
Filter Control 328 variants 17
communication matrix to bus
Frame Access 288 Bus Manager Basics demo
configuration 340
Frame Capture Data 323 overview 448
authentic IPDUs 67
Frame Gateway Direction 327 steps of the Python script 452
automation interface 152
Frame Length 295 Bus Manager demos
GTS Time Base Data 315 overview 442
B GTS Transmission Control 313 Bus Manager SecOC demo
behavior model GTS Validation 317 definitions in the UserCode_SecOCDemo.c
configuring bus communication for real-time ISignal Group End‑to‑End Protection file 481
applications with a behavior model 45 Status 235 overview 471
configuring bus communication for real-time ISignal Offset Value 231 steps of the Python script 475
applications without a behavior model 48 ISignal Overwrite Value 228 bus simulation container
generating bus simulation containers with a ISignal Value 221 basics 373
behavior model 53 J1939 PDU Priority 263 bus access request 375
generating bus simulation containers without LIN Schedule Table 307 generating 379
a behavior model 54 LIN Wake-Up 305 port interface 377
working without a behavior model 385 manipulating bus communication 213
BSC files Partial Network Cluster Enable 321 C
basics 373 PDU Cyclic Timing Control 243
CAN
generating 379 PDU Enable 238
aspects of supported features 77
bus access 155 PDU Length 249
bus properties 361
assigning 344 PDU Raw Data 240
CAN FD 77
bus access request 155 PDU RX Interrupt 281
container IPDUs 64
bus simulation container 375 PDU RX Status 251
extended signal multiplexing 78
Bus Access Requests bus configuration part 107 PDU Selector Field 266
hardware access 157
bus communication defined in communication PDU Trigger 246
J1939 80
matrix 23 PDU User Code 254
multiplexed IPDUs 63
bus configuration SecOC 268
secure onboard communication 67
adjusting to a changed communication SecOC Authenticator Invalidation 271
cluster 23
matrix 435 SecOC Freshness Overwrite Value 274
coded signal value 60
assigning communication matrix Suspend Frame Transmission 298
Common Program Data folder 12, 552
elements 112 Suspend PDU Transmission 278
Communication Controller Enable feature 302
basics 100 Bus Custom Code interface 139
communication matrix
Bus Access Requests part 107 Bus Manager
adding elements 391
configurable node names 102 automation interface 152
assigning elements to bus
deprecated node 435 CAN bus features 77
configurations 112
features 192 container IPDUs 64
basics 92
filter for mappable ports 109 end-to-end protection 69
configurable elements 391
frame capture 105 event‑controlled timings 70
defining bus communication 23
function block 109 events 363
generating missing ECUs 95
Gateways part 105 gateway use scenarios 36
removing elements from bus
handling conflicts 163 implementing global time
configurations 120
Inspection part 105 synchronization 181
replacing 435
Manipulation part 105 implementing partial networking 146
supported file formats and versions 92
parts 103 implementing secure onboard
user-defined settings 391
removing communication matrix communication 143
computation methods 60
elements 120 inspection use scenarios 33
configurable node names 102
Simulated ECUs part 105 LIN bus features 88
conflicts
simulating PDU gateways 148 manipulation use scenarios 34
bus configuration 163
specifying frame captures 171 multiplexed IPDUs 63
communication matrix 163
specifying frame gateways 173 overview 17
container IPDUs 64
tables 103 partial networking 74
Counter Signal feature 223
bus configuration behavior PDU gateways
creating restbus configurations 121
default 125 AUTOSAR 76
cryptographic IPDUs 67
571
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Index
D H partial networking 74
implementing in executable applications 146
demos of the Bus Manager 442 hardware access 157
PDU
deprecated communication matrix node 435 specifying 344
instance 119
Documents folder 12, 555 hardware resources
PDU Cyclic Timing Control feature 243
dynamic simulation 31 assigning 344
PDU Enable feature 238
PDU gateways
E I AUTOSAR 76
E2E protection 69 initial values 198 simulating 148
ECU simulation 31 inspection user-defined 404
ECUs use scenarios 33 PDU Length feature 249
generating during communication matrix Inspection bus configuration part 105 PDU Raw Data feature 240
import 95 instantiating PDU RX Interrupt feature 281
element identification via node names 102 PDUs and ISignals 119 PDU RX Status feature 251
end-to-end protection 69 ISignal PDU Selector Field feature 266
event‑controlled timings 70 instance 119 PDU Trigger feature 246
events signal conversion 60 PDU User Code feature 254
provided by the Bus Manager 363 ISignal Group End‑to‑End Protection Status physical signal value 60
extended signal multiplexing 78 feature 235 port interface
ISignal Offset Value feature 231 bus simulation container 377
F ISignal Overwrite Value feature 228
failure gateway
ISignal Value feature 221 R
overview 36 recalculate
specifying 174 J end-to-end protection information 217
Filter Control feature 328 J1939 SecOC information 217
filters basics 80 replacing a communication matrix 435
communication matrix 98 bridge ECUs 95 restbus configuration
Frame Access feature 288 J1939 PDU Priority feature 263 create 121
frame capture 105 restbus simulation 31
Frame Capture Data feature 323 create restbus configuration 121
L
frame captures runnable functions
LIN provided by the Bus Manager 363
filters 177
aspects of supported features 88
specifying 171
bus properties 362
Frame Gateway Direction feature 327
hardware access 157
S
frame gateways
LIN Schedule Table feature 307 saturation values 201
filters 177
LIN Wake-Up feature 305 SecOC Authenticator Invalidation feature 271
specifying 173
Local Program Data folder 12, 560 SecOC feature 268
Frame Length feature 295
SecOC Freshness Overwrite Value feature 274
function ports
secure onboard communication 67
configuring 198 M
implementing in executable applications 143
manipulating bus communication 213 secured IPDUs 67
G execution sequence 220 Simulated ECUs bus configuration part 105
recalculate end-to-end protection simulation
gateways
information 217 dynamic 31
filters 177
recalculate SecOC information 217 ECU 31
simulating PDU gateways 148
manipulation restbus 31
specifying frame gateways 173
use scenarios 34 static 31
use scenarios 36
Manipulation bus configuration part 105 use scenarios 31
Gateways bus configuration part 105
model access 199 specifying
generating
enabling 351 hardware access 344
bus simulation container 379
multiplexed IPDUs 63 static simulation 31
global time synchronization
global time domain elements 182 Suspend Frame Transmission feature 298
implementing in executable applications 181 N Suspend PDU Transmission feature 278
using synchronized timer events 185 network node 23 synchronized timer events 185
using triggers of the RTI Synchronized Time node names 102
Base Manager Blockset 188 T
GTS Time Base Data feature 315
O tasks
GTS Transmission Control feature 313
overview of the Bus Manager 17 provided by the Bus Manager 363
GTS Validation feature 317
test automation support 199
P
Partial Network Cluster Enable feature 321
572
ConfigurationDesk Bus Manager Implementation Guide May 2024
Index
U
use scenarios of the Bus Manager
gateways 36
inspection 33
manipulation 34
overview 29
simulation 31
user code 139
user interface
Bus Manager-specific elements 25
using the Bus Manager and building real-time
applications
workflows 43
V
variants of the Bus Manager 17
W
workflow
configuring bus communication and
generating bus simulation containers 51
configuring bus communication for real-time
applications 43
configuring bus communication for real-time
applications with a behavior model 45
configuring bus communication for real-time
applications without a behavior model 48
generating bus simulation containers with a
behavior model 53
generating bus simulation containers without
a behavior model 54
working without a behavior model 385
573
May 2024 ConfigurationDesk Bus Manager Implementation Guide
Index
574
ConfigurationDesk Bus Manager Implementation Guide May 2024