Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
What is Developer Zone?
United States

Document TypeTutorial
NI Supported: Yes
Publish Date: Jun 22, 2012


Feedback


Yes No

Related Categories

Related Links - Developer Zone

Related Links -Products and Services

Experience Maximum Performance With NI GPIB Hardware

0 Ratings | 0.00 out of 5
 Print |  PDF

Overview

When judging the overall performance of GPIB hardware, the most obvious specification is the rated throughput of the board. However, in addition to that rating, there are several other important factors to consider. These factors can be combined into two areas: hardware speed and driver speed. This paper goes into detail in both of these categories to show why the NI GPIB solution gives you maximum performance for your instrument control system.

Table of Contents

  1. Hardware Speed
  2. Driver Speed
  3. Conclusion

Hardware Speed

The maximum throughput rating on a board is very important because it indicates the fastest throughput at which the board can transfer data over the GPIB. The faster the transfer rate, the more data can be transferred over a shorter period of time. This can be very important in a production test environment where reducing product test time by a few milliseconds can result in significant cost savings. It is also important to look at how fast a GPIB board can transfer data under differing transfer sizes. For example, does the board perform as well using small data blocks and large data blocks? How consistent is the throughput response of the board over a range of data transfer block sizes? Figure 1 shows the performance of the NI PCI-GPIB for various data block sizes.


Figure 1. Performance of a PCI-GPIB Board


As you can see from the chart, the maximum NI PCI-GPIB transfer rate is more than 1.5 MB/s and reaches a transfer rate of greater than 1 MB/s for a transfer block size of 500 B, a fairly common transfer size. In addition, even at transfer block sizes of less than 500 B, the board still performs very well.

NI achieves this increase in performance by relying on custom designed GPIB ASICs. All NI hardware designed since 1997 has used an NI TNT GPIB ASIC. In addition to the custom NAT4882 circuitry required to perform IEEE 488.2 controller/talker/listener functions, the NI TNT ASICs incorporate the Turbo488 performance enhancing core as well as the required GPIB transceivers. In addition, the NI TNT ASICs include an onboard FIFO and are capable of DMA transfers, which save CPU time because the PC can focus on other tasks while a GPIB transfer is in progress.

In contrast, many other GPIB suppliers use GPIB functionality in FPGA. However, the FPGAs do not incorporate any of the performance-enhancing features available in the NI TNT ASICs. In addition, many low-cost boards offer poor hardware speed because they are not DMA capable and do not include onboard FIFOs.

The NI TNT ASICs also provide additional features that improve performance. The NI TNT ASICs provide exact adherence to the IEEE 488.1 T1 delay times, ensuring that no data is lost by instruments and that transfers happen as efficiently as possible. In addition, the NI TNT ASICs provide incredibly fast response times to handshaking signals. Finally, the NI TNT ASICs offer the high-speed handshaking protocol, HS488, defined by IEEE Standard 488.1-2003. The HS488 protocol defines data throughput rates up to 8 MB/s. Users can take advantage of HS488 if they connect their NI GPIB controller to a HS488-capable instrument.

A comparison of the hardware performance of the NI PCI-GPIB to other providers’ PCI-based GPIB controllers shows a clear NI advantage. In addition to the manufacturers rated performance, a test was set up in which a unit under test that was loaded with a programmable electronic load and its response was read by an oscilloscope. These instruments were controlled by a very simple software application. The application was flexible and could send and receive data to and from the instruments in small blocks, large blocks, and a mixture of both. 

Comparing the performance of the NI GPIB hardware versus the lower-cost GPIB boards showed that depending on the board being used, a 5 to 30 percent performance improvement could be achieved. This is a significant advantage. For example, over a 10-hour shift, with a 20 s test time per device, a 5 to 30 percent performance improvement translates to 110 to 820 additional devices tested. Over a 5-day work week, that advantage translates to 570 to 4120 additional devices tested.

 

Driver Speed

Although the hardware speed may be the most important factor in determining the overall performance of a GPIB board, driver speed is another crucial aspect of the overall execution of a board. How well the driver architecture is designed determines how efficient it is in handling various types of GPIB calls, including GPIB data transfers as well as GPIB bus management calls and error handling.

One important task the driver handles is serial polling. The GPIB standard requires the controller to be capable of performing a serial poll, where it polls every device on the GPIB bus and determines which device has requested service. An application must dedicate a certain amount of execution time to serial polling to determine which devices on the bus require service. The NI-488.2 driver implements this in a very efficient manner, and in addition, provides an autopolling mechanism whereby the driver conducts the serial polls in the background, taking advantage of application and processor idle time. Not only does autopolling more efficiently use PC resources, but by performing an autopoll the driver is capable of detecting and responding to a service request much faster than it would otherwise.

In addition to polling, it is important that a driver be capable of synchronous as well as asynchronous transfers. By having the ability to transfer data asynchronously, the instrument control application can devote PC processor time to other tasks. For example, an application can have two simultaneous loops, one responsible for the GPIB transfers and one that can perform other analysis or user interface tasks.

Finally, because the NI GPIB driver API is the de facto industry standard, lower-cost GPIB providers typically supply a driver that uses a wrapper around their driver that responds to calls to the NI driver. Because these driver developers do not know the internal architecture and intricacies of the NI driver, they are not able to optimize the performance of their driver. The result is poor performance of these wrapped drivers. In addition, driver developers rarely provide a wrapper for every function in the NI driver, which leaves some applications with unavailable functions.

 

Conclusion

In conclusion, NI GPIB hardware and software is designed to provide our customers with the maximum performance possible for their instrument control systems.  Our GPIB boards offer  high data throughput, even at high transfer sizes, as well as save CPU time by taking advantage of an onboard FIFO and DMA access.  Our drivers are optimized for maximum efficiency through autopolling and adhere to the strictest IEEE 488.1 standards.  With National Instruments GPIB, you can be sure that you are getting the most out of your instrument control system and can enjoy immediate savings in both time and money.

0 Ratings | 0.00 out of 5
 Print |  PDF

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/).