Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

On-Board Memory

Hi,

We have a NI PCI-4461 data acquisition module. In the process of our measurements, we are saving 10,000 samples on its on-board memory, and retrieving it later.

Recently I was looking for a second DAQ card, and found out that according to NI's website, the on-board memory of the PCI-4461 card is only 2047 samples.

 

Could anyone please tell me what am I missing here? Maybe the number on the web is not actually the real number of measurements (samples) I can save on the board's memory?...

 

Thanks in advance!

0 Kudos
Message 1 of 6
(7,603 Views)

Hi Nirit,

 

The on board memory is 2,047 samples, it is just transferred via Direct Memory Access (DMA) to the PC when it fills up.

 

 

Sunaina K.
Product Marketing Manager for CompactRIO & TSN

Making the intangible, tangible
Message 2 of 6
(7,593 Views)

Just out of curiosity, this process occurs how? 

similarily, I am acquiring a finite number of samples (>on-board memory size), and I am wondering how the DAQ handles those situations? Also, what are the advantages of having a 'deep-memory', as people generally refer to it in digitizers/oscilloscopes. 

 

FYI: part of my application is using the USB-6216 as essentially an oscilloscope, and I am wondering that the limitations are and if there is any coding I can do to improve it. 

0 Kudos
Message 3 of 6
(6,933 Views)

Hi paulc314,

 

First data is stored on the FIFO  at a constant samplng rate. Before the FIFO is filled (hopefully), the CPU stops interacting with the hardware and then the DMA controller moves the data directly into memory. If you have deep memory, you can store more samples into memory and can achieve a higher sample rate. You can determine the sample rate for your system by dividing the memory depth by your timebase setting. So, in summary, if you are trying to capture a lot of data for a long period of time, a deep memory would be very useful for you.

 

I hope this helps.

 

Best regards,

Anna L

Applications Engineer
National Instruments
Message 4 of 6
(6,923 Views)

Thanks for the reply Anna, much appreciated although I am still a bit confused. From what you say below, the size of the FIFO is essentially the memory depth, correct? Samples are acquired, stored in FIFO, then pushed out onto DMA when FIFO is full. I don't understand why a large memory depth would be beneficial for long acquisition times(compared to short), as the data is still getting pushed out at the fastest rate possible, so long as my computer can keep up. 

What I am a bit confused about is your statement that <sampling rate [Samples/sec]> = <memory depth[Samples]>/ <time base[s]>. Now I imagine setting the timebase is done by the DAQmx Timing (Sample rate), but I am just trying to figure out how that timebase is set for my device, and whether I can potentially squeak out more performance since I am only sampling a single analog channel. 


Specifically, I am using the USB 6216, which has a memory depth of 4095 samples and 20MHz and 100kHz fundamental timebases which then go through a clock divider. The specified max sampling rate is 400kS/s, which means, according to your formula, that the <time base> = <memory depth> / <sampling rate> = 4095 / 400,000 =  10mS ? For some reason that doesn't make sense to me, and it would seem that this is rate at which the FIFO/memory can be pushed to the DMA. 

 

Spefically, looking at Fig 4-5 of the NI USB-621x User Manual, I see a distinction between the convert time and the sampling time, and I want to make sure that the sampling time = convert time, thus maximizing the sampling rate. Maybe 10mS is the fast the FIFO can be unloaded, in which case max <sampling rate> = <memory depth> / 10mS. Thus, the conversion time of the AI signal is not rate limiting. If that is the case, can I cheat the system, and acquire ONLY 4095 sample at the fastest acquisition rate, such that I don't run DMA latency issues, which not worrying about a continous acquisition.

Anyways, this question has been a question I have always wondered about when using these types of DAQ devices, as many of the details are (thankfully!) embedded in the hardware and software. 

 

-pc

0 Kudos
Message 5 of 6
(6,919 Views)

Hi pc,

 

Yes you are correct that the FIFO size is the memory depth. This White Paper may help to clear up some of your questions:

 

Utilizing Deep Memory on High-Speed Digitizers and Oscilloscopes

 

If you are only using one channel, using the maximum sampling rate, and 4095 samples of memory, the acquisition time period for your test would only be 10ms (your calculations are correct). You would need to make sure your signal frequency was less than 1000Hz so you could acquire the whole signal in this 10ms. If you are trying to use the maximum sample rate, your best case scenario conversion period would be 2.5 microseconds (sample time ~1/ conversion period).  You can try and maximize your sample size, but as the White Paper mentions, there are several items to consider with memory and high speed measurements.

 

Best Regards,

Anna L

 

Applications Engineer
National Instruments
Message 6 of 6
(6,898 Views)