Timing and Synchronization
Timing and Synchronization — Speedgoat I/O modules for audio and speech
Introduction
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
signals.
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
react.
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.
An external clock can be used to trigger the model. For example, an external
PWM
signal can be read by the PWM Capture Code Module running on a configurable I/O
module. 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 I/O module 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.
Time-Based Synchronization
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.