Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

sbRIO 9627 timing resolution

Solved!
Go to solution

I am modifying a very mature product that used the USB-6351 DAQ.  This product has years of field data that used the ADC on the DAQ to sample at 300300.3Hz.  This sampling rate is possible because the DAQ uses a 100MHz clock and therefore has a timing resolution of 10ns.  (100MHz/300.300KHz=333 clock cycles).

 

I am now trying to do an embedded system of this product using the sbRIO-9627 and NI-9222E (ADC) but it looks like I can't get to the 300.3003KHz sample rate because of the on-board sbRIO FPGA clock.  For the sbRIO-9627 the FPGA clock is 40MHz and I've seen that the sbRIO-9629 FPGA clock is 80MHz.  Looking at the following table, these sbRIO clocks do not get me to a time resolution to get the 300.3003KHz sampling rate.

 

brad64_1-1729006181559.png

 

So, to get to the 300.3003KHz sampling rate I have to have a timing resolution of 10ns (100MHz) and the best I can get to with the sbRIO-9629 is 12.5ns (80MHz).  I guess I'm looking for verification of this or obviously a solution (besides changing sampling rate) to get to the 300.3003KHz using the sbRIO.

 

Note: This system has to be an embedded system that communicates over TCP to a non-ni host computer.

 

Thanks.  -Brad

      

 

0 Kudos
Message 1 of 5
(223 Views)

So, you're trying to match the 300300.3Hz rate for consistency with past data?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 2 of 5
(199 Views)

That is correct.

 

 

0 Kudos
Message 3 of 5
(197 Views)
Solution
Accepted by topic author brad64

In LabVIEW FPGA, everything uses 40MHz clock unless they are in a Single Cycle Timed Loop (SCTL). I think the easiest way would be acquiring at the maximum sampling rate of 500kS/s and send the data to RT via DMA FIFO. Then do a software Resample Waveforms (continuous) VI on the RT target using a dt of 1/300300.3 = 3.33E-6

 

It is possible to do the resampling on the FPGA but it would be more tedious. 

  1. Acquire at the maximum sampling rate of 500kS/s and write to an indicator or user-defined register. Use FPGA to resample the data point. 
  2. In an SCTL running on the derived clock of 100MHz, read from the local variable or register of the AI and write data to a user-defined FIFO.
  3. In another while loop, read from the user-defined FIFO and write the resampled data to the DMA FIFO.
-------------------------------------------------------
Control Lead | Intelline Inc
Message 4 of 5
(177 Views)

Great.  Thanks for the info.

 

-Brad

0 Kudos
Message 5 of 5
(154 Views)