Asynchronous Thread Circular Buffer Clear navigation bar

Table of Contents

Atomic Transition

Performs a rate transition between arbitrary rates that guarantees data integrity.

Library

QUARC Targets/Advanced/Asynchronous

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library/Advanced/Asynchronous')

Description

Atomic Transition

The Atomic Transition block performs a rate transition from its input to its output that guarantees data integrity. The input and output rates do not have to be integer multiples of each other.

The Atomic Transition block is typically used to transition between rates in situations where Simulink's Rate Transition block cannot be used, such as with variable-size signals, or where it cannot ensure data integrity.

Multi-dimensional and variable-size signals, as well as bus signals are supported (with some restrictions). See Using Bus Objects with QUARC for more information on bus signals, and refer to Variable-Size Signals for more details on variable-size signals.

Helpful Hints

Variable-size signals

Hint When using the Atomic Transition block with variable-size signals in subsystems, make sure any

Action Port

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

doc ActionPort;
,
Enable

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

doc Enable
or
Trigger

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

doc Trigger
ports are configured to propagate the sizes of variable-size signals during execution.

Input Ports

The input signal to be transitioned to another sample rate. Multi-dimensional, bus and variable-size inputs are supported as well as arbitrary data types. If a bus signal is used then the bus object must be configured in the Output data type parameter with the same bus type as the input.

Output Ports

The output signal at the rate specified in the Output sample time parameter. The data type of the output will be the same as the input.

Data Type Support

The Atomic Transition block supports signals of any datatype, including multidimensional, bus and variable-size signals. See Variable-Size Signals for more information on variable-size signals. See Using Bus Objects with QUARC for more information on bus signals.

Parameters and Dialog Box

Main Pane

The Main pane of the dialog appears as follows:

Output sample time

The sample time for the output port in seconds. The input sample time is inherited from the input signal so it does not need to be specified.

Signal Data Types Pane

The Signal Data Types pane of the dialog appears as follows:

Output data type

The data type of the output port. The data type must match the data type of the input. The default option of Inherit: Same as input ensures that the output data type matches the input data type.

Warning

Unfortunately, for bus objects more information is required. Hence, for bus objects specify the Bus: <Object name> option as well as the bus object name matching the input signal.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

Yes

Yes

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

Fully supported.

* Compatible means that the block can be compiled for the target.

See Also

 

navigation bar