Using Time-Based Synchronization in NI-Sync

Time-based synchronization—also known as a distributed clock synchronization—is characterized by the use of an external timing source such as GPS, 1588, or an external IRIG generator. The system timing module uses the external time reference to determine the present time and create a clock that is locked to the external source. The individual clocks of each module and device in the system are synchronized to the same external source, ensuring synchronization between nodes no matter how far apart they are. Devices act on timing signals originating from a local clock that is synchronized to the other clocks in the system, so instead of sharing timing signals directly, the devices periodically adjust their local timing sources to match the selected external time reference.

Using the time-based synchronization method, you can perform the following actions:

Synchronizing distributed clocks requires constant adjustment. A clock is essentially a two-part device that consists of a frequency source and an accumulator. In theory, if you set two clocks identically and their frequency sources run at the exact same rate, they are synchronized indefinitely. In practice, however, clocks are set with limited precision, frequency sources run at slightly different rates, and the rate of a frequency source changes over time and temperature. Most time-based NI timing and synchronization devices use an oven-controlled crystal oscillator (OCXO) or a temperature-controlled crystal oscillator (TCXO) as a frequency source, but even these highly accurate frequency sources vary due to initial manufacturing tolerance, temperature and pressure changes, and aging.

Because of these instabilities, distributed clocks must be synchronized continually to match each other in frequency and phase. While a time-based system is generally not as accurate as a signal-based system, you can use the time-based synchronization method to synchronize complex systems with many different nodes spread out over a large area—even nodes that are moving— with no loss of accuracy. If you are using the GPS timing protocol, you can even measure the location, speed, and altitude of a node using time-based synchronization.

You can configure PXI modules to use four different external time references: IEEE 1588-2008, GPS, IRIG-B, and PPS. Linux RT targets can also use IEEE 802.1AS as a time reference.

Time-Based Synchronization Phases

The time-based synchronization method can be broken down into the following phases:

In the following phases, you configure future time events, enable timestamps, and generate clocks. These phases are independent of each other; you can use all, none, or a combination of the phases with time-based synchronization.

In the following phases, you read timestamps you created and close the connections you established earlier in the application to free the resources for other uses.

Time-Based Advanced and Utility Functions

Functions and VIs that do not fall into the above time-based synchronization phases are considered Advanced or Utility functions. You can access the Advanced palette by selecting NI-Sync»Advanced from the Functions palette, and the Utility palette by selecting NI-Sync»Utility. Functions dealing with IEEE 1588-2008 and GPS also have their own palettes. Access the 1588 palette by selecting NI-Sync»Timing»1588 and the GPS palette by selecting NI-Sync»Timing»GPS.