GPIB: Difference between revisions
No edit summary |
No edit summary |
||
Line 161: | Line 161: | ||
[[sk:IEEE-488]] |
[[sk:IEEE-488]] |
||
[[tr:IEEE-488]] |
[[tr:IEEE-488]] |
||
will you dirty bastard stop farting! |
Revision as of 13:33, 19 October 2009
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 Interface Bus) and GPIB (General Purpose Interface Bus).
IEEE-488 allows up to 15 devices to share a single eight-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.
Since 2004, the standard is a dual-label IEEE/IEC standard known as IEC 60488 Higher performance protocol for the standard digital interface for programmable instrumentation [4]. The American National Standards Institute's corresponding standard was known as ANSI Standard MC 1.1, and the International Electrotechnical Commission formerly had IEC Publication 60625-1(1993).
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 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 serialized IEEE-488 interface 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[5] and HP 3000[6] 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.
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
- LAN eXtensions for Instrumentation, the intended replacement for GPIB
- HP series 80
- Rocky Mountain BASIC
References
- ^ This portion of the company was later spun-off as Agilent Technologies
- ^ HP 9815 98135A HP-IB Interface
- ^ Examples: HP 59501 Power Supply Programmer, HP 59306A Relay Actuator
- ^ IEC Standard 60488, 2004
- ^ HP 2100 59310A HP-IB Interface
- ^ HP 3000 27113A CIO HP-IB Interface
- IEEE Standards
External links
- A GPIB tutorial (mirror) from TransEra Corporation
- Explanation of connector stacking GPIB (<2Mb 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:
- Python Wrapper for NI GPIB
- Tcl Extension for NI GPIB
- GPIB: Challenges and Potentials from ADLINK
- What's ADLINK GPIB?
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.