NI 579x Synchronization Repeatability Example

Publish Date: Nov 21, 2013 | 2 Ratings | 4.00 out of 5 | Print | Submit your review

Overview

This project demonstrates how to implement synchronization repeatability using the MIMO Streaming Project Template. Use this example to synchronize the NI 5791, NI 5792, or NI 5793 FlexRIO adapter modules for the MIMO Streaming Project Template.

Table of Contents

Use Cases

The ni579x Host Driven Synchronization.vi aligns the specified devices each time it runs. This VI aligns the devices within ± Ts/2, where Ts/2 is half of a sampling period. This alignment should be sufficient for many use cases; however the alignment within this range is not deterministic. Between reboots, the devices may be aligned slightly differently (although still within ± Ts/2). This jitter may not be acceptable for some applications. In order to maintain repeatable synchronization (achieving the same alignment across reboots) use the provided Synchronization Repeatability API. This API allows you to synchronize the devices, save the resulting configuration to file, and restore that configuration for subsequent runs rather than repeating the synchronization algorithm. Using the Synchronization Repeatability API removes the jitter between runs, but may not result in the best alignment over time.

Use this example when synchronization repeatability is critical to your application. In order to ensure repeatable synchronization, you will need to resave the synchronization data anytime your hardware configuration changes. These changes include, but are not limited to, using different RF cables, PXIe chassis, PXIe chassis slots, NI FlexRIO FPGA Modules, RF cables, and NI 579x Adapter Modules. Even if you use the same hardware model, the same synchronization behavior is not guaranteed when you use synchronization state data saved for different hardware. Even environmental changes such as temperature can cause your synchronization to vary.

You can save the synchronization data by running the Record Synchronization Data.VI anytime you make a new change to your setup. You can then select the corresponding file path within the MIMO Rx/Tx Streaming VI from the NI 579x Synchronization Repeatability Project to enable streaming using the same synchronization state you have saved. This will allow your tests to have more repeatable synchronization.

Theory of Operation

 

Fig 1. Repeat Host Driven Synchronization.vi

Repeat Host Driven Synchronization.vi automatically synchronizes the RF FAMs. Figure 1 shows the Repeat Host Driven Synchronization.vi block diagram. The synchronization data out output terminal provides the necessary synchronization data in order for the RF FAMS to be synchronized back to this particular synchronization state. Call Repeat Host Driven Synchronization.vi to synchronize the devices back to the same synchronization state when you provide synchronization data to the synchronization data in input terminal.

Fig 2. Record Synchronization Data.vi

Figure 2 shows the Record Synchronization Data.vi block diagram. Record Synchronization Data.vi first configures and creates an object reference to the FPGAs. The VI then synchronizes the devices using the Repeat Host Driven Synchronization.vi and saves the file to disk as specified by the file path control. NI recommends saving your data as a .csv file for later use.

Fig 3. Synchronize to Recorded Data.vi

Figure 3 shows the Synchronize to Recorded Data sub VI. This VI reads the saved .csv file containing synchronization data that represents the previous synchronization state. The synchronization state data configures the FPGAs via Repeat Host Driven Syncrhonization.vi to perform the actual synchronization.

Instructions

This example demonstrates how to implement Synchronization Repeatability for the MIMO Streaming template. The MIMO Streaming Project Template is bundled with the NI FlexRIO Adapter Module Support. You can find the project template at <LabVIEW>\ProjectTemplates\Source\NI-579X\Simple NI-579X Streaming. The project does not include FPGA targets, as the FPGA bitfiles are already precompiled and shipped with NI FlexRIO Adapter Module Support 3.3 and later for the PXIe-7966R. The bitfiles are located in the following file directory: <LabVIEW>\examples\instr\ni579x\Streaming\FPGA Bitfiles\.

Complete the following steps to implement synchronization repeatability. Save the synchronization data of the original synchronization state to disk (Part A), and load the data to return to the original state for repeatable synchronization (Part B).

Part A

Perform Part A every time there is any variation to the hardware configuration. This step creates a synchronization state data file which you can use to resynchronize the RF FAMs.

  1. Open Record Synchronization Data.vi
  2. Select the RIO Devices using their Aliases from the Measurement & Automation Explorer (MAX).
  3. Select your RF NI FlexRIO Adapter Module on the FAM Selection enumeration control.
  4. On the block diagram, make sure you have the correct bitfile selected for your hardware configuration.
  5. Select the directory and file name you wish to save your synchronization state data to. If no entry is selected, you will be prompted for a file location at run-time.
  6. Run the VI. If execution completes error-free, the synchronization data is valid.

Part B

Part B demonstrates how to implement synchronization repeatability using the MIMO Streaming template. Use the MIMO Rx Streaming (Host) with Synchronization Repeatability.vi if you have a NI 5791 or a NI 5792 Rx setup. Use the MIMO Tx Streaming (Host) with Synchronization Repeatability.vi if you have a NI 5791 or a NI 5793 Tx setup.

  1. Open MIMO Rx Streaming (Host) with Synchronization Repeatability.vi or MIMO Tx Streaming (Host) with Synchronization Repeatability.vi depending on your hardware setup.
  2. Select the RIO Devices with their Aliases from MAX.
  3. On the block diagram, make sure you have the correct bitfile selected for your hardware configuration.
  4. Select the directory and file name of the previously saved synchronization state data file. If no entry is selected, you will be prompted for a file location at run-time.
  5. Run the VI.

 

Back to Top

Bookmark & Share


Downloads

Attachments:

NI 579x Synchronization Repeat
ability Example

Requirements


Ratings

Rate this document

Answered Your Question?
Yes No

Submit