LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

using fifos or indicators / varibles on cRio.

I'm currently working on the classical "remote, non-distributed measurement of voltages using the 9205 module" application. I was just wondering if I need at all to use fifos to transfer data from the fpga to the host computer on the cRio-9004. I did start out using a FIFO which I wrote to in the FPGA vi and then read it in a host vi. However extracting the array of data from the fifo using a for-loop seems to be a bit unstable with the values not always being transferred. I'm also a bit uneasy using buffers for a realtime sampling application when the language is so highlevel. So my question is:

Can I insert all my measurement data into an array and then read from the host VI using either indicators or variables, or will I run into throughput problems ?

I'm planning on using all of the 32 channels (at 16 bits) on the 9205 at a sampling frequency of 50 Hz - 200 Hz, plus some additional inputs.

Thanks,
Kevin
0 Kudos
Message 1 of 2
(6,595 Views)
Hi Kevin,

You can achieve throughput rates an order of magnitude faster if you use the DMA FIFO transfer method versus front panel arrays.  You will also have the benefit of DMA FIFOs taking up *significantly* less space on the FPGA than front panel arrays.  Depending on what else your application is doing, you may be able to still do everything you need to through the front panel data transfer, but I highly recommend using the FIFO instead.  If you're worried about data loss, just monitor the Full? output of the FIFO Write function on the FPGA to determine if any data is being lost.

FYI, we have a separate board for cRIO questions - this board is meant for the LabVIEW Embedded Development and LabVIEW Embedded For Blackfin Processors modules.
Cheers,

Matt Pollock
National Instruments
0 Kudos
Message 2 of 2
(6,355 Views)