Jump to content

GPIB

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 119.235.49.2 (talk) at 06:20, 27 September 2008 (→‎Signals). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

IEEE-488 / HP-IB / GPIB
IEEE-488 stacking connectors
Type General purpose data bus
Production history
Designer Hewlett-Packard
Designed late 1960s standardized in 1975
Manufacturer Hewlett-Packard
Produced 1960s to present
General specifications
External yes
Cable 20 meters max
Pins 24 (8 data, 5 bus management, 3 handshake, 8 ground)
Connector 24-pin Amphenol-designed micro ribbon
Data
Data signal Parallel data bus with handshaking
Width 8 bits
Bitrate 1 Mbyte/s
(later extended to 8 Mbyte/s)
Max. devices 15
Protocol Parallel
Pinout
A female IEEE-488 connector
Pin 1 DIO1 Data input/output bit.
Pin 2 DIO2 Data input/output bit.
Pin 3 DIO3 Data input/output bit.
Pin 4 DIO4 Data input/output bit.
Pin 5 EOI End-or-identify.
Pin 6 DAV Data valid.
Pin 7 NRFD Not ready for data.
Pin 8 NDAC Not data accepted.
Pin 9 IFC Interface clear.
Pin 10 SRQ Service request.
Pin 11 ATN Attention.
Pin 12 SHIELD
Pin 13 DIO5 Data input/output bit.
Pin 14 DIO6 Data input/output bit.
Pin 15 DIO7 Data input/output bit.
Pin 16 DIO8 Data input/output bit.
Pin 17 REN Remote enable.
Pin 18 GND (wire twisted with DAV)
Pin 19 GND (wire twisted with NRFD)
Pin 20 GND (wire twisted with NDAC)
Pin 21 GND (wire twisted with IFC)
Pin 22 GND (wire twisted with SRQ)
Pin 23 GND (wire twisted with ATN)
Pin 24 Logic ground

IEEE-488 is a short-range, digital communications bus specification that has been in use for over 30 years. Originally created for use with automated test equipment, the standard is still in wide use for that purpose. IEEE-488 is also commonly known as HP-IB (Hewlett-Packard Instrument Bus) and GPIB (General Purpose Interface Bus).

IEEE-488 allows up to 15 devices to share a single 8-bit parallel electrical bus by daisy chaining connections. The slowest device participates in control and data transfer handshakes to determine the speed of the transaction. The maximum data rate is about one Mbyte/s in the original standard, and about 8 Mbyte/s with later extensions.

The IEEE-488 connector has 24 pins. The bus employs 16 signal lines — eight bi-directional used for data transfer, three for handshake, and five for bus management — plus eight ground return lines.

History

In the late 1960s, Hewlett-Packard (HP), a manufacturer of test and measurement instruments[1], such as digital multimeters and logic analyzers, developed the HP Interface Bus (HP-IB) to enable easier interconnection between instruments and controllers such as computers. Early HP 9800 series[2] desktop computers used HP-IB to connect peripherals (printers, plotters, disk drives etc.).

The bus was relatively easy to implement using the technology at the time, using a simple parallel electrical bus and several individual control lines; the interface functions could be implemented in simple TTL logic[3]

Other manufacturers copied HP-IB, calling their implementation the General Purpose Interface Bus (GPIB).

In 1975 the bus was standardized by the Institute of Electrical and Electronics Engineers as the IEEE Standard Digital Interface for Programmable Instrumentation, IEEE-488-1975 (now 488.1). IEEE-488.1 formalized the mechanical, electrical, and basic protocol parameters of GPIB, but said nothing about the format of commands or data. The IEEE-488.2 standard, Codes, Formats, Protocols, and Common Commands for IEEE-488.1 (June 1987), provided for basic syntax and format conventions, as well as device-independent commands, data structures, error protocols, and the like. IEEE-488.2 built on -488.1 without superseding it; equipment can conform to -488.1 without following -488.2.

While IEEE-488.1 defined the hardware, and IEEE-488.2 defined the syntax, there was still no standard for instrument-specific commands. Commands to control the same class of instrument (e.g., multimeters) would vary between manufacturers and even models. A standard for device commands, SCPI, was introduced in the 1990s. Due to the late introduction, it has not been universally implemented.

National Instruments introduced a backwards-compatible extension to IEEE-488.1, originally known as HS-488. It increased the maximum data rate to 8 Mbyte/s, although the rate decreases as more devices are connected to the bus. This was incorporated into the standard in 2003, as IEEE-488.1-2003.

In addition to the IEEE, several other standards committees have adopted HP-IB. The American National Standards Institute's corresponding standard is known as ANSI Standard MC 1.1, and the International Electrotechnical Commission has its IEC Publication 625-1.

Applications

At the outset, HP-IB's designers did not specifically plan for IEEE-488 to be a standard peripheral interface for general-purpose computers. By 1977 the Commodore PET/CBM range of educational/home/personal computers connected their disk drives, printers, modems, etc, by IEEE-488 bus. All of Commodore's post-PET/CBM 8-bit machines, from the VIC-20 to the C128, utilized a proprietary 'serial IEEE-488' for peripherals, with round DIN connectors instead of the heavy-duty HP-IB plugs or a card-edge connector plugging into the motherboard (for PET computers).

Hewlett-Packard and Tektronix also used IEEE-488 as a peripheral interface to connect disk drives, tape drives, printers, plotters etc. to their workstation products and HP's HP 2100[4] and HP 3000[5] minicomputers. While the bus speed was increased to 10 MB/s for such applications, the lack of command protocol standards limited third-party offerings and interoperability, and later, faster, open standards such as SCSI eventually superseded IEEE-488 for peripheral access.

Additionally, some of HP's advanced pocket calculators/computers of the 1980s, such as the HP-41 and HP-71B series, could work with various instrumentation via an optional HP-IB interface. The interface would connect to the calculator via an optional HP-IL module.

Signals

Signals are in TTL negative logic.

bus line description
DIO1–DIO8 Data input/output bits. These 8 lines are used to read and write the 8 bits of a data or command byte that is being sent over the bus.
NRFD Not ready for data. NRFD is a handshaking line asserted by listeners to indicate they are not ready to receive a new data byte.
DAV Data valid. This is a handshaking line, used to signal that the value being sent with DIO1-DIO8 is valid. During transfers the DIO1-DIO8 lines are set, then the DAV line is asserted after a delay called the 'T1 delay'. The T1 delay lets the data lines settle to stable values before they are read.
NDAC Not data accepted. NDAC is a handshaking line asserted by listeners to indicate they have not yet read the byte contained on the DIO lines.
ATN Attention. ATN is asserted to indicate that the DIO lines contain a command byte (as opposed to a data byte). Also, it is asserted with EOI when conducting parallel polls.
EOI End-or-identify. This line is asserted with the last byte of data during a write, to indicate the end of the message. It can also be asserted along with the ATN line to conduct a parallel poll.
IFC Interface clear. The system controller can assert this line (it should be asserted for at least 100 microseconds) to reset the bus and make itself controller-in-charge.
REN Remote enable. Asserted by the system controller, it enables devices to enter remote mode. When REN is asserted (low), a device will enter remote mode when it is addressed by the controller. When REN is false (high), all devices will immediately return to local mode.
SRQ Service request. Devices on the bus can assert this line to request service from the controller-in-charge. The controller can then poll the devices until it finds the device requesting service, and perform whatever action is necessary.

fools done above page ok but dont read?

Connectors

IEEE-488

IEEE-488 uses 24-pin Amphenol-designed micro ribbon connectors (often incorrectly termed Centronics-type), most commonly in a stackable male/female combination that allows for easy daisy-chaining by stacking cables. Mechanical considerations limit the number of stacked connectors to four or less. They are held in place by screws, which come in UTS (now largely obsolete) or metric (M3.5×0.6) threads. By convention, metric screws are colored black, as the two threads do not mate. Total cable length is limited to 20 metres, although non-standard "bus extender" devices are available.

IEC-625

The IEC-625 standard prescribes the use of 25-pin D-subminiature connectors (the same are used for parallel ports on PCs). This standard did not gain significant market acceptance against the established 24-pin connector.

See also

References

  1. ^ This portion of the company was later spun-off as Agilent Technologies
  2. ^ HP 9815 98135A HP-IB Interface
  3. ^ Examples: HP 59501 Power Supply Programmer, HP 59306A Relay Actuator
  4. ^ HP 2100 59310A HP-IB Interface
  5. ^ HP 3000 27113A CIO HP-IB Interface

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.