I am looking for a fast SPDT switch that is controllable using GPIB (IEEE-488). The maximum voltage applied across the switch would be something like 10V (and in practice more than around 5V). I'm quite new to electronics and am having trouble working out how various switches are controlled, and what to look for in switch specifications. Are there some general guidelines to identify a suitable switch for a particular application, and in particular what to look for in a switch controllable by GPIB?
Since you're talking about GPIB, I'll assume you are interested in test automation. Key parameters to look at when evaluating a switch in a test automation application:
- Number of channels - GPIB-controlled switch cards are available with up to 300 switches per card, and multi-card controller mainframes are available that can contain 1000's of switches.
- Frequency band - can the switch pass all the frequencies in the signal you are switching. Switches are available for "low frequencies" (maybe 10 or 100 MHz) and for RF (3, 6, 18, 26, or higher GHz).
- Current handling - if you are switching power lines carrying more than say 1 A, be sure the switch can handle the current.
- Cycle lifetime - A mechanical switch can only be switched so many times before it wears out (typically defined by on resistance increasing above the spec level). This could be on the order of 1 to 5 million cycles for good quality switches, but its still a number you could exceed within a year if you are switching multiple times for each device tested.
- Price - if you haven't bought GPIB or RF gear before, be prepared for sticker shock.
You mentioned you want a "fast" switch. If you are talking about the signal frequency, you can probably find a switch capable of microwave frequencies and a (separate) GPIB interface to control it. If you are talking about the switching time, I've rarely found that the switching time of the switch itself is significant compared to the time required for GPIB communication. However if you are doing, say 6-1/2 digit voltage measurements on the switch output, you will need to be concerned about the settling time after switching -- in that case consider using one of the switch control units with a built in multimeter and look carefully at the settling time of the switches you choose.
Also, consider alternative interfaces. It's very likely that if you need less than 10 low-frequency switch channels, you could find a lower cost solution using USB control instead of GPIB. You might find an integrated USB-controlled switch or you might need to use a USB digital I/O device to control a simpler switch device.
The usual IC-level way to implement a GPIB device (non-controller) is with the TNT488 chip from National Instruments. It's rather expensive and the programming manual will likely require a number of readings before an appropriate software architecture to interface with it is realized. Having successfully implemented one, it's not a path I would recommend except where it is necessary to interface with a large investment in legacy systems.
With an embedded controller capable of running Linux, it might be possible to do something with the source of the driver intended for ISA cards with the controller-capable version of the chip, which is likely a superset of the device-only version.
It is also possible to build a GPIB with discrete logic, or in an FPGA, though it is a 5v bus which would require level translation to use with most modern FPGAs. There are some projects on the net doing this for capturing plotter output from older but still valuable RF test equipment.
Several others have commented on various types of electronic switch devices for various purposes.
This simplest in terms of putting together a system would be a GPIB relay board. I don't know if such a thing exists, but if it does it's probably made by National Instruments or possibly Agilent. Next would be a general purpose digital I/O board where you use a digital output to drive a relay. Again, I don't know if such a thing exists.
In general, GPIB is built into devices that need to be controlled, and the third party boards out there are for the control side. If you're clever with microcontrollers and are willing to dig thru the GPIB spec, you should be able to make your own GPIB interface. One feature of GPIB is that the three-wire handshake causes the bus to slow to the speed of the slowest device, so the micro isn't stuck having to pass data at the rate the host can.
Why does it need to be GPIB? That's really old fashioned in today's world. Parallel busses like that with big fat stiff cables are so 1980s. Step back two levels and tell us what you are really trying to accomplish.