High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

Transfer rate with USB 5102 is very slow (8 updates/sec). Any possible way to increase it??

Taking 100 microsec data from 32 sensors we want to monitor results in real time. Because of slow data transfer protocol (niScope_InitiateAcquisition - niScope_FetchBinary8 loop) for USB NI5102 (~125ms) we can update only every 4 sec. Any way to speed it up? Is PCMCIA 5102 will do it faster (we don't have PCI)??
0 Kudos
Message 1 of 6
(7,389 Views)
Yuri,

How much data are you trying to transfer using your USB 5102? I am only wondering because the USB 5102 is based on the USB 1.0 standard which limits data transfers to 12 Mbits/s. If you are acquiring large amounts of data, these bus rates may not be sufficient for the work that you are trying to do.

In general, if you were going to try to transfer large amounts of data PCMCIA or PCI cards may be better choice.

Regards,
Jed R.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(7,389 Views)
Dear NI Team,

I would be glad to hear from someone who REALLY understands what I am asking about.
Does NI PCMCIA-5102 (catalog #777251-01) transfers data to a laptop PC much faster than NI USB-5102 (catalog #777650-01)???
We could conduct this evaluation in our lab if you lend us the NI PCMCIA-5102 card (catalog #777251-01).

Jed,
100 mks x 20 MS/s x 8 bit / 12 Mb/s = 1.3 ms; the transfer, however, takes pprox.125 ms.
The problem must be in the communication protocol (would require a new DLL) or in the board itself (nothing you can do). Can someone take a close look at the listed above functions to make them faster?

Thank you,
0 Kudos
Message 3 of 6
(7,389 Views)

To verify, you wish to take data for 100 microseconds on each of 32 sensors and display the data in "real time." The problem is the overhead of the initiate/acquire, not the actual acquisition time or theoretical data transfer time. Have you considered taking all your data in a single acquisition? I assume you are already multiplexing the signal to the 5102. This will require a bit of work in setting up the advance trigger for the multiplexer and the reference trigger for the 5102, but this is far cheaper than buying another acquisition board. Your data acquisition sequence would then be:

  1. Set 5102 for 64000 points, 20MHz, 0% trigger reference position (add more points if needed for settling time)

  2. Set multiplexer to first channel


  3. Iniate acquisition on the USB-5102 (you may want to use the hardware start trigger for repeatability)

  4. Trigger 5102 to start acquisition

  5. Cycle multiplexer through the 32 sensors with 100 microsecond dwell time per sensor (add extra dwell time for settling time as needed)

  6. Read data from 5102

  7. Parse the data by splitting the array using your known timing

With this method, you only take the overhead hit once per scan instead of 32 times. You should be able to get single-digit Hz update rates. You can speed up the data acquisition by using both channels of the 5102 (unless you are already doing this for some sort of data reduction). If you are doing this in LabVIEW, pass your data into a queue in your acquistion loop and pull it out of the queue in a separate loop to process and display. This allows you to time multiplex the acquisition and display.


0 Kudos
Message 4 of 6
(7,389 Views)
We are already using this approach. It works well only for a few of our applications (if we can keep the data set for transfer below 100,000 samples).
Hopefully 2 channels can speed it up - we will try.
Thank you, -- Yuri
Still no word on new DLL and PCMCIA card...
0 Kudos
Message 5 of 6
(7,389 Views)
Yuri,

Unfortunately, this is really not what this particular instrument was designed to do. The 5102 has deep memory on board to allow for acquiring and holding data. Transferring is expected to occur after the acquisition is complete. This behavior is described in the Product Spec Sheet:

Acquisition Memory
An NI 5102 has 663,000 samples of onboard acquisition memory. Data is acquired into the onboard memory before being transferred to the host PC memory.
Both the PCI-5102 and PXI-5102 can transfer acquisition samples to host memory in real time. These devices can acquire a maximum 16 million samples if your system has at least 48 MB free. On the AT-5102, PCMCIA-5102, and USB-5102, data transfer of up to 663,000 samples takes
place after the acquisition ends.


For more details, you can reference the spec sheet for this product:

NI 5102: Product Spec Sheet

I hope that helps to clarify the proper usage of the NI-5102 family of devices.

Regards,
Jed R.
Applications Engineer
National Instruments
0 Kudos
Message 6 of 6
(7,389 Views)