Port BUSACCESS - GENERIC¶

Generic bus access

Stimulation¶

Stimulation of bus signals is performed via the model access and is only possible if this also supports stimulation. The restrictions/comments of the model access also apply to the generic bus access.

Restrictions:

  • Stimulus input signals are not supported.

  • Trace files being referenced by a DataFileSegment in an STI file are not converted automatically by ecu.test.

  • It is up to the user to check whether the trace format being used is supported by the tool.

Specifics¶

With this port type you can read and manipulate bus quantities (frames and signals) that are represented in the model. The mapping for bus signals to model data is described in the test bench configuration. The corresponding syntax is described in the following section.

Port type BUSACCESS GENERIC

Bus port for access to the rest bus simulation of the environment model. The representation of signal/message names on model paths can be largely configured by means of path patterns. The representation of CRC and ALIVE signals is configured separately. CRC and ALIVE signals can be recognized by the prefixes “CRC” or “ALIV” in the signal names.

Path like properties might contain certain placeholders. Those will be automatically replaced when accessing bus signals. A placeholder always begins with the character “%” and is enclosed by parenthesis, like so: %(<placeholder>). The closing parenthesis has to be followed by a formatter.

Info

A valid expression could be e.g %(signal)s, where “signal” is a placeholder and “s” is a formatter.

Available placeholders

bus

Name of the bus

node

Name of the control unit

frame

Name of the message / frame

frameId

Numeric ID of the message / frame

CAN: CAN ID FlexRay: Slot ID

pdu

Name of the PDU / subframe

signal

Name of the signal

cycleRepetition

FlexRay only: The number of cycles after which a frame is sent again

baseCycle

FlexRay only: The first communication cycle in which a frame is sent

segmentType

FlexRay only: “Dynamic” if the current slot id is greater than the number of static slots, else “Static”

signalGroup

Name of the signalgroup

multiplexer

Multiplexer switch code (for example _DP_m4), if the signal belongs to a multiplexed PDU

Formatters

The placeholders can be formatted using the following formatting rules:

s

placeholder is just replaced, case sensitive spelling of value to be replaced remains unchanged

us

replaced value is completely converted into upper-case letters

ls

replaced value is completely converted into lower-case letters

d

replaced value is represented in decimal format

x

replaced value is represented in hex format with lower-case letters

X

replaced value is represented in hex format with upper-case letters

4x

replaced value is expanded to 4 digits with leading zeros (number of digits can be changed, and combination with X or d instead of x is also possible)

Marking parts of a path as optional

It is possible to mark certain parts of a path as optional. A part is optional if it:

  • is placed between squared brackets and

  • it contains at least one place holder

An optional part will be left out if any of the contained placeholders is evaluated to an empty string.

For example: A TX path has been configured as /can/[%(signalGroup)s/]%(signal)s/Value. Assuming a signal “A” belonging to signal group “sign_group”, manipulating it will result in the following model path: /can/sign_group/A/Value. The optional part is kept in the final path. But if the signal is not in a signal group, the path will result in /can/A/value.

Tx-Switch Path

The Tx-Switch path is used to de/-activate the manipulation of signals. The Switch path signal is set to the following values, to control the manipulation of the target signal:

  • 0: if the target signal is not manipulated

  • 1: if the target signal is written in Representation Physical conversion

  • 2: if the target signal is written in Representation Raw value

If Ignore missing *-Tx switch path is set, the Tx-Switch path may be non-existent. The target signal will still be written with the desired value.

Name

Available if

Default value

Valid values

Type

Description

Bus identifier

string

Logical name of the bus system

Model port

string

Port ID (e.g. “MDL01”) of the model port via which the model access is to be performed. This property can remain empty if there is exactly one model port. If there is more than one model port, this property must be set.

Bus-DB

string

Bus-database (This bus-database is usually taken from the test configuration. Please note that the bus-database is not automatically transferred to the tool, but must be stored there manually.)

Bus path

‘masterappl/Model Root/userinterface_master/disp/io/sg_info’

string

Base path of the model variables for the bus signals and messages. The Rx and Tx path specifications refer to this base path.

ALIVE naming pattern

‘ALIV*’

string

Pattern for the recognition of ALIVE signals. ? stands for a single character, * for one or more characters.

CRC naming pattern

‘CRC*’

string

Pattern for the recognition of CRC signals. ? stands for a single character, * for one or more characters.

Raw to phys conversion behavior

‘error’

[‘error’, ‘identical’, ‘first’, ‘firstOrIdentical’]


Display values:

  • ‘error’: ‘not allowed’

  • ‘identical’: ‘identical’

  • ‘first’: ‘first conversion function’

  • ‘firstOrIdentical’: ‘first conversion function or identical’

string

Behavior for conversions of raw values in domains without a specified conversion rule. This option should be set according to how the model represents signal values that have no physical representation. By default, such values are not allowed.

The option “identical” treats raw values directly as phys values.

The “first conversion function” applies the first defined conversion function on the raw value even if it is not defined for that value.

The “first conversion function or identical” option uses a first conversion function, if available, or the raw value if no conversion function is defined.

Rx path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/Out1’

string

Pattern of model path for signal reading

Tx path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/const_const/Value’

string

Pattern of model path for signal manipulation

Tx-Switch path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/const_switch/Value’

string

Pattern of model path to the switch for signal manipulation

CRC-Tx path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_const/Value’

string

Pattern of model path for manipulation of a CRC signal

CRC-Tx-switch path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_switch/Value’

string

Pattern of model path for enabling and disabling manipulation of a CRC signal

ALIVE-Tx path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_const/Value’

string

Pattern of model path for manipulation of an ALIVE signal

ALIVE-Tx-switch path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_switch/Value’

string

Pattern of model path for enabling and disabling manipulation of an ALIVE signal

Tx frame enable path

‘%(node)s/kommunikation/%(bus)s/%(frame)s/enable/const_const/Value’

string

Pattern of model path for enabling and disabling a frame

Ignore missing *-Tx switch path

☐

bool

If the *-Tx switch path is missing in the model, do not generate an error and restore the value of the *-Tx path to reset.

Restore behaviour

‘DEFAULT’

[‘DEFAULT’, ‘SWITCH_MODEL’]

string

If this property is set to DEFAULT, upon restoring a bus signal, both switch and const value are reset to their initial values. The setting SWITCH_MODEL however causes the switch to always be reset to “use the calculated value”. The const value is not changed.