The IEEE-488 interface bus, also
known as the General Purpose Interface Bus "GPIB" is an 8 bit wide
byte serial, bit parallel interface system which incorporates:
5 control lines
3 handshake lines
8 bi-directional data lines.
The entire bus consists of 24 lines, with the remaining lines occupied by ground
wires. Additional features include: TTL logic levels (negative true logic), the
ability to communicate in a number of different language formats, and no minimum
operational transfer limit. The maximum data transfer rate is determined by a
number of factors, but is assumed to be 1Mb/s.
Devices exist on the bus in any one of 3 general forms:
1. Controller
2. Talker
3. Listener
A single device may incorporate all three options, although only one option may
be active at a time. The Controller makes the determination as to which device
becomes active on the bus. The GPIB can handle only 1 ‘active’
controller on the bus, although it may pass operation to another controller. Any
number of active listeners can exist on the bus with an active talker as long as
no more then 15 devices are connected to the bus.
The controller determines which devices become active by sending interface
messages over the bus to a particular instrument. Each individual device is
associated with a 5 bit BCD code which is unique to that device. By using this
code, the controller can coordinate the activities on the bus and the individual
devices can be made to talk, listen (un-talk, un-listen) as determined by the
controller. A controller can only select a particular function of a device, if
that function is incorporated within the device; for example a ‘listen’
only device can not be made to talk to the controller.
The Talker sends data to other devices.
The Listener receives the information from the Talker.
In addition to the 3 basic functions of the controller, talker, and listener
the system also incorporates a number of operational features, such as; serial
poll, parallel poll, secondary talk and listen addresses, remote/local
capability, and a device clear (trigger).
Device dependent messages are moved over the GPIB in conjunction with the
data byte transfer control lines. These three lines (DAV, NRFD, and NDAC) are
used to form a three wire ‘interlocking’ handshake which controls the
passage of data. The active talker would control the ‘DAV’ line
(Data Valid) and the listener(s) would control the ‘NRFD’ (Not Ready
For Data), and the ‘NDAC’ (Not Data Accepted) line.
In the steady state mode the talker will hold ‘DAV’ high (no data
available) while the listener would hold ‘NRFD’ high (ready for data)
and ‘NDAC’ low (no data accepted. After the talker placed data on the
bus it would then take ‘DAV’ low (data valid). The listener(s) would
then send ‘NRFD’ low and send ‘NDAC’ high (data accepted).
Before the talker lifts the data off the bus, ‘DAV’ will be taken high
signifying that data is no longer valid. If the ‘ATN’ line (attention)
is high while this process occurs the information is considered data ( a device
dependent message), but with the "ATN’ line low the information is
regarded as an interface message; such as listen, talk, un-listen or un-talk.
The other five lines on the bus (‘ATN’ included) are the bus
management lines. These lines enable the controller and other devices on the bus
to enable, interrupt, flag, and halt the operation of the bus.
All lines in the GPIB are tri-state except for ‘SQR’, ‘NRFD’,
and ‘NDAC’ which are open-collector. The standard bus termination is a
3K resistor connected to 5 volts in series with a 6.2K resistor to ground - all
values having a 5% tolerance.
The standard also allows for identification of the devices on the bus. Each
device should have a string of 1 or 2 letters placed some where on the body of
the device (near or on the GPIB connector). These letters signify the
capabilities of the device on the GPIB bus.
C Controller
T Talker
L Listener
AH Acceptor Handshake
SH Source Handshake
DC Device Clear
DT Device Trigger
RL Remote Local
PP Parallel Poll
TE Talker Extended
LE Listener Extended
Devices are connected together on the bus in a daisy chained fashion.
Normally the GPIB connector (after being connected
to the device with the male side) has an female interface so that another
connector may be attached to it. This allows the devices
to be daisy chained. Devices are connected together in either a Linear or Star
fashion.
Most devices operate either via front panel control or HPIB control (REMOTE).
While using the front Panel the device is in the Local state, when receiving
commands via the HPIB, the device is in the Remote state. The device is placed
in the Remote state when ever the System Controller is reset or powered on,; also,
when the system controller sends out an Abort message. In addition, if the
device is addressed, it then enters the Remote state.