NI 9775 FPGA Timing Configuration in Continuous Mode

Updated Apr 27, 2023

Reported In

Hardware

  • NI-9775

Software

  • LabVIEW FPGA Module
  • LabVIEW
  • LabVIEW Real-Time Module

Issue Details

  • In NI FPGA example code 'NI 9775 Getting Started Continuous mode(FPGA)', why there is no any timing configuration on the loop?
  • In NI 9775 help document, 4MS/s seems maximum data rate for communication between I/O node and chassis. But, in an example of this module, continuous Data Rate in FPGA I/O Property input was limited in speed 1.000MS/s. Why?

Solution

In the NI 9775 Continuous mode example, the FPGA code does not have a timing configuration function in the while loop. Nevertheless, the data rates set by the FPGA I/O Property repeats the loop. The reason is that the FPGA I/O node resource is compiled to the most time-consuming component in the loop. So, the loop rates are dependent automatically.

For example, If the Continuous data rate is set to 1MS/s, loop is repeated with 1 us and the loop maintains the 1MS/s speed within the loop to the extent that the sum of all function time included is not more than 1 us. But if not, it’ll lose the intended speed. It could be recognized after compilation only. Refer to below figure. After compilation of FPGA code included with Tick Count, which indicates 40 ticks. 


In continuous mode, the NI 9775 transfers real-time data to the chassis at an aggregate rate of 4MS/s across all channels. You can configure the data rate through the module property Continuous Data Rate like below. And, the maximum speed rate is limited in 1MS/s. 
This is because the maximum speed of 4MS/sis being shared amongst all 4 channels, thus limiting the sample rate of 1 MS/s per channel. To achieve the continuous sample rate of 4 MS/s for one channel, you can disable the other 3 channels in the NI 9775 Module Properties window:
  1. In the Project Explorer, expand RT CompactRIO Target>>Chassis>>FPGA Target and then locate the NI 9775 module item with the blue C Series module icon image.png.
  2. Right-click on the 9775 module item and select Properties.
  3. In the Channel Configuration box, select 3 of the 4 channels and uncheck the Enable box. This will allow you to achieve a continuous data rate of 4 MS/s for the remaining enabled channel. You will need to recreate the constant or control wired into the Continuous Data Rate property.
channel config.png

dat rate.png
 

Additional Information

If you wanted to check the loop time of FPGA loop, refer this page.