Streaming Options for PXI Express
Overview
Numerous applications cannot sustain a sufficient sampling rate for lengthy acquisitions or generations. In these situations, engineers must compromise by using a slow enough sampling rate for data to be transferred over the bus, or by sampling at the necessary high speeds for short periods of time that onboard instrument memory allows. Neither sacrifice is desirable. High-speed streaming addresses this need by allowing data transfers to or from an instrument at a rate high enough to sustain continuous acquisition or generation. This is accomplished by using the PXI express bus with a system that allows the entire acquisition or generation waveform to be stored. Depending on the required measurement and test duration, different setups should be considered to get the best performance for the lowest cost.
Bandwidth Considerations
Bus bandwidth is a very important consideration in streaming applications. It is important to distinguish bus bandwidth from instrument bandwidth. While bandwidth commonly refers to the signals that can pass through the circuitry without excessive attenuation, in this paper bandwidth is the data throughput over the bus that connects an instrument and a storage system. To determine the total data throughput required for streaming, two pieces of information are necessary: the maximum acquisition or generation rate of the instrument, and the number of bytes for each sample. In addition, adding more channels to an acquisition or generation will also increase the total throughput.
In order to highlight this idea, some examples calculations of required bus bandwidth for both analog and digital modules are highlighted below.
PXIe-5122 Digitzer
Acqusition Rate : 100 MS/s/ch (Mega samples per second per chanel)
Number of Channels : 2 simultaneous channels
Memory per Sample : 2 bytes (14 bits of precision uses 16 bit transfers)
Required Bus Bandwidth Calculation:
Acquisition Rate * Number of Channels * Memory per sample
100,000,000 * 2 * 2 bytes = 400 MB/s (Megabytes per second)
PXIe-5442 Arbitrary Waveform Generator
Generation Rate : 100 MS/s/ch
Number of Channels: Single channel device
Memory per sample: 2 bytes (16 bits of precision)
Required Bus Bandwidth: 100,000,000 * 1 * 2 bytes = 200 MB/s
PXIe-6537 Digital I/O
Clock Rate : 50 MHz
Number of Channels : 32 Digital Lines
Memory per sample : Each line is 1 bit (1/8 of a byte)
Required Bus Bandwidth: 50,000,000 * 32 * (1/8) = 200MB/s
Streaming Solutions
Data streaming requires the ability to transfer data to or from onboard device memory before it is overwritten. In a streaming system, the limitation can be the bandwidth of the bus, or the read/write speed of the hard disk. Because of the high bandwidth of the PCI/PCI Express bus leveraged in PXI/PXI Express, the bottleneck for streaming is frequently frequently the hard drive. In order to take full advantage of the bandwidth of this bus, larger and faster storage solutions like RAID can be used. Three different PXI streaming configurations and their maximum rates are discussed below.
Good
Components : PXI-8351 rackmount 1U Controller (With 2-drive RAID-0 configuration)

Maximum hard disk speed: 100/50 MB/s (Acquisition/Generation)
Better
Components : PXIe-8130 embedded controller in NI PXIe chassis with NI HDD 8263
Maximum hard disk speed: 200 MB/s (Acquisition or Generation)
Best
Components : PXIe 8130 embedded controller in NI PXIe chassis with NI HDD 8264
Maximum hard disk speed: 600 MB/s (Acquisition or Generation)
Conclusion
High-speed data streaming enables using high sampling rates for lengthy acquisitions or generations. Combining a high-bandwidth bus and a storage system capable of fast reads and writes can solve new applications or add capabilities to existing systems. With the increased bandwidth of PXI Express, even more applications are possible with dedicated throughput up to 1 GB/s per PXI Express link (and multiple links in a chassis). By knowing the total throughput to be transmitted over the bus and the read/write speed of the storage system, streaming capabilities can be evaluated and optimized for individual applications.
Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
