Skip to main content
Time and Synchronization search search close
Create distributed and deterministic real-time applications with Speedgoat timing and synchronization solutions

Connected and distributed systems involving multiple nodes require synchronization with a time reference. Learn about the powerful and flexible solutions Speedgoat is offering.

For example, the origin of a malfunction in a power grid can be tracked down using sensor measurements, assuming that the exact timestamps of sensor measurement are known for each sensor in the grid.

Complex systems that require multiple computers to handle high computational loads are another practical example. They often require fast and deterministic data transfer and synchronized execution.

As a third example, synchronous execution is required to achieve optimal controller response and maximize system efficiency and reliability in distributed control systems.

Selection Guide​

Protocol Interface Timing Accuracy

Data exchange on same connection

Time Measure Speedgoat Hardware
IRIG BNC* 10us No Absolute IO821
PTP Ethernet 1us Yes​
(non-deterministic)
Absolute On-board Ethernet ports, Ethernet I/O modules
TSN Ethernet  1us  Yes  Absolute IO731 
GNSS Radio Signal​
(globally available)
<1us No Absolute IO821
Industrial Protocols Ethernet​
(EtherCAT DC, PROFINET IRT)
1us Yes​
(deterministic)
Absolute EtherCAT, PROFINET
Trigger Analog/Digital <1us No Relative Analog I/O, FPGAs
CPU Interrupt PCI, PCIe <1us Yes​
(PCI, PCIe, DMA)
Relative FPGAs, Analog I/O, IO821, Shared Memory
PPS BNC* (TTL*) <1us No Relative IO821, Digital I/O (TTL)

*BNC: a connector for coaxial cable, initialism of “Bayonet Neill-Concelman”

*TTL: Transistor-transistor logic

Signal-Based and Time-Based Synchronization​

As a system designer, you may choose to apply either time-based or signal-based synchronization. The decision is typically tied to the devices involved, the required synchronization accuracy, and the distance between nodes. Hybrid topologies are also common, especially for complex multi-node systems.

In time-based synchronization, the internal clock of each node is synchronized to a reference clock. This allows executing and correlating synchronized measurements with an absolute sense of time (date and time). Synchronization over long distances is possible by using globally available master clocks like the time signal provided by Global Navigation Satellite Systems (GNSS).

However, absolute time is not always required. For some applications, such as high-speed sampling, one of the goals is highly accurate synchronized execution. This is achieved by sharing exact trigger and clock signal pulses across nodes. This method is referred to as signal-based synchronization.

Time-Based Synchronization​

Industrial Protocols​

In industrial automation, it is very common to have multiple nodes that are orchestrated to operate synchronously. This requires synchronized communication and control. Dedicated protocols such as EtherCAT DC (Distributed Clocks) and PROFINET IRT (Isochronous Real-Time) offer ways to transfer data deterministically while ensuring that nodes’ clocks are synchronized with sub-microsecond accuracy.

Frequently Used I/O Interfaces

Simulink Application Resources 

Precision Time Protocol (PTP)​

PTP, also known as IEEE 1588 standard, provides high precision synchronization for Ethernet-based networks. Network adapters with built-in PTP capability on a hardware level allow synchronizing clocks with sub-microsecond accuracy. The protocol automatically corrects transfer delays and changes in the network topology, making it robust and easy to scale. Every Speedgoat real-time target machine is equipped with one or more PTP-capable Ethernet controllers per default. 

Frequently Used I/O Interfaces

Simulink Application Resources 

#

Inter Range Instrumentation Group (IRIG)​

IRIG timecodes define standards for encoding timing information. The fixed-length data is transferred in frames at specific time intervals, e.g., once every second for IRIG-B. First introduced in 1960, the IRIG standards have been widely adopted and improved over the years. Applications range from synchronizing power system devices and automation subsystems to frame synchronization in the communication industry.​

Frequently Used I/O Interfaces

 

Global Navigation Satellite System (GNSS)​

Synchronization via local connections degrades with increasing distance between nodes. Synchronization across long distances and different geographic locations can be achieved by using a globally available timing source, such as GPS, Galileo, or GLONASS. With a clear view of the sky, a stationary receiver module can discipline a global clock with an accuracy of ± 15ns. Additional nodes in close proximity can then be connected and synchronized via local connections using, for example, IRIG or PPS (pulse per second).

Frequently Used I/O Interfaces

 

Signal-Based Synchronization​

Synchronizing I/O-Channels​

Certain control and measurement applications require I/O channels to sample multiple signals synchronously. In that case, the respective Speedgoat I/O modules are equipped with dedicated frame trigger pins and clock pins to synchronize data acquisition across channels.

For instance, for controlling electric drives, Speedgoat Configurable FPGA I/O Modules can be used to drive power converters using Pulse Width Modulation (PWM) with the PWM Generation Code Module. The same PWM channels can be used as trigger pulses to orchestrate operation of analog digital converters (ADC) for synchronous sampling of phase currents and DC bus voltage.

Frequently Used I/O Interfaces

Simulink Application Resources 

Synchronizing I/O-Modules​

Multiple I/O-modules can be synchronized in both their internal clock and sample triggers. This allows you to easily scale up available I/O-interfaces to your requirements while keeping signal sampling across multiple I/O modules synchronized in phase and frequency. Simulink-Programmable FPGAs can also be interconnected using fiber-optical links using the Aurora protocol for ultra-low latency, high bandwidth communication and synchronized operation.

Frequently Used I/O Interfaces

 

#

Synchronizing CPU Application with I/O​

Various I/O-modules can interrupt the CPU of the target machine to synchronize I/O functionality with the execution of the Simulink model. For instance, the execution of an entire Simulink model, or a function-call subsystem, can be driven by an external PWM signal using the Interrupt Code Module. Similarly, the DMA engine of Speedgoat Analog I/O Modules can be used to synchronize model execution to the acquisition of fixed-size data frames.

Frequently Used I/O Interfaces

Simulink Application Resources 

#

Synchronizing Multiple Real-Time Target Machines​

There are multiple options to synchronize multiple machines. FPGAs and analog I/O modules can be used to receive interrupt signals from a common trigger source. Hence, those modules can trigger synchronous execution of the Simulink model or a subset of it. 

Another option is to implement shared memory using dedicated I/O modules such as the IO907. This allows for ultra-low latency and deterministic data exchange in addition to the sub-microsecond synchronization.

The multi-node synchronous operation can equally be achieved using time-based methods.

Frequently Used I/O Interfaces

Simulink Application Resources 

#

Relevant Resources


 
 

Curious how to accelerate control design innovation with a modular controller hardware setup?


Free Workflow Demo

See how Speedgoat can help you in the development of your control design for your application.


Schedule now
 

Have Questions?

Talk to our experts about your project and application requirements.

 
Follow Speedgoat LinkedIn