Polybench® Reference
Synchronizes multiple data sources that may have different sample rates and that may be unsynchronous.

Synchronizer

Overview

The Synchronizer is an important operator in case you are using multiple data sources. Different data sources are not guaranteed to have equally distributed sample periods, and also they may use different burst modes. The Synchronizer takes care that the different sources are synchronous. Also it converts all input buses to the same sample frequency, which is the highest of the input buses.

Operator ports

Input S1: Any sample type. The connection is not limited to one type of signal.

Input S2: Any sample type. The connection is not limited to one type of signal.

Input S3: Any sample type. The connection is not limited to one type of signal.

Input S4: Any sample type. The connection is not limited to one type of signal.

Input S5: Any sample type. The connection is not limited to one type of signal.

Output S1: Any sample type. The connection is not limited to one type of signal.

Output S2: Any sample type. The connection is not limited to one type of signal.

Output S3: Any sample type. The connection is not limited to one type of signal.

Output S4: Any sample type. The connection is not limited to one type of signal.

Output S5: Any sample type. The connection is not limited to one type of signal.

Properties

Find more information about changing properties here: link

Caption
type: Word or phrase
The name of the object in the project. This name must not contain '.' or '$' characters.

Every object has the Caption property. This property is very important, because it is the name by which Polybench recognizes this object.
It is allowed to give multiple objects the same name, as long as the objects are of the same type. In that case, a reference to this caption includes all the objects with the same caption.
In Polybench, every object can be addressed by an Address specifier, which starts with the dollar sign, for example: $My Page.My Object. 'My Page' would be the Caption of a page, and 'My Object' the Caption of an object on that page.

Documentation
type: See description
Optional documentation of this object.

It is good practice to write in short notes why you have used this object, and why its properties are set the way they are set. If this object is an operator, the Documentation text is displayed below the operator symbol.

Details

The Synchronizer has 5 inputs and 5 outputs. These inputs and outputs are mirrored, that is input S1 connects to output S1, input S2 to output S2, etc. The channel information is copied unchanged to the output(s).

Not all inputs are required to be connected. You can choose to connect to inputs at will. Connected inputs are allowed to have different numbers of channels.

Constant operators cannot be connected to the inputs. If a constant is connected, the Synchronizer will issue a warning and refuse the connection.

All outputs get the same sample rate, which is the highest of all connected inputs. If one or more sources do not output samples, because they have not been started, the Synchronizer does not output samples either.



The Synchronizer supports sample bursts of maximal 1 second. This means, that if a data source puts out a burst of samples, this burst should not contain more than 1 second worth of samples. This also means that the Synchronizer does not work well with signals with a sample frequency less than 1 Hz.

The synchronizer will cause a delay between input and output. The delay time is undefined, but will not be larger than 2 seconds; the delay time depends on the burst size of the input sources. Between the output channels there will be no delay.

Feedback from a bus from one of the outputs of the Synchronizer is not allowed, but this is not checked by the system. If you do make some kind of feedback loop involving the Synchronizer operator, this may lead to undefined effects or bad performance.

Data sources from hardware devices need to be set to Synchronized mode

If a signal at one of the inputs stems from a hardware device operator, then that device operator must be set to Synchronized mode. All hardware device operators that contain the Synchronized property, must have their Synchronized property set to True. Read more about synchronizing different devices here: link.

If Synchronized is set to True on hardware device operators, this specifies that the data acquisition is System Synchonized, as opposed to Device Synchronized. To use hardware signal sources synchronized with other sources, all sources require to be System Synchronized. Signal sources such as from the Signal Generator (link) are controled by the system and are therefore automatically System Synchronized. If a hardware device operator is not set to Synchronized mode, the Synchronizer operator will show a buffer overflow after some undefined time. If this happens, the operator gives a warning below the symbol.

Examples

Example: Synchronizer Demo
Demonstrates various aspects and behavior of the Synchronizer operator.
Examples\DF0308038_001_Synchronizer_Demo.xmc