PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Long recordings with maximum sampling resolution

Hi,

 

I am trying to figure out if there is any chance to perform long recordings using a PXI system. Assuming the case where system is available with the specs below and the sample rate needed let's say is 100MS/s:

  • Maximum Sample Rate: 200 MS/s
  • Analog Input Resolution: 12 bits
  • Onboard Memory Size: 256 MB/ch

Each sample will allocate 12bits of memory, so 12/8 = 1.5bytes. Since each channel has 256 MB onboard memory then in bytes 256*1024*1024 = 268435456 bytes (or 178956970.7 samples). This means that maximum around 1.79 seconds can be recorded before the buffer is full.

 

Is there any technique of emptying the buffer while recording at the same time? Imagine the case where someone needs to record at 100MS/s for 60-70 seconds.

 

KR,

Michail

0 Kudos
Message 1 of 5
(2,873 Views)

Hello Michail,

 

So you are running into buffer size limitations. You are acquiring 143 MB/s/ch (not accounting for any overhead) and have only 256MB/ch available. In general, there are two ways to increase your acquisition time: Get data out of the memory, or increase the available memory.

 

  1. Frame grabbers for high-speed image acquisition (like in Particle Image Velocimetry) typically have a ton of memory, like 40GB or more. For 60 seconds of acqusitions, you need "only" 8.5GB/channel. PXI controllers do not support such "tons" of memory, but depending on your controller some additional GB could be possible.
  2. Stream the data out of the memory onto disk. This will be a tricky to impossible, due to the extraordinary high data rate even on one channel. How many channels are you acquiring in parallel? There are storage modules based on SSDs for PXI(e)'s that can write data at 2GB/s or 5GB/s. This way you In case you have your PXI connected to a computer directly and are not using a controller, there are Thunderbolt control modules like the PXIe-8301. It allows streaming up to 2.3GB/s. Your device at the other end of the cable needs to be capable of processing this data at this speed, of course.

But do you actually need all that data? Or will it be processed afterwards anyways, in a way that an FPGA or simple chip design could do "live", reducing the amount of data to story significantly?


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
Message 2 of 5
(2,835 Views)

Thank you very ikaiser for your detailed and apologies for the late reply. In the very ideal case I would need recordings of 100MS/s for at least 60-70 seconds. If I understood correctly from your descriptions and following my example, a PXI-5122 with 256MB/ch combined with a PXIe-8301 and thunderbolt connection to a PC/laptop with high speed SSD write could be a solution?

 

Another thing I am not sure is how the fill/empty operation of the channel buffer works. Does the module first fills that 256MB and then starts emptying the buffer or both operations happen simultaneously? 

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

Hello MichailM,

How many channels do you need to read simultaneously? What I did in my previous post was just a general check of the magnitude of data bandwidth you need. It is quite high, even for one channel only! I'd say you need a solution specialized on high-speed streaming for this. There are for sure many hidden traps when designing such a system, maybe call NI Technical Sales and ask how they would do it?

 

Regarding the laptop: As far as I know, an SSDs could do the trick for one channel @ 143MB/s. However, even here are a lot of parts involved (PXI backplane? Thunderbolt connection, your Laptop's Thunderbolt chip, your laptop's way of transferring data from that chip to the SSD, and finally the SSD itself), so there is no way to know in advance if it will actually work. For more than two channels, this will definitely fail. I have seen a solution with a dedicated PC that had 64GB of RAM as buffer where the data was streamed into. After the 60-70 seconds, the data was then stored on harddisk/SSD slowly. Same comment here, again: There are many potential bottlenecks, so I don't know if this will work.

 

Are you using a PXI-5122 or a PXIe-5122? The bandwitdh of the older PXI is small compared to PXIe, which means that you would not even be able to transfer the data from the PXI-5122 to any other module in your PXIe chassis fast enough. This is the reason for high-speed oscilloscopes (like yours) typically having buffer memory.

 


Another thing I am not sure is how the fill/empty operation of the channel buffer works. Does the module first fills that 256MB and then starts emptying the buffer or both operations happen simultaneously? 


Normally streaming buffers like these are implemented as circular buffers. However, I don't know about the PXI-5122 in specific.

 

I found an article Reference Design for Streaming Data from Multiple High-Speed Digitizer Modules using an PXIe-5122, maybe this has some useful information for you.


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
Message 4 of 5
(2,794 Views)

Hi ikaiser,

 

First all thank you very much for all the info you provided. Even from my rough estimations, reading two channels would be almost impossible but for my case one would be enough. Because these configurations are a considerable investement I will try first a rental service so I can get some hands-on experience. The ones available for rent are the PXI-5122 (512MB/ch) and PXI-5124 (32MB/ch), not the PXIe versions. I will have a carefull look also on the available control modules so I can find a combination for a proper set-up. I will come back to the thread once I have some updates.

 

Message 5 of 5
(2,777 Views)