LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Fastest possible method for reading and saving data from FIFO on host

I need a fast method to acquire digital data from a FPGA by DMA FIFO at very high speed rates.

One simple way to save data on host side is using "write to measurement file" vi, which can be executed by around 80ms for each loop iteration like below diagram.

But it is very slow for my situation, because I need it to run for up to 5ms, How can I improve this?

 

 

write_to_measurement_filed.png

 

 

0 Kudos
Message 1 of 4
(2,932 Views)

I can suggest using a queue to store the data; in the while loop you can read the data from the DMA and suddenly you can enqueue the data into the "save data" queue, in a parallel loop you will handle the data getting them from the queue and stored them into the HD. I can also suggest you to do not use the write to measuments file express VI to store the data, if you build an algorithm using the file low level function you will improve the performances.

Ricky
Italian Developer engineer
www.www.selt-sistemi.com
Message 2 of 4
(2,920 Views)

Hi,

 

If you are working with an cRIO you should use RT FIFO's instead of Queues at the RT side.

And I agree with Ricky that using the Low-Level File I/O functions, espacially when you write binary data, will increase your performance.

 

 

Christian

0 Kudos
Message 3 of 4
(2,900 Views)

Thanks for the suggestions, I tried both suggestions, and got the iteration time down to 9ms.

0 Kudos
Message 4 of 4
(2,869 Views)