LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9205 Sample Rate

I am exploring the basics with NI 9205 using Labwindows and have a couple of questions about sample rates:

a) NI 9205 operator manual says conversion time (non R series) is 4uS (250kS/s).  If I am sampling 32 channels, does this mean I the maximum sample rate per channel is 7812 Samples per second?  If not how do I calculate the maximum sample rate for X number of channels?

b) I am looking at the sample project code (ContAcq-IntClk-EveryNSamplesEvent.c) and have it working with my NI 9205.  This particular sample project sets up a call back function each time a specified number of samples (N) are written from the device to the buffer.  What is the "device", the NI 9205 or the computer running Labwindows?  Second, each time this call back occurs, are there any lost samples between the first N samples and the following N samples?  I want to know if I run this code for one hour let's say, would I miss any samples?

Thanks

0 Kudos
Message 1 of 2
(3,438 Views)

To answer question a), consider that 9205 is not a simultaneous sampling module: that is, the unique ADC converter is multiplexed over all channels in the list, and the maximum speed per channel is given by 250kS/s / number-of-channels-acquired (which may not be 32: it depends on your choices). That is, your calculations are correct, and you also must take into consideration the settling time effect on precision, which is considerably higher at 4µs speed than for example at 8µs. This value is also listed into the datasheet for you to consider: it may be negligible for your needs or it may be not. This means also that measures are not acquired at the same time but there is a (constant) delay between the measure taken on one channel and the one on a subsequent channel in the list.

 

With reference to your question b), the system guarantees that no sample is lost as far as your NSamples callback is short enough. If the callback takes too long to execute, you will give an error of "non read samples". NSamples technique is normally used for long lasting acquisition but you must design yur code so that it sustains the acquisition rate. This almost always implies a multithreaded environment and a careful design of thread activity, for example with the use of thread safe queues to quickly transfer samples from the acquisition thread to the processing thread (Producer-consumer architecture)



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 2 of 2
(3,416 Views)