PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Pushing the limits of continuous high-speed DAQ + processing, with PXI-6115 + PXI-8360

Hi all,

 

I'm trying to do continuous high-speed data acquisition + processing. I currently have:

  • Chassis: PXI-1042Q
  • AI card: PXI-6115 (x2)
  • Link: PXI-8360
  • PC CPU: Intel Xeon W3503 (dual-core, 2.40 GHz)
  • RAM: 4 GB

 

The idea is to continuously grab 8 channels' worth of analog inputs, scan for "events", and if found, log the events to disk.

 

My client would like to use the maximum sample rate of 10 MHz, but I found that above 5 MHz, DAQmx Read.vi can no longer keep up (e.g. at 6 MHz, it takes 110 ms to read 100 ms' worth of data).

 

Im thinking of getting beefier components, but I'm not sure where the bottleneck is. Here are some thoughts:

1) The MXI Express link

The PXI-8360 is rated for a sustained throughput of 100 MB/s.

 

I'm not sure how big the data is. PXI-6115's ADC is 12-bit. Does that mean each datum transferred through the MXI cable is 1.5 bytes? Is the data padded? Or is it 8 bytes per datum, because Dbls are being transferred?

 

 

2) The CPU

In Resource Monitor, I notice that the CPU usage is 0% at 60 kHz, 8% at 61 kHz, and 50% at 70 kHz (meaning that one core is maxed out). I'm surprised that it keeps up all the way until 5 MHz though.

 

What causes this high CPU usage? Is it due to the conversion of the data into 1D array of waveforms?

 

 

3) Something else?

Have I missed something completely? Is what I'm describing even possible?

 

Thanks in advance for any advice!

Certified LabVIEW Developer
0 Kudos
Message 1 of 4
(5,864 Views)

Hello,

 

Each sample will take up 2 bytes, 12 bits data + 4 empty bits. so the PXI-PCI 8360 is only able to transfer a maximum of 50S/s in this case.

 

Also, because the PXI bus is shared among all of the cards, two PXI 6115 cards will be trying to transfer 80MS/s or 160MB/s.

 

Finally, since the PXI 6115 are DAQ family cards, their specifications aren't really written for continuous data acquisition at the upper end of their sample rate, but I'm interested to know if you can get up to 10MS/s with only one card operating at a time?

-Jim B
Applications Engineer, National Instruments
CLD, CTD
Message 2 of 4
(5,836 Views)

Thank you for clarifying all that, James!

 

I can sustain 10 MS/s/channel when acquiring from 3 channels or less. When using all 4 channels from 1 card, the data transfer starts lagging (It takes 108 ms to transfer 100 ms worth of data).

 

I ran the tests on a beefier CPU (Intel i5-3570) and got the same results, which suggests that the bottleneck is indeed in the MXI link, not the CPU. The system can handle:

  • 3 channels at 10 MS/s/ch (60 MB/s), OR
  • 8 channels at 5 MS/s/ch (80 MB/s)

 

So it looks like I'll either need a PXIe chassis, or an FPGA card to pre-process the data and only send what's necessary to the PC. Do you have any other recommendations?

 


@James-B wrote:

 

Finally, since the PXI 6115 are DAQ family cards, their specifications aren't really written for continuous data acquisition at the upper end of their sample rate


Does that mean I should treat the "10 MS/s/ch" spec as as the peak rate, not the sustained rate?

 

Is there a family of of cards that's designed for continuous acquisition at 10 MS/s?

Certified LabVIEW Developer
0 Kudos
Message 3 of 4
(5,832 Views)

Yes, a PXIe chassis with a controller would probably be the best bet.  That would also allow you to use MXI cards with transfer rates up to 3.2 GB/s.  

 

A FPGA card should also work, but is very applications specific; it's performance within the application will depend on how much signal processing you are willing to do behind the scenes on the FPGA.

 

As for your last question, the next step up from the Multifunction DAQ cards is our digitizer family (NI PXI(e)-51xx).  This is a big step up, though, in both speed and price.

-Jim B
Applications Engineer, National Instruments
CLD, CTD
0 Kudos
Message 4 of 4
(5,814 Views)