Timing and Synchronization
Timing and Synchronization — Speedgoat I/O modules for audio and speech
Speedgoat offers a range of solutions for timing and synchronization for many
different scenarios, such as synchronizing model execution time across several
real-time target machines, and synchronization model execution with external
Synchronization between two or more real-time target machines
The following can be used to ensure all real-time target machines have the same
model execution time:
Shared memory I/O modules: A shared memory I/O module in one
real-time target machine acts as synchronization master, and broadcasts a
network interrupt on which the slaved real-time target machines
PTP (Precision Time
Protocol): This protocol can be used to synchronize real-time
target machines over Ethernet
Synchronization with External Signals
A device or sensor with a clock can be used to provide the timing. For example,
the IO811 Camera Link I/O module can capture a timing signal generated by a camera
when an image is acquired. The complete model can then be executed based on this
signal to ensure complete synchronization.
An external clock can be used to trigger the model. For example, an external
signal can be read by the PWM Capture Code Module running on an a Configurable FPGA.
The signal can be used to trigger model execution using the Interrupt Code Module.
A real-time target machine can be triggered from an external source using the DMA
interrupt of the IO106 Analog I/O module.
Synchronization of Different Components of the Same Target Machine
For motor control, a Configurable FPGA can be used to generate PWM commands
using the PWM Generation Code Module. An Analog input I/O module is then
synchronized to the PWM signal to measure motor feedback. Model execution is
synchronized to the PWM period to read all the collected analog samples.
For audio applications, the analog input can be synchronized with the analog
output, to guarantee a fixed delay.
For time-based synchronization, Speedgoat offers the IO821 IRIG timing module
which can be used to generate an interrupt to trigger a Simulink model at very
precise intervals. The timing source for the IO821 can be either GPS, any dedicated
timing device, or the I/O module itself (OCXO), and it can be used to synchronize
other real-time target machines with IO821 I/O modules installed.