IVI drivers are designed to improve system performance by remembering the state of a particular instrument. A state-caching engine keeps track of the state of the hardware settings on the instrument. This feature improves test performance significantly because it helps your system behave intelligently by performing instrument I/O only when the value of a hardware setting needs to be modified. For example, if you are simply sweeping the frequency of an excitation signal, you do not want to resend amplitude, waveform shape, phase, and other types of signal information over and over again because it is redundant. Current VXIplug&play instrument drivers do not offer state-caching capabilities.
With IVI drivers, you can also configure your instrument drivers to run in special modes for best results during test development or system deployment. For example, you can configure the driver to automatically check the ranges of all values you try to send to the instrument and coerce them to valid values if necessary. You can also set the driver to automatically check the status byte of your instrument after each command is sent to it. All of these “development mode” settings can be quickly turned off when you deploy your test program on the production line for fastest possible execution. You get the best of both worlds – superb debug capabilities and faster run times.
Refer to the IVI Driver Help for detailed information on how to take advantage of these capabilities. IVI drivers are created based on an open industry specification published by the IVI Foundation, which consists of more than 20 different user and vendor companies.
Benchmark Example – Measuring the Magnitude of System Response versus Frequency
Consider the task of determining the frequency response of an unidentified system. This requires both a waveform/function generator to generate sine waves at various frequencies and a DMM or an oscilloscope to measure the output voltage(s) of the system under test. You can see below the pseudocode for a test program that uses high-level instrument driver calls to program a function generator and oscilloscope.
Pseudo-code and test setup for swept sine test:
Initialize and Configure Oscilloscope
Initialize and Configure Frequency Generator
While (frequency < EndFreq)
Generate Sine Wave
Read Stimulus Waveform (Scope Channel 1)
Read Response Waveform (Scope Channel 2)
Calculate Magnitude and Phase Difference between Stimulus and Response Store Magnitude and Phase Increase Frequency
Plot Magnitude and Phase Difference
Close Frequency Generator
This test process was implemented using an HP 33120A function generator and a HP 54645D oscilloscope. Table 1 highlights the difference in performance between IVI and traditional drivers for this particular test.
Table 1. State Caching Benchmark
||Test Time (seconds)
(Traditional VXIplug&play Drivers)
5. Consider Off-Loading Data Processing to the Host PC
We continue to see improvements in the processing and analysis capabilities of instruments. However, it is difficult for instrument vendors to remain in lock step with the PC industry to provide you with the latest processing technologies. Many times, incorporating a new processor requires the vendor to redesign the instrument. You may have to purchase a new version of the instrument to take advantage of higher performance capabilities.
To ensure that you are always using the most powerful processing capabilities at your disposal, you should consider off-loading some computation-intensive analysis to your PC rather than relying on the internal and sometimes outdated processing capabilities of the instrument. In general, PC capabilities advance at a more rapid pace than instrument capabilities. Chances are that you will replace your PCs more frequently than your instruments. With each new generation of PC, you can directly realize new performance gains by choosing to use the PC for some of your measurement processing and analysis.
In addition, because instruments are closed boxes, you cannot customize analysis. With the PC, you can easily add customized analysis because many instrumentation software vendors offer complete libraries for signal processing, filtering, and general analysis to greatly simplify the task of defining customized analysis routines.