Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

General Throughput Testing Procedure

Solved!
Go to solution

Can anyone reccomend a general testing procedure for finding out the throughput of a DAQ system.  I am using a PCI-6052E on a PC with Windows XP Pro 2.8GHz P4 2GB RAM.  My idea is to use a pulse generator and see when I start to lose samples, but being new to LabVIEW I am confused about how to anlyze the data and know when that actually happens.  Also, does the complexity of a VI affect throughput or is the buffer for LabVIEW big enough that this is not a concern?  To summarize, I am trying to determine the minimum and maximum throughput of my system.  Any help would be greatly appreciated.  Thanks.

0 Kudos
Message 1 of 6
(3,343 Views)

Hi FuzzyLipton-

 

     It sounds like you are attempting to determine the maximum frequency of a digital signal rather than 'throughput', correct?  When I think throughput, I think MB/sec.  What you are describing by generating a pulse and seeing when you start to lose samples sounds like maximum frequency measurement.  If that is what you are trying to determine, you can get that directly from the specs on the card (20 MHz, in this case).  You can check those specs here.

 

     I hope this helps.  Let us know if you have further questions!

Gary P.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(3,317 Views)

Thanks Gary,

 

That does help, and I would also like to know how to find the max MB/s of my system.  I found several articles that discuss this on the site, and it seems to be a function of the various peripherals/components of the overall system.  No one article seems to detail how to calculate this though.  Is the throughput equal to my smallest MB/s component?  Or, are there other considerations?  The purpose is to figure this out so future users of the DAQ system know its limitations.  Thanks again for your response.

0 Kudos
Message 3 of 6
(3,313 Views)
Solution
Accepted by topic author FuzzyLipton

Hi FuzzyLipton-

 

     You are correct that the throughput is system-dependent.  PCI bus bandwidth is 132 MB/sec theoretical, 110 MB/sec typical.  That is a shared bandwidth, so any other PCI cards in your system will share that 110 MB/sec.  With that in mind, you can figure out your throughput by running all your analog inputs at maximum sampling rate.  The 6052E has a 16 bit ADC, so each sample you take is 2 bytes (16 bits X (1 Byte/8 bits)).  The maximum sampling rate is 333 kS/sec and there are 8 differential channels (16 single-ended). So, (2 bytes/sample) X (333000 samples/sec) X 16 channels = 10.7 MB/sec.  This should be well within the possibilities of your system (I say that without knowing your system completely).  I am unsure how your computer would behave if this was beyond its capabilities, but I would assume you would see some irregular behavior.  If you are able to run this rate for a sustained amount of time (several minutes) without any weird computer behavior, then your card cannot max out the throughput of your computer.

 

     Hopefully this gets you off on the right foot.  Have a great day!

Gary P.
Applications Engineer
National Instruments
Message 4 of 6
(3,296 Views)

Actually, the 6052E is multiplexed, so I shouldn't multiply by 16.  The 333 kS/sec sample rate is for all channels, so your max bandwidth for analog input is even less than 1 MB/sec...probably well within your system's capability.  My mistake!

Gary P.
Applications Engineer
National Instruments
Message 5 of 6
(3,284 Views)

Thanks for the support!

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