IEEE-488
'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 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.
| Contents |
| History |
| Applications |
| Signals |
| Connectors |
| IEEE-488 |
| IEC-625 |
| See also |
| References |
| External links |
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 MB/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
| '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, a device will enter remote mode when it is addressed by the controller. When REN is false, 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. |
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
★ HP series 80
★ Rocky Mountain BASIC
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
★ IEEE Standards
★
★ IEEE-488.1: Standard Digital Interface for Programmable Instrumentation
★
★ IEEE-488.2: Standard Codes, Formats, Protocols, and Common Commands for Use With IEEE-488.1
★
★ Press release on IEEE 488.1-2003, which allows for higher speeds
External links
★ A GPIB tutorial (mirror) from TransEra Corporation
★ Explanation of connector stacking GPIB (<1Mb PDF) from L-com Connectivity Products
★ Tutorials, application notes, and sample programs from ICS Electronics (index is HTML; content is PDF)
★ Linux GPIB drivers and libraries
★ KE5FX GPIB Toolkit, several freeware GPIB applications for Windows
★ From http://www.bitsavers.org:
★
★ Tutorial description of HP-IB (5Mb PDF)
★
★ CS/80 (5Mb PDF)
★
★ Subset/80 (SS/80) (8Mb PDF)
★ Python Wrapper for NI GPIB
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves
Featured Companies
| Dancing Moon Travel | |
| Alpine Interface Inc. | |
| Travelbugs, LLC |
IEEE-488 Videos
![]() | gpib-grabber.wmv |

العربية
ä¸å›½
Français
Deutsch
Ελληνική
हिनà¥à¤¦à¥€
Italiano
日本語
Português
РуÑÑкий
Español