Some of the applications of computer control include: plotting the frequency response/insertion loss
of filters or other devices, and logging data at specified time intervals for instance.
Plotting is done using a signal generator and a power meter, for instance.
The computer sets the generator to a specific frequency, then measures power,
then the frequency is increased and the process repeated until the desired
frequency band is covered. During the process, the data is stored to a file.
Another program can be used to display the data. That could be a simple
spreadsheet program such as Microsoft Excel, or a custom plotting program.
Logging usually involves a single instrument, such as a voltmeter, a
frequency counter or a thermometer for instance, and data is collected at specified time intervals.
The first step will be to get the data in and out of the instrument, and that will
require a GPIB controller of some sort.
GPIB, HPIB, IEEE-488 refer to the same interface, originally developed by Hewlett-Packard
for their test instruments, and later officially released by the IEEE as IEEE-488.
In the mean time, as the bus became well known and customers were asking for it from
HP's competitors, other companies used the acronym GPIB so that they could refer to it
without endorsing HP...
In this page, I will use the term GPIB because it is probably the best known.
It seems that the GPIB interface will eventually go away, being replaced in newer
equipment by ethernet and/or USB ports, which have much greater data rate capability,
even though the GPIB bus has the advantage of being able to simultaneously trigger
multiple instruments, something that can be approximated, but not yet replicated,
by the other topologies.
There are 3 basic types that I am familiar with.
USB controllers can operate farther from the computer, and USB controllers
don't require a separate power supply (at least those listed here).
Besides being reasonably priced, the Prologix controller is supported by 3rd party
software and can be used via the serial emulation driver that you can download from
FTDI (Ref 10) Info comes with the board
and is also on the Prologix FAQ (Ref 1).
It works with John Miles' software (Ref 4),
and hopefully soon with my own software (I am currently evaluating the most recent
controller, with firmware 4.20).
A neat feature of the USB controllers is that they can be plugged directly to the
back of the instrument, so you save the GPIB cable, but you need sufficient clearance
in the back of the unit. Otherwise, you can make a short ribbon cable (see below).
USB controllers also work well with laptops.
An Australian company, Softmark (Ref 5) sells another type of USB controller
for a low price. The controller is provided with software that appears to have the
capability to query and record data from an instrument at a certain periodicity.
I have seen this type of controller sell on eBay for as little as $35 recently, but I have no
personal experience with it.
I have not seen it supported by any other software package, so if you get one of those,
either you use it with the software that is provided, or if it does not do what you want,
roll your own. I have not seen these controllers used anywhere and I do not recommend them.
The BlackBox Controller is housed in a medium size enclosure and requires a
9-10V DC supply at 500 mA or so to operate. The unit has an internal three terminal linear
voltage regulator generating the 5V used by most of the logic circuits.
This regulator runs fairly warm with the max 10V input specified voltage. Since my
units were overheating with the 12V I was feeding to them (I have a lot of 12V
powered equipment in my lab), I replaced the linear regulator with a small switching
regulator. My controllers now run cool with unregulated 12 to 15 VDC, and the current
draw is down to 300mA or so.
The IOTech Micro488/p is much smaller and runs from power
stolen from the serial port, pretty neat (however, it will not work if
there are too many un powered instruments on the bus).
I like the serial controllers because they are inexpensive and don't require
to go inside the computer. They can easily be swapped from one computer to
another and work well with laptops, which cannot use an AT or PCI internal
controller. Finally, serial controllers do not require low level drivers or special
libraries when you write software for them (however they will require custom user
level code in most cases).
Serial Controllers have a disadvantage for some applications: the data
transfer rate is less than most other types, which is not a problem when
controlling signal generators, or reading from a frequency counter, but
may slow down the process of downloading a lot of data from a spectrum analyzer
for instance. USB is quite a bit faster (even though the earlier Prologix internally
used serial communication, the latest model pictured above uses a fast parallel
interface) but the speed champs are the PCI types of controllers.
AT controllers also will be faster than most other types, except for the NI and
MCC USB controllers with their proprietary drivers.
If you want to control more than one instrument, or if you use a Serial or AT/PCI
controller, you will need one or more GPIB cable(s).
Standard GPIB cables are designed with male/female connectors at each end, so they
can be daisy-chained from instrument to instrument, and finally to the controller.
Using the GPIB port on test instruments
I started a collection of HP, Tek and Fluke test equipment a few years ago.
Pretty soon, the desire to do something with the GPIB (also called IEEE-488) connector
on the back of most of these instruments drove me to action.
GPIB Controllers
The big advantage of plug-in type of GPIB controller is that they are
likely to be supported by the widest range of software packages. Make sure
you have the drivers for your card, but if you don't, not all is lost as
there are not that many types of interface chips, and you are likely to find
a compatible driver on the Internet.
One problem with the plug-in cards is that you will need the computer fairly
close to the equipment because GPIB signals don't travel too far, and the
cables are bulky and expensive when new (see below).
You will also spend quality time becoming friendly with the back of your computer :-)
Of course, if you use a laptop, you are out of luck with an AT or PCI controller.
PCI GPIB Controller Card
BlackBox Serial GPIB Controller
PCMCIA GPIB Controller Card
Ethernet GPIB Controller Card
GPIB Cables
Commercial OEM GPIB cable
I have bought several cables on eBay, but I also make my own cables using ribbon cable and IDC connectors (Insulation Displacement Connector, also called "crimp connector") from Digikey (male connector is P/N: MDC24K-ND, female connector is P/N: MDF24K-ND, they cost about $5.50). It's not much cheaper than true GPIB cables from eBay (if you only control one instrument), but much easier to daisy-chain from instrument to instrument, and definitely cheaper if you have many instruments.
If you are only interested in getting data out of an instrument such as a scope or a spectrum analyzer, John Miles has written a very nice, free HP 7470 Plotter Emulator
Another option if you want to download data from a Tek digital storage scope is Tektronix Wavestar, a commercial application made by Tek. As of 12-16-06, the cost from Tektronix was $330.00. You can download a free, 30 days product evaluation copy from the Tektronix web site. I am not sure which adapters are supported. It's likely the Prologix and Softmark are not on the list. The Tek Wavestar software also supports serial interface, for the Tektronix instruments that have this interface. It does not support serial GPIB controllers from NI, IOTech or Black Box. If you have a Tek scope with a serial port, this is an easy (if not cheap) way to get data from the scope into the computer.
If you want to control instruments such as signal generators, you can try
a free program called EZGPIB by Ulrich Bangert.
It includes a Pascal scripting engine which may allow you to do what you
want without having to buy a Visual Studio development system or some
other compiler.
While you won't need a compiler, you will still be required to write code
for the scripting engine.
There may be other such free software, but I have not come across any.
I am not sure which GPIB controllers are supported other than the Prologix.
Ulrich has also written another piece of software called
Plotter, which is a very useful tool to display data
in graphical format and can be used for timing analysis.
I have started working on GPIB Control software to take advantage of the GPIB ports on my instruments, and while not quite ready for prime time, it is usable (at least for me). For now, this software only supports the BlackBox and IOTech RS-232-GPIB controllers, but I am working on the Prologix controller. This software supports a number of instruments (right now, HP 8656A, HP 8657B, HP 3478A, HP 5316B, HP 5334B, HP 5370A, HP 8672A, HP 8673M, HP83640, HP 3586A, Fluke 8860, HP 59306A, HP 59307A, HP 436A, HP 437B) with more coming. Functions that are supported are of two types: Plotting (such as sweeping the frequency of a signal generator and measuring power with the HP 436A or the HP 3586A for instance) and Logging, where data from a voltmeter, HP 3586 or counter is collected at a given periodicity (from a fraction of second, when practical, to many minutes). The program supports the equipment listed above. Logging can also automatically scan the HP 59306A or HP 59307A switches to log multiple channels with a single instrument. I believe it would be simple to add other instruments once I look at the commands.
I have also written a Plotting program, not nearly as advanced as Plotter, from Ulrich Bangert, but designed to work with output from my GPIB Control program. Here is an example plot from my plotting program. It shows the output power flatness of my HP 8657B synthesizer from 100 kHz to 2 GHz, as measured by my HP 436 Power Meter. The drop at the low end is due to the response of the power sensor, which is specified down to 10 MHz only. This data was collected using the BlackBox GPIB Controller.
For information on computer languages that can be used to control equipment via GPIB, check Brooke Clarke's page (Ref 11).