LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to acquire continuous samples?

Solved!
Go to solution

Dear Labview users

 

I am new in Labview FPGA programming, and I have a PXIe 7962 with either a NI5734 or a NI5751.

 

I want to acquire several channels simultaneously at 20MHz.

 

From what I could see in examples and forums, I am planning  to create a fpga vi where I acquire the signals in parallel using single -cycle timed loops, and store them in one FIFO per channel, and then read the FIFOs from the host. But I am confused about how to do so for more elements than the FIFO size without having interruptions in the signal.

 

Indeed, I would preferably have 1s of acquisition, which gives 20M data per channel (up to 16 channels if I use the NI5751). How can I do that? Because the FIFO size will never be big enough to store 20M data, but how to ensure that the transfer between the fpga target and the host is done continuously without any interruption in the acquisition?

 

Thank you for your help.

0 Kudos
Message 1 of 5
(2,964 Views)
Solution
Accepted by topic author DelphineL

If you're thinking in continous, don't think in terms of a finite sample size.  You don't want 1s.  You want continuous samples.   Another way to think of this is as a stream.

 

Go to Help->Example Finder and search for Streaming DMA

 

This should get you started on streaming from the FPGA's buffer to the Host PC.

0 Kudos
Message 2 of 5
(2,946 Views)

What version of labview are you using?

0 Kudos
Message 3 of 5
(2,923 Views)

Thanks!

 

I used the High Throughput Streaming project from the Labview example and it works.

 

I have one minor issue remaining.

As the labview example has a white box for "data source", I changed it for an analog input acquisition.

But the type of this analog input is I16 from 0 to 65536. The fifo type is I16 from -32768 to 32767.

 

So it seems that  this causes problem, especially because it seems to acquire around the limits even if I send a sinus oscillating around 0V with 50mV amplitude.

 

Does anyone has already encountered this problem?

 

Thank you for your help.

 

 

0 Kudos
Message 4 of 5
(2,892 Views)

I solved it.

The NI5734 has analog input U16 and the fifo was set to I16.

I changed the fifo type and now it works.

 

Thanks

0 Kudos
Message 5 of 5
(2,878 Views)