GPIB / IEEE 488 Basics Tutorial
- an overview or tutorial describing the basics of GPIB - General Purpose Interface Bus - or IEEE 488 bus, how it operates, how the GPIB interface can be used and tips for successful, trouble free operation.
This GPIB tutorial is split into several pages each of which address different aspects of GPIB operation and technology:
[1] GPIB / IEEE 488 tutorial and basics [2] GPIB cables and connectorsThe GPIB or General Purpose Interface Bus or IEEE 488 bus is still one of the more popular and versatile interface standards available today. GPIB is widely used for enabling electronics test equipment to be controlled remotely, although it us also used in a many other applications including data acquisition. Today most bench electronics test equipment has either a GPIB option or are fitted with it as standard.
Originally GPIB was named the HP-IB (Hewlett Packard Interface Bus) when it was first introduced, it has gained a number of other names over the years. GPIB has been adopted by a number of major institutions that have given it their numbers. The Institute of Electrical and Electronic Engineers in the U.S.A. have given it their specification number 488, and as a result it is sometimes referred to as the IEEE 488 bus or IEEE488 bus. Other organisations have also adopted it. The American National Standards Institute as has the European IEC. Despite the proliferation of names and numbers for it, the specifications are all virtually the same and can be used interchangeably. However of all the names GPIB is the most common, followed by IEEE 488 bus.
Basic GPIB concept
The GPIB or IEEE 488 bus is a very flexible system, allowing data to flow between any of the instruments on the bus, at a speed suitable for the slowest active instrument. Up to fifteen instruments may be connected together with a maximum bus length not exceeding 20 m. There must also be no more than 2 m between any two instruments. It is possible to purchase GPIB cards to incorporate into computers that do not have the interface fitted. As GPIB cards are relatively cheap, this makes the inclusion of a GPIB card into the system a very cost effect method of installing it.
The connector used for the IEEE 488 bus is standardised as a 24-way Amphenol 57 series type. This provides an ideal physical interface for the standard. The IEEE 488 or GPIB connector is very similar in format to those that were used for parallel printer ports on PCs although the type used for the GPIB has the advantage it has been changed so that several connectors can be piggy-backed. This helps the physical setting up of the bus and prevents complications with special connection boxes or star points.
Within IEEE 488, the equipment on the bus falls into three categories. There are controllers, talkers and listeners, although any piece of equipment may be able to fulfil more than one function. For example a voltmeter which is controlled over the bus will act as a listener when it is being set up, and then when it is returning the data, it will act as a talker. As such it is known as a talker / listener. A printer will only be able to listen, as it will only need to accept data to print out on the paper.
The IEEE 488 or GPIB controller has the most crucial role on the bus. It is usually a computer and signals that instruments are to perform the various functions. The GPIB controller also ensures that no conflicts occur on the bus. If two talkers tried to talk at the same time then data would become corrupted and the operation of the whole system would be seriously impaired. Often GPIB cards can be used in a variety of roles, but these GPIB cards are most often used as controllers as they tend to reside in the controlling computer. Most test instruments that might be intended for use with the GBIP interface would have this fitted as standard and would therefore not require and additional GPIB card.
GPIB structure
The IEEE 488 bus uses levels based around the use of Schottky TTL and has a total of sixteen active lines. These lines can be organised into three categories. Eight are used for data transfer, three are used for a comprehensive form of handshaking, and the remaining five are used for general bus management, carrying status and control information.
GPIB operation
The operation of GPIB is based around the handshaking protocol. Three lines, DAV (DAta Valid), NDAC (Not Data ACepted), and NRFD (Not Ready For Data), control this. All the listeners on the bus use the NRFD line to indicate their state of readiness to accept data. If one listener holds the line low then this prevents any data transfer being initiated. This means that when all the instruments are ready as indicated by the NRFD being line is high and then data can be transferred. Once all the instruments have released the NRFD line and it is in the high state, only then can the next stage be initiated.
Data is placed onto the data lines by the talker and once this has settled, the DAV line is pulled low. This signals to all the listeners that they are able to read the data that is present. During this operation the NDAC line will be held low by all the active listeners, i.e. those which have been instructed to receive the data. Only when they have read the data will each device stop trying to hold this line low. When the last device removes its hold, the level of the line will rise and the talker will know that all the data has been accepted and the next byte of data can be transferred.
By transferring data in this way the data is placed onto the bus at a rate which is suitable for the talker, and it is held until the slowest listener has accepted it. In this way the optimum data transfer rate is always used, and there are no specifications and interface problems associated with the speeds at which data must be transferred.
IEEE 488 bus management
In addition to the comprehensive handshaking system, the GPIB also incorporates a number of very useful bus management facilities, enabling the instruments on the bus to be controlled in a very flexible manner.
Each instrument has its own address. This enables the controller or talker to talk to a specific piece of equipment. It is obviously imperative that each piece of equipment has its own unique address on the bus. If not bus conflicts occur and the operation of the system will crash.
Often different types of instrument have their own default values set for GPIB at the factory during manufacture. However in all cases it must be possible to change the GPIB address either by changing switches on the outside of the equipment or the inside. Even though only fifteen units are allowed on the bus at any one time, addresses up to 31 are allowed. This enables a certain amount of flexibility in defining specific addresses for certain types of equipment within an organisation.
Within the GPIB there are a number of lines that are dedicated to signalling and control on the bus:
- Attention, ATN line: One of the most important lines is the ATN (Attention) line. Using this the controller is able to signal whether the data to be placed onto the data lines is control information or data. When the line is pulled low then the bus is said to be in command mode and bus commands may be placed onto the bus. These commands are the same for all bus systems and each device is programmed to respond to any commands that have a useful or applicable meaning. One of the most common bus commands is to give the address of an instrument to which data is about to be sent. In addition to this when the line is pulled low it causes any talker to relinquish its control of the DAV line and cease its data transmission. Another result is that all listeners whether active or not will listen to the control data being transmitted.
When the ATN line is high the bus is said to be in data mode and data transfers between the instruments can take place. In command mode not all the data lines are used. Bit seven is ignored, whilst bits five and six indicate the type of information to be transmitted. It may be a bus command, a talk address, or a listen address. - Interface Clear, IFC; The IFC line is used by the controller to reset the bus and place it into its quiescent state. Any talker or listener which is active is stopped and control is returned to the controller. This is not used in the course of normal operation. However it can be used when the system needs re-setting or at initial power up when the bus may be in a random state.
- Remote Enable, REN: Remote enable (REN) is a function that is used by the controller to set instruments on the bus to local i.e. front panel control or to bus control. Bus controlled instruments may be returned to their local state by a go to local message sent in conjunction with the ATN line being pulled low.
- End or Identify, EOI: End or Identify (EOI) is an optional GPIB function used to signify the end of a multiple byte data transfer. As an alternative, talkers can use a carriage return or carriage return line feed to terminate the message. This can then be interpreted by the controlled dependent upon how its software is configured.
- Service Request, SRQ The next control line is SRQ or service request. Any device fitted with this function can pull the service request line low. When this happens it indicates that it wants to interrupt the current activities so that attention can be given to a particular event. One instance where this facility is needed is when a printer runs out of paper, or in another instance, an instrument may be overloaded or "over-ranged". Once the SRQ line has been pulled low, the controller then has to identify which instrument has caused the interrupt. A process called polling accomplishes this. Essentially this just requests status information from the devices on the bus.
Each of these lines provides an important function on the line. Having dedicated lines for these functions ensures that the handshaking on the interface is swift and does not have to rely on embedded messages that would take longer to action.
Polling
There are two ways in which instruments on GPIB can be polled. One is called parallel polling and the other is serial.
Parallel polling can only operate with up to eight instruments. This is because each of the devices will return a status bit one of the eight data lines. To assert a parallel poll the controller pulls the ATN and EOI lines low. When this occurs each instrument responds by transmitting a one-bit status report.
A serial poll is more flexible but takes longer to accomplish. Here the controller sends each of the instruments a serial poll enable command in turn. This is one of the GPIB commands that can be sent when the ATN line is held low. When an instrument receives a serial poll enable it responds by returning eight bits of status information. When the controller has received the status data it sends a serial poll disable command and returns the bus and instruments on it to the normal data mode.
The advantage of a serial poll is that it is far more flexible and enables eight bits of data to be returned. However it is much slower because each instrument has to be polled in turn to find out which one pulled the SRQ line in the first place.
Using GPIB
In practice the GPIB interface is very easy to use. Ready-made GPIB cables are widely available even if they appear to be a little expensive. However these GPIB cables are fully screened and have the correct lines as twisted pairs. This considerably reduces the susceptibility of the bus to data corruptions. Manufacture of full specification GPIB cables can be difficult in view of the complexity of the cable and having to ensure the integrity of the screening.
A cheap and convenient alternative for GPIB cables is available in the form of insulation displacement connectors. While cables made in this way are much cheaper they are not screened and do not conform to the GPIB / IEEE 488 specifications. In view of this they should only be used where there are a very limited number of instruments, where data rates are likely to be low, for long runs, and where electrical noise is not likely to be a problem. If a cable of this nature is used then it is worth being aware that it could be the cause of random errors when the system is operating.
When setting up a GPIB system linked by the bus few rules need to be observed. The cables can generally be routed as required, linking the instruments as is most convenient. As the connectors can be "piggy backed", this makes linking the instruments very easy. However a little common sense is required, and not too many connectors should be linked to one point.
Before firing up the system, check all the instrument GPIB addresses to ensure that they are correct and match what the software in the controller requires. Also check that none are duplicated. Unfortunately checking the addresses can be a time consuming operation because not all the instruments will have switches that are easily available. To overcome this it is best to have standard addresses for different types of instruments within a factory. This will eliminate the need for any swapping and changing as test stacks are taken down and erected.
Although GPIB normally works very well, occasionally some problems inevitably arise. Sometimes it has been known for the bus to hang, even though all the instruments are operating correctly on their own. Some instruments can be sensitive to their physical position on the bus, particularly if they are at a remote end. In instances like this the topology of the cable routing can be changed to bring the offending instrument closer to the controller.
GPIB summary
The GPIB has been available for over thirty years, but despite its age, it is still a valuable tool that is widely used throughout the industry. Most bench instruments have GPIB fitted as standard or as an option making it easy to use test equipment in a variety of applications apart from being dedicated to use in an ATE test stack. Additionally GPIB or IEEE 488 is used in a wide number of other applications including data acquisition.
Although computers tend not to have GPIB interfaces fitted as standard today, a GPIB card may be bought and installed. In view of its flexibility and convenience and it is likely to remain in widespread use for many years to come.
Further pages from this tutorial
Page
[ 1 ] >>
[ 2 ] >>
Next >>
