Article Categories
» Arts & Entertainment
» Automotive
» Business
» Careers & Jobs
» Education & Reference
» Finance
» Food & Drink
» Health & Fitness
» Home & Family
» Internet & Online Businesses
» Miscellaneous
» Self Improvement
» Shopping
» Society & News
» Sports & Recreation
» Technology
» Travel & Leisure
» Writing & Speaking

  Listed Article

  Category: Articles » Technology » Computers » Article
 

High-Performance Data Acquisition on USB




By Tim Ludy

A common belief among engineers is that, to get the best performance, a PC based data acquisition module must plug into the PCI bus. Properly implemented, however, a data acquisition module can use the PC's USB 2.0 port to pump data into a PC as fast as PCI-based cards. The keys to achieving this performance are a hardware USB interface on the module and optimized driver software for the host system.

Because the Universal Serial Bus (USB) was originally developed to replace lowspeed peripheral cabling, many engineers fail to see its potential as a high performance data acquisition channel. The original USB specification did offer only a modest bit rate, but USB 2.0 handles 480 Mbits/sec, fast enough to handle 60 Mbyte/sec data streams. Even with the protocol reserving some bandwidth for interrupts and control transfers, and the header overhead on data packets, the bus can easily sustain more than 10 Mbytes/sec of continual data transfer. This is fast enough to support extremely high performance data acquisition (DAQ) hardware.

Utilizing the USB as a data portal provides many advantages for data acquisition (DAQ). For one, the external connector and "plug-and-play" software installation of USB peripherals means that users do not have to open their PC, then set-up and configure the hardware in order to begin acquiring data. The USB-based DAQ module sets itself up upon installation. Addressing and other potential resource utilization conflicts resolve automatically.

Software for handling the data also becomes simpler to implement. The host system USB drivers separate data streams into logical channels called "pipes." This means that the host system software will automatically form a logical connection from a DAQ channel to a destination within the application software, simplifying software and hardware set-up. Applications simply need to identify the logical pipe they wish to connect with and the system software ensures that data travels to the right destination. Application software does not need to know the details of peripheral addressing, interrupt placement, or other installation dependent parameters as it must for PCI plug-in cards. The USB also has electronic advantages. The bus can power the peripheral (within limits) so that the DAQ system does not need its own power source. This further eases system installation and use and has the added benefit of removing the sensitive A/D converters and amplifiers from the electrically noisy environment inside the PC's housing. Unlike PCI plug-in cards, a USB-based DAQ module is easily shielded for achieving high bit-level resolution. The benefits of USB operation are compelling for a DAQ system, but implementing the system does require care in order to ensure a high-bandwidth connection. Engineers often assume that high data-rate systems should use the USB data transfer mode with the highest raw bandwidth and least overhead penalty: isochronous transfer. But isochronous transfers are a "best-effort" channel. Data that suffers from errors cannot be resent. The proper mode to use for DAQ on USB is the bulk transfer mode.

1). This mode supports the resending of corrupted packets, ensuring data accuracy, and allows fairly large 512-byte blocks, keeping overhead effects down.

The drawback is that bulk transfers do not have guaranteed timing. The USB host controller assigns bandwidth for bulk transfers but reserves priority for interrupt and control transfers. Thus, the bandwidth obtained by using bulk transfers is an average - not a sustained - data rate while the DAQ module needs to send data at a constant speed.

There are two approaches to dealing with the uncertainty in the instantaneous bandwidth available for bulk transfers. One is to keep the data rate low in order to maximize the likelihood that bandwidth available will always exceed the DAQ module's data rate. This is the simpler approach, but results in severe underutilization of USB's potential.

The alternative approach is for the DAQ module to incorporate FIFO buffering to hold data while waiting for the bus to become available. Dual buffers are needed in the module - one to fill while the other is emptying. The larger the buffers, the more tolerant the module becomes of shifting bandwidth availability and the closer its data rate can approach the average bandwidth available.

In addition to the FIFO buffering on the DAQ module, the software drivers should allocate buffer space in the host system at the receiving end. This decouples the host system's data processing activity from the data acquisition so that neither activity can delay or impede the other's performance.

While FIFO buffering maximizes the DAQ module's ability to utilize the available bulk transfer bandwidth, however, it is not the only way to improve the achievable speed on the USB. The module's USB interface hardware and latency in the host controller software can seriously constrain achievable USB data rates if not implemented with high performance in mind. For the interface hardware, using a state-machine hardware controller optimized for 512-byte transfers (the largest bulk transfer packet) produces a much faster interface than the use of a software-dependent USB microcontroller.

On the host side, careful driver design can reduce latency by speeding the host system's response to incoming USB data. The traditional Windows drivers allocate buffer space in response to an incoming USB transfer, taking many milliseconds getting ready to receive data once the DAQ module declares data ready to send. Drivers that are proactive instead of reactive, pre-allocating buffer spaces of the right size can decrease host latency by an order of magnitude. These are not simply theoretical suggestions. Data Translation has achieved a data rate of 250k samples/sec on 12 simultaneous channels with its DT9836 USB data acquisition module and 2M samples/sec on 2 simultaneous channels at with the DT9832A. Experience has shown that the USB can provide reliable, sustainable data rates as great as 10.9 Mbytes/sec, corresponding to sample rates of 5.45M samples/sec. The potential exists to take USB-based data acquisition to even higher levels with additional buffering and driver optimization.

But a high data rate is not all that is required of a high-performance DAQ module. Issues such as accuracy, aperture uncertainty, and noise levels are equally important. Further, the inclusion of additional capabilities such as digital I/O lines, counter/timers, analog outputs, and quadrature encoders can greatly increase the utility of a DAQ module. The DT9832 and DT9836 series offer all of these features.

Accuracy in a high-performance DAQ module has many facets. The most obvious is the A/D converter's resolution. The Simultaneous Series offer 16-bit A/D conversion: 2 channels at 2.0 MHz for the DT9832A, 4 channels at 1.25 MHz for the DT9832, and 6 or 12 channels at 225 kHz for the DT9836. The modules are fabricated with 12-layer boards, keeping the signal integrity intact and typically achieving an ENOB (effective number of bits) rating of greater then 14-bits.

Accuracy also involves timing, however, especially in a multi-channel DAQ module. In order to properly compare and correlate sampled signals it is important to know the relative timing of samples from one channel to the next. Most DAQ systems use a single A/D converter with a multiplexer front-end to handle multiple channels. This results in each channel's signal being sampled at a different time, forcing the use of interpolation to bring the signal data into temporal alignment and resulting in relative timing errors or phase noise. Ideally, the samples for all channels should be made simultaneously to eliminate phase noise.

The DT9836 and DT9832 series modules do not use a multiplexer. Each channel has its own track-and-hold stage with an independent successive-approximation A/D converter (see Figure 4). The converters use a common clock and the track-and-hold stages have a common trigger, so that the modules offer true simultaneous sampling. The channels have an aperture delay of 35 nsec with uncertainty (aperture jitter) of 1 nsec, and channels are well matched so that there is less than 5 nsec difference between channels. This virtually eliminates phase noise in data.

With sample rate, bit accuracy, and timing accuracy at high levels, the availability of additional features is simply a performance bonus. The Simultaneous Series offer these extras, as shown in Figure 2. Each module includes two 16-bit D/A channels, 16 digital output channels, 16 digital input channels, two 32-bit counter timers, and 3 quadrature encoders. The additional digital I/O lines provide considerable flexibility for incorporating functions such as time stamping, pattern recognition, and synchronization with external events. The counter/timers offer a convenient means of triggering test events while the quadrature decoders simplify the use of the module with X/Y positioning and rotation.

Supporting these additional signal lines means that the data channel must be fast enough to handle the additional signal and control bits without impacting the module's sampling rate. The USB is fast enough. It has proven that it can provide the needed capacity, and offers significant ease-of-use benefits. There is no longer a need to pry open a PC to assemble a high-performance DAQ system. Simply plug one in to the USB port.

For related images and graphs, see: http://www.datx.com/white_papers/High-Performance-DAQ-on-USB-white-paper.pdf
 
 
About the Author
Tim Ludy is a Product Marketing Manager with Data Translation. Mr. Ludy graduated from Northeastern University with a degree in Computer Science.
http://www.datx.com email: tludy@datx.com

Article Source: http://www.simplysearch4it.com/article/24102.html
 
If you wish to add the above article to your website or newsletters then please include the "Article Source: http://www.simplysearch4it.com/article/24102.html" as shown above and make it hyperlinked.



  Some other articles by Tim Ludy
The Battle for Data Fidelity: Understanding the SFDR Spec
For related images and graphs see: http://www.datx.com/white_papers/Understanding-SFDR-Spec.pdf ----------------------------------------------------------------- As A/D converters (ADC) ...

  
  Recent Articles
Microsoft Word. The power is under the hood
by Robert Duval

How To Select The Best Gaming Laptops
by Tim Childree

How To Select The Best Business Laptops
by Tim Childree

High-Tech Computer Rental for Business Promotion
by Michael Braganza

Managing a Worldwide Print Infrastructure from a Single Workstation in a Central Location
by Rick Ferguson

A Sneak Peek Into The World Of Refurbished Laptops
by Javier Fuller

Battery information
by goodbattery

Tell Me About Computers
by Khal Nuwar

Setting Up Your Own Internet Radio Station
by Jason Cole

Understanding Solar Energy
by Anna Stone

Mac FAXstf X Pro Faxing Program for Mac OS X Users
by Nivea David

How to Retrofit a Picture or an Image into Desktop Wallpaper for Your Computer
by Steve Dimeck

Wallpaper Choosing For Good Mood
by Dalvin Rumsey

Software Discounts
by Joe Cohen

Mac:The computer of new age
by Harry Johnson

Apple new iMac line with Intel core 2 Duo
by Monica Craft

Grid Computing
by Sandro Azzopardi

Can't connect to database