High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

PXI-5122 12 channel for 100MS/s continuosly possible?

I'd like to verify if the following is possible.

Need to fetch data from 12 channels on 5122 at 100MS/s for 0.25ms and do file I/O.
So to do what I want, I looked at some High Speed Digitizer examples, but I don't know
how to control the time of my acquisition which is 0.25ms. It's very short time but it is
to not exceed the PCI BW , which is 133MB/s.

Here's my calculation:
100MS/s * 0.25ms = 25kS/s
5122 is 14bit, so 2byte -> 25kS/s *2byte = 50kB/s * 12 (12 chs) = 600kB/s

I have to do this continuosly and save it to disk at the same time.
In other words, fetch and save, fetch and save, continously.

Can anybody tell me how to do this? Or if someone has example code that could
show me, that would be great.

Thanks in advance
0 Kudos
Message 1 of 7
(7,397 Views)
Your calculations are correct. You will be sampling 50k samples from all 12 channels for a total of 600k samples. This is the total data you will need for a single record, but it sounds like you need to do this same operation continuously. How long do you need to save these records or chunks of 600k samples to disk? Also, how often do you digitizers trigger and sample their 0.25ms slice of time? These answers will greatly help your choice of example and general attack of the problem.
-Josh

Message Edited by Josh H on 05-26-2005 01:21 PM

0 Kudos
Message 2 of 7
(7,387 Views)
Thanks for the response.

This operation of fetching and saving process should be repeating
for 60 seconds.

I didnt think about using trigger. Is this absolutely necessary?
I was thinking about immediate triggering.

Thanks
0 Kudos
Message 3 of 7
(7,377 Views)
Hello Josh,

I still havn't got the answer to my question. This process should be continously
doing the process for 60 seconds.

As I stated above, how can I control the acquisition of 0.25ms at 100MS/s in LabVIEW?

Thanks in advance
0 Kudos
Message 4 of 7
(7,358 Views)
You can set your acquisition time in one of two ways. Either set the Time Per Record property to 0.00025 or set the Min Number of Points to 25000. Both properties are in the Horizontal group.

If you have never used properties before, the property node is that thing with the wrench on it at the bottom of the main palette. Wire your NI-SCOPE reference into it and click on the Property field to set it. You can pull the bottom of the node to create more properties or pop-up on the properties to insert more before.

Alternately, you can use the niScope Configure Horizontal Timing.vi to do the same thing. Wire min sample rate to 100000000 and min record length to 25000. Wire the reference and error I/O. The defaults for everything else will work.
0 Kudos
Message 5 of 7
(7,353 Views)
Thank you DFGray,

I really needed some help. I now understand what to do for 0.25ms of acquisition at 100MS/s.
Now I have to solve another problem which is to save this data. And repeat this process for 60 seconds.

I tried using Tclk and modified the example "niScope EX Multi-Device Generic Sync(Tclk).vi"
Attached this here so that someone could help this novice.

I really appreciate the help this community is giving to others.

regards.
0 Kudos
Message 6 of 7
(7,351 Views)
From your previous posts, I am somewhat unclear what you are trying to accomplish. Correct me if I am wrong. You want to take data from 12 channels (six devices) of 5122. Each channel is 25,000 points acquired in 0.25ms for a total of 600,000 points every 0.25ms. You want to repeat this once per second for sixty seconds, saving to disk as you go. The point I am unclear on is how often you want to take a data set. You early calculations assume once per second, but it appears you really want go as fast as you can (which should be an order of magnitude faster or better). I believe this to be the case because you mention taking data continuously. Do you mean that you want actual continuous data from the digitizers or just a sequence of separated data sets taken as fast as you can? As you mention, you will not be able to take true continuous data from the digitizers at 100MS/s. This would be about 2.4GBytes/s and neither the PCI bus or the disk could keep up.

Let me know what your parameters are. In the meantime, check out the NI-SCOPE HWS examples. I would recommend you use this for your storage mechanism. It will make retrieving your data for later analysis much easier, unless you happen to be reading it into Excel. That is another question for you - how will you be analysing your data?
0 Kudos
Message 7 of 7
(7,330 Views)