IEC 625 bus
IEC-625 bus is the international standard designation for an external parallel data bus , which is primarily used to connect measuring devices and peripheral devices such as plotters and printers to a computer , whereby up to 15 devices can be connected. The maximum speed of the standard version is 1 MByte / s.
Other names
- GPIB, GP-IB
- General Purpose Interface Bus , also General Purpose Instrumentation Bus
- HP-IB
- Hewlett-Packard Interface Bus
- IEEE-488, IEEE488, IEEE-60488, (parallel) IEC bus
- IEEE Standard 488
- IEEE Standard 60488
- ANSI MC 1.1
- ANSI Standard MC 1.1
history
The bus was developed in the 1960s by the company Hewlett-Packard (HP) as HP-IB, which it submitted for IEEE standardization in the 1970s . In 1975 it was standardized as IEEE-488-1975. In 1978 the standard was revised and published as IEEE-488-1978 (later renamed to IEEE 488.1, renamed to IEEE 60488.1: 2004 in 2004). HP-IB conforms to this standard. ANSI adopted the standard as ANSI Standard MC 1.1. The IEC adopted the standard as IEC-625.
In 1987 the IEEE passed an amendment, IEEE 488.2 (aka IEEE 60488.2: 2004), which extends, does not replace, the original standard. The original standard did not define any data transmission protocols or device commands. To curb the proliferation of manufacturer solutions, IEEE 488.2 was expanded in 1990 to include the standardized command language SCPI . Many devices still do not meet the IEEE488.2 standard.
Faster variants are e.g. B. known as HS488 , which was standardized as IEEE 488.1-2003 in 2003. However, some older devices are not able to process the HS488 protocol. This must therefore be taken into account when using mixed equipment.
Basic structure
The bus is an 8-bit parallel bus that can be used to connect up to 15 devices. Though 30 devices can be addressed, the physical specification only allows 15 devices to be connected per bus. The bus contains 16 signal lines, eight of which are data lines, three to control data transmission ( handshake ), and five signals for bus management.
Each connected device must be manually assigned one of the 30 possible addresses. This is typically done on the device with a DIP switch . Some devices also allow the address to be set in the device's firmware.
A maximum of one of the connected devices may send data at a time (the device that was previously defined as a talker ), but the data can be sent to several of the other connected devices, since all non-transmitting devices are allowed to read from the bus at the same time (more precisely actively reading devices must be defined as listener beforehand).
With a 3-phase handshake (ready / data valid / data accepted) the slowest device on the bus determines the speed of the transmission. It is therefore not advisable to mix devices with significantly different speeds on a bus unless the speed loss can be tolerated.
The standard defines various logical functions of devices, e.g. B. Source Handshake (SH) , Acceptor Handshake (AH) , Service Request (SR) , or Control (C) , with a subsequent digit indicating the implemented (sub) functionality (0 = no function). These "capabilities" of the interface are specified in a summarized form on devices or in manuals, e . B. SH1 AH1 T6 L4 SR0 RL1 PP0 DC1 DT0 C0 . In contrast to standards such as Universal Serial Bus (USB), the bus does not necessarily require a controller. So z. B. a measuring device set to talk only can be connected directly to a printer set to listen only for logging purposes.
IEEE-488-1 only defines the transmission of data, not the commands for controlling peripheral devices. An additional protocol is required for this, e.g. B. HP uses a protocol called CS-80 (Command Set 80) for its own peripherals.
Bus signals
group | Signal name | designation | description |
---|---|---|---|
Data | DIO1-DIO8 | Data | |
Handshake | NRFD | Not ready for data | With this signal, listeners inform that they have not yet processed the data byte on DIO1-8. |
DAV | Data Valid | The data on DIO1-DIO8 are valid. This signal is activated by the talker a short time after the data has been created. | |
NDAC | Not data accepted | The listeners use NDAC to report that they have not accepted the data byte on the DIO lines. | |
protocol | ATN | Attention | ATN indicates that the data lines contain a command byte (e.g. address). Together with EOI for parallel queries (parallel poll) used. |
EOI | End or Identify | Activated together with the last byte of a message to indicate the end of it. | |
IFC | Interface clear | The system controller can use this line to reset the bus and establish itself as the active controller. | |
REN | Remote enable | Is activated by the controller in order to enable the remote mode of the bus participants. If REN is deactivated, all participants go back to local mode. | |
SRQ | Service request | Bus participants can use this signal to inform the active controller that they want to be operated - for example, the function of an interrupt line in a microprocessor. |
Plug connections
IEEE-488
IEEE-488 uses 24-pin Centronics plugs (official name: "Micro Ribbon Connector"), often designed as a plug-socket combination on both cable ends.
With these combinations, the complete bus is looped through to the socket. An identical plug can then be screwed on there again. The plugs can thus be “stacked”, with the number of plug-in connectors plugged onto one another usually being limited to four for mechanical reasons. There are both metric (M3.5 × 0.6) and imperial retaining screws ( UTS ) that do not fit together to fix the connector . According to convention, the metric variant (which is mainly found today) is black, while the inch variant is silver. In practice, this connector system enables flexible bus cabling. Both star-shaped and linear cabling, as well as mixed forms of these are possible and permissible.
- Contact assignment:
+\ | ---\ | ---+ DIO1 | 1 13 | DIO5 DIO2 | 2 14 | DIO6 DIO3 | 3 15 | DIO7 DIO4 | 4 16 | DIO8 EOI | 5 17 | REN DAV | 6 18 | GND (verdrillt mit DAV) NRFD | 7 19 | GND (verdrillt mit NRFD) NDAC | 8 20 | GND (verdrillt mit NDAC) IFC | 9 21 | GND (verdrillt mit IFC) SRQ | 10 22 | GND (verdrillt mit SRQ) ATN | 11 23 | GND (verdrillt mit ATN) SHIELD | 12 24 | Signal GND | ---+ | ---/ +/
IEC-625
The IEC-625 bus uses 25-pin D-Sub connectors. This variant was only introduced by the IEC standard and could not prevail on the market against the established 24-pin connector according to IEEE-488.
PCB connector
Commodore often implemented the plug connection on the computer as an inexpensive, but impractical circuit board plug connection due to the lack of screw connections . This is assigned so that a 24-pin standard plug can be connected directly using a ribbon cable :
Platinenkerbe Platinenkerbe 1 - DIO1 9 - IFC E - REN | | 2 - DIO2 10 - SRQ F - GND 1 1 1 3 - DIO3 11 - ATN H - GND 1 2 3 4 5 6 7 8 9 0 1 2 4 - DIO4 12 - GND J - GND = = = = = = = = = = = = 5 - EOI A - DIO5 K - GND ###### ################### ######### 6 - DAV B - DIO6 L - GND = = = = = = = = = = = = 7 - NRFD C - DIO7 M - GND A B C D E F H J K L M N 8 - NDAC D - DIO8 N - GND
DIN plug according to DIN 41524
There was also a proprietary serial version of the bus from Commodore under the name CBM-Bus , in which round DIN plugs according to DIN 41524 were used.
Connection to the PC
Plug-in cards for connecting the GBIP to IBM-compatible PCs were produced early on . GPIB controllers are already available as plug-in cards for the XT bus . Plug-in cards for the ISA bus and the PCI bus were later produced. In the meantime, GPIB- USB adapter cables with integrated electronics are also available, which means that there is no need to depend on the corresponding slots in the PC and only a USB connection is required. This makes the GPIB accessible to modern computers without PCI slots and mobile computing .
application
Today the bus is still widely used in laboratories for controlling and monitoring measuring devices. However, it is not limited to this use, it is a general purpose bus that has long served as the standard connector for plotters and printers. Mass storage media, from floppy disk drives to tape drives to hard drives , were also connected via IEEE-488, e.g. B. on HP workstations of the 1970s and 1980s.
The Commodore PET / CBM also had this bus and used it primarily for floppy disk drives and printers. The later Commodore 8-bit models from the VC-20 to the C128 used the proprietary serial variant CBM-Bus .
See also
- 60488.1: 2004 (488.1-2003) Higher performance protocol for the standard digital interface for programmable instrumentation - Part 1: General. ISBN 2-8318-7440-8 .
- 60488.2-2004 Standard digital interface for programmable instrumentation - Part 2: Codes, formats, protocols and common commands. ISBN 2-8318-7441-6 .
- CAMAC
- LAN extensions for Instrumentation (LXI)
- VME extension for Instrumentation (VXI)
- PCI eXtensions for Instrumentation (PXI)
Web links
- IEEE-488 at Commodore
- The future of GPIB
- Background information on IEEE488 bus systems
- GPIB tutorial , English
- General Purpose Interface Bus - IEEE-488 Digital Interface for Programmable Instrumentation , English
- Linux driver for numerous GPIB cards , English