Synchronize DSA Modules in FPGA

Updated Sep 17, 2018

Reported In


  • NI-9233
  • NI-9234
  • NI-9237
  • NI-9225
  • NI-9202
  • NI-9218
  • NI-9227
  • NI-9229
  • NI-9232
  • NI-9235
  • NI-9236
  • NI-9238
  • NI-9239
  • NI-9242
  • NI-9244
  • NI-9246
  • NI-9247
  • NI-9250
  • NI-9251


  • LabVIEW FPGA Module

Issue Details

  • I have some dynamic signal acquisition (DSA) modules in my CompactRIO and I would like to synchronize them in LabVIEW FPGA. How should I go about doing this?
  • I am using a cRIO with two dynamic signal acquisition cards. Based on the recorded data, the data collected by one lags the other. Sometimes they are synchronized, other times they are not. What should I do?


Syncronization of DSA modules is different depending on whether the modules are the same or different.

If the modules are the same you can set the data rate to be the same and you can use the same FPGA I/O node to syncronize the modules. 

If the modules are different, you will need to take the following steps into account:
  1. For synchronizing two different models, you will need to first export the clock from your fastest module and use that clock for the other modules.
  2. Every DSA module posses a couple of filters delaying the data. As this delays differs between different modules, you will need to compensate for it.
  3. The best method to read synchronized data from DSA Modules in LabVIEW FPGA is to have the I/O Nodes for each module in the same while loop. If you have the I/O Nodes for the different modules in parallel while loops, there will be additional startup delays that need to be taken into consideration. These startup delays will need to be benchmarked on a module-to-module basis to determine how to synchronize the acquisition.