02-11-2015 06:41 AM
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.
Solved! Go to Solution.
02-11-2015 07:21 AM
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.
02-11-2015 10:59 AM
What version of labview are you using?
02-12-2015 04:55 AM
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.
02-12-2015 08:06 AM
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