IEEE-488
IEEE 488 ist eine 8-Bit- Parallel- Multi-Master- Schnittstellenbusspezifikation für digitale Kommunikation mit kurzer Reichweite, die von Hewlett-Packard als HP-IB ( Hewlett-Packard Interface Bus ) entwickelt wurde. Es wurde später Gegenstand mehrerer Standards und wird allgemein als GPIB ( General Purpose Interface Bus ) bezeichnet.

Obwohl der Bus Ende der 1960er Jahre entwickelt wurde, um automatisierte Testgeräte miteinander zu verbinden , hatte er in den 1970er und 1980er Jahren auch einige Erfolge als Peripheriebus für frühe Mikrocomputer , insbesondere den Commodore PET . Neuere Standards haben IEEE 488 für den Computereinsatz weitgehend ersetzt, es wird jedoch immer noch von einigen Testgeräten verwendet.
Ursprünge
In den späten 1960er Jahren stellte Hewlett-Packard (HP) [1] verschiedene automatisierte Test- und Messinstrumente wie Digitalmultimeter und Logikanalysatoren her . Sie entwickelten den HP Interface Bus (HP-IB) , um eine einfachere Verbindung zwischen Instrumenten und Controllern (Computer und andere Instrumente) zu ermöglichen.
Der Bus war mit der damaligen Technologie relativ einfach zu implementieren, wobei ein einfacher paralleler Bus und mehrere einzelne Steuerleitungen verwendet wurden. Beispielsweise waren der HP 59501 Power Supply Programmer und der HP 59306A Relay Actuator relativ einfache HP-IB-Peripheriegeräte, die in TTL implementiert wurden , ohne dass ein Mikroprozessor erforderlich war.
HP hat die HP-IB-Patente gegen eine geringe Gebühr an andere Hersteller lizenziert. Es wurde als GPIB (General Purpose Interface Bus) bekannt und wurde de facto zum Standard für die automatisierte und industrielle Instrumentensteuerung. Als GPIB populär wurde, wurde es von verschiedenen Standardorganisationen formalisiert .
Standards
1975 standardisierte das IEEE den Bus als Standard Digital Interface for Programmable Instrumentation , IEEE 488 ; Es wurde 1978 überarbeitet (IEEE 488-1978). [2] Der Standard wurde 1987 überarbeitet und als IEEE 488.1 (IEEE 488.1-1987) umbenannt. Diese Standards formalisierten die mechanischen, elektrischen und grundlegenden Protokollparameter von GPIB, sagten jedoch nichts über das Format von Befehlen oder Daten aus.
1987 führte IEEE Standardcodes, Formate, Protokolle und allgemeine Befehle ein , IEEE 488.2 . Es wurde 1992 überarbeitet. [3] IEEE 488.2 enthielt grundlegende Syntax- und Formatkonventionen sowie geräteunabhängige Befehle, Datenstrukturen, Fehlerprotokolle und dergleichen. IEEE 488.2 basiert auf IEEE 488.1, ohne es zu ersetzen. Geräte können IEEE 488.1 entsprechen, ohne IEEE 488.2 zu befolgen.
Während IEEE 488.1 die Hardware und IEEE 488.2 das Protokoll definierte, gab es noch keinen Standard für instrumentenspezifische Befehle. Die Befehle zur Steuerung derselben Instrumentenklasse, z. B. Multimeter, variierten zwischen Herstellern und sogar Modellen.
Die United States Air Force [4] und später Hewlett-Packard erkannten dies als Problem. 1989 entwickelte HP seine TML-Sprache [5], die der Vorläufer der 1990 als Industriestandard eingeführten Standardbefehle für programmierbare Instrumente (SCPI) war. [6] SCPI fügte allgemeine Standardbefehle und eine Reihe von Instrumentenklassen mit entsprechenden hinzu klassenspezifische Befehle. SCPI hat die IEEE 488.2-Syntax vorgeschrieben, jedoch andere (Nicht-IEEE 488.1) physische Transporte zugelassen.
Die IEC entwickelte parallel zur IEEE ihre eigenen Normen, wobei die IEC 60625-1 und die IEC 60625-2 (IEC 625) später durch die IEC 60488 ersetzt wurden .
National Instruments führte eine abwärtskompatible Erweiterung von IEEE 488.1 ein, die ursprünglich als HS-488 bekannt war . Die maximale Datenrate wurde auf 8 MByte / s erhöht , obwohl die Rate abnimmt, wenn mehr Geräte an den Bus angeschlossen werden. Dies wurde 2003 (IEEE 488.1-2003) [7] über die Einwände von HP in den Standard aufgenommen . [8] [9]
Im Jahr 2004 kombinierten IEEE und IEC ihre jeweiligen Standards zu einem "Dual Logo" IEEE / IEC-Standard IEC 60488-1 , Standard für ein Protokoll mit höherer Leistung für die digitale Standardschnittstelle für programmierbare Instrumente - Teil 1: Allgemein , [10] ersetzt IEEE 488.1 / IEC 60625-1 und IEC 60488-2 , Teil 2: Codes, Formate, Protokolle und allgemeine Befehle , [11] ersetzen IEEE 488.2 / IEC 60625-2. [12]
Eigenschaften
IEEE 488 ist ein elektrisch paralleler 8-Bit- Bus, der 16 Signalleitungen verwendet - acht für die bidirektionale Datenübertragung, drei für den Handshake und fünf für das Busmanagement - sowie acht Erdungsrückleitungen.
Der Bus unterstützt 31 Fünf-Bit-Primärgeräteadressen, die von 0 bis 30 nummeriert sind, und weist jedem Gerät auf dem Bus eine eindeutige Adresse zu. [13] [14]
Der Standard ermöglicht es bis zu 15 Geräten, einen einzelnen physischen Bus mit einer Gesamtkabellänge von bis zu 20 Metern gemeinsam zu nutzen. Die physikalische Topologie kann linear oder sternförmig (gegabelt) sein. [15] Aktive Extender ermöglichen längere Busse, wobei theoretisch bis zu 31 Geräte auf einem logischen Bus möglich sind.
Steuerungs- und Datenübertragungsfunktionen sind logisch getrennt. Ein Controller kann ein Gerät als "Sprecher" und ein oder mehrere Geräte als "Zuhörer" ansprechen, ohne an der Datenübertragung teilnehmen zu müssen. Es ist möglich, dass mehrere Controller denselben Bus gemeinsam nutzen, es kann jedoch immer nur einer der verantwortlichen Controller sein. [16]
Im ursprünglichen Protokoll verwenden Übertragungen einen verriegelten, drahtgebundenen Drei-Draht - Handshake. [17] Die maximale Datenrate beträgt etwa ein Megabyte pro Sekunde. Die spätere HS-488-Erweiterung lockert die Handshake-Anforderungen und ermöglicht bis zu 8 MByte / s. Das am langsamsten teilnehmende Gerät bestimmt die Geschwindigkeit des Busses. [18]
Anschlüsse
Pin out | |||
---|---|---|---|
![]() | |||
IEEE 488-Buchse | |||
Pin 1 | DIO1 | Dateneingabe- / Ausgabebit. | |
Pin 2 | DIO2 | Dateneingabe- / Ausgabebit. | |
Pin 3 | DIO3 | Dateneingabe- / Ausgabebit. | |
Pin 4 | DIO4 | Dateneingabe- / Ausgabebit. | |
Pin 5 | EOI | Beenden oder identifizieren. | |
Pin 6 | DAV | Daten gültig. | |
Pin 7 | NRFD | Nicht bereit für Daten. | |
Pin 8 | NDAC | Keine Daten akzeptiert. | |
Pin 9 | IFC | Schnittstelle klar. | |
Pin 10 | SRQ | Service-Anfrage. | |
Pin 11 | ATN | Beachtung. | |
Pin 12 | SCHILD | ||
Pin 13 | DIO5 | Dateneingabe- / Ausgabebit. | |
Pin 14 | DIO6 | Dateneingabe- / Ausgabebit. | |
Pin 15 | DIO7 | Dateneingabe- / Ausgabebit. | |
Pin 16 | DIO8 | Dateneingabe- / Ausgabebit. | |
Pin 17 | REN | Remote-Aktivierung. | |
Pin 18 | GND | (Draht mit DAV verdrillt) | |
Pin 19 | GND | (Draht mit NRFD verdrillt) | |
Pin 20 | GND | (Draht mit NDAC verdrillt) | |
Pin 21 | GND | (Draht mit IFC verdrillt) | |
Pin 22 | GND | (Draht mit SRQ verdrillt) | |
Pin 23 | GND | (Draht mit ATN verdrillt) | |
Pin 24 | Logikgrund |
IEEE 488 spezifiziert eine 24-pin Amphenol -designed micro ribbon Stecker. Mikroband-Steckverbinder haben eine D-förmige Metallhülle, sind jedoch größer als D-Subminiatur- Steckverbinder. Sie werden manchmal als "Centronics-Steckverbinder" bezeichnet, nachdem der 36-polige Mikroband- Steckverbinder Centronics für ihre Drucker verwendet wurde.
Ein ungewöhnliches Merkmal von IEEE 488-Steckverbindern ist, dass sie üblicherweise ein "Doppelkopf" -Design verwenden, mit einem Stecker auf der einen Seite und einer Buchse auf der anderen Seite. Dies ermöglicht das Stapeln von Steckverbindern für eine einfache Verkettung . Mechanische Überlegungen begrenzen die Anzahl der gestapelten Steckverbinder auf vier oder weniger, obwohl eine Problemumgehung, bei der die Steckverbinder physisch unterstützt werden, dies möglicherweise umgehen kann.
Sie werden durch Schrauben an Ort und Stelle gehalten, entweder UTS (inzwischen weitgehend veraltet) oder metrische Gewinde M3,5 × 0,6 . Frühere Versionen des Standards schlugen vor, dass metrische Schrauben geschwärzt werden sollten, um Verwechslungen mit den inkompatiblen UTS-Gewinden zu vermeiden. Bei der Überarbeitung von 1987 wurde dies jedoch aufgrund der Verbreitung von metrischen Threads nicht mehr als notwendig angesehen. [19]
Die Norm IEC 60625 schreibt die Verwendung von 25-poligen D-Subminiatur- Steckverbindern vor (die gleichen wie für den parallelen Anschluss bei IBM PC-kompatiblen Geräten ). Dieser Steckverbinder hat gegenüber dem etablierten 24-poligen Steckverbinder keine signifikante Marktakzeptanz erlangt.
Fähigkeiten
Funktion | Abkürzung | Beschreibung und Beispiele | |
---|---|---|---|
Quell-Handshake | Sch | 1 | Komplett |
Akzeptor Handschlag | AH | 1 | Komplett |
Grundlegender Sprecher | T. | 5 | Reagiert auf serielle Umfrage; spricht nicht ab, wenn die Abhöradresse empfangen wurde; Nur sprechen Fähigkeit |
6 | Spricht ab, wenn die Abhöradresse empfangen wurde; Nur kein Gespräch | ||
7 | Keine serielle Umfrage; spricht nicht ab, wenn die Abhöradresse empfangen wurde; Nur sprechen Fähigkeit | ||
Erweiterter Sprecher | TE | 0 | Kein erweiterter Sprecher |
Grundlegender Listener | L. | 3 | Hören Sie nur Modus; hebt die Liste auf, wenn die Gesprächsadresse empfangen wurde |
4 | Hebt die Liste auf, wenn die Gesprächsadresse empfangen wurde | ||
Erweiterter Listener | LE | 0 | Kein erweiterter Zuhörer |
Service-Anfrage | SR | 0 | Keine Serviceanforderungsfunktion |
1 | Komplett | ||
Remote-Local | RL | 0 | Keine lokale Sperre |
1 | Komplett | ||
Parallele Umfrage | PP | 0 | Reagiert nicht auf parallele Abfragen |
Gerät löschen | DC | 1 | Komplett |
Gerätetrigger | DT | 0 | Keine Geräteauslösefunktion |
1 | Komplett | ||
Regler | C. | 0 | Keine Reglerfunktion |
E. | 1 | Kollektorantriebselektronik öffnen | |
2 | Drei Staatstreiber |

Weitere Informationen finden Sie unter Tektronix. [20]
Verwendung als Computerschnittstelle
Die Entwickler von HP planten nicht speziell, dass IEEE 488 eine Peripherieschnittstelle für Allzweckcomputer sein sollte. Der Schwerpunkt lag auf der Instrumentierung. Als die frühen Mikrocomputer von HP eine Schnittstelle für Peripheriegeräte ( Festplatten , Bandlaufwerke , Drucker , Plotter usw.) benötigten, war HP-IB leicht verfügbar und leicht an den Zweck anzupassen.
HP - Computer Produkte , die verwendeten HP-IB enthielten die HP - Serie 80 , HP 9800 Serie , [21] die HP 2100 - Serie, [22] und die HP 3000 - Serie. [23] HP Computerperipheriegeräte, die die RS-232-Kommunikationsschnittstelle nicht verwendeten, verwendeten häufig HP-IB, einschließlich Disc-Systemen wie dem HP 7935 . Einige der fortschrittlichen Taschenrechner von HP aus den 1980er Jahren, wie die HP-41- und HP-71B- Serie, verfügten über IEEE 488-Funktionen über ein optionales HP-IL / HP-IB-Schnittstellenmodul.
Andere Hersteller haben GPIB auch für ihre Computer übernommen, beispielsweise für die Tektronix 405x- Reihe.
Die Commodore PET-Produktreihe (eingeführt 1977) verband ihre Peripheriegeräte über den IEEE 488-Bus, jedoch mit einem nicht standardmäßigen Kartenrandanschluss. Die folgenden 8-Bit-Maschinen von Commodore verwendeten einen seriellen Bus, dessen Protokoll auf IEEE 488 basierte. [24] Commodore vermarktete eine IEEE 488-Kassette für den VIC-20 [25] und den Commodore 64. [26] Mehrere Drittanbieter von Commodore 64 Peripheriegeräte stellten eine Kassette für den C64 her, die eine von IEEE 488 abgeleitete Schnittstelle an einem Kartenrandanschluss bereitstellte, der dem der PET-Serie ähnlich war. [27]
Schließlich ersetzten schnellere, vollständigere Standards wie SCSI IEEE 488 für den Peripheriezugriff.
Die Rückseite des Commodore CBM-II zeigt den IEEE 488-Anschluss des Kartenrandsteckers
Rückseite des Commodore SFD 1001- Diskettenlaufwerks mit IEEE 488-Anschluss
Rückseite eines digitalen Tektronix TDS 210- Oszilloskops mit IEEE 488-Anschluss
Rückansicht eines Keysight Technologies 34970A Datenerfassungs- Fahrgestell / Multimeter
C64-Schnittstelle
HP 7935 -Laufwerk HP-IB-Panel
Acorn IEEE 488-Schnittstelle
GPIB-Controller von National Instruments für PC ISA-Bus
Vergleich mit anderen Schnittstellenstandards
Elektrisch verwendete IEEE 488 eine Hardwareschnittstelle, die mit einer diskreten Logik oder mit einem Mikrocontroller implementiert werden konnte. Über die Hardwareschnittstelle konnten Geräte verschiedener Hersteller mit einem einzigen Host kommunizieren. Da jedes Gerät die für das Busprotokoll erforderlichen asynchronen Handshake-Signale erzeugte, konnten langsame und schnelle Geräte auf einem Bus gemischt werden. Die Datenübertragung ist relativ langsam, sodass Übertragungsleitungsprobleme wie Impedanzanpassung und Leitungsabschluss ignoriert werden. Es war keine galvanische Trennung zwischen Bus und Geräten erforderlich , wodurch die Möglichkeit bestand , dass Erdschleifen zusätzliches Rauschen und Datenverlust verursachten.
Die IEEE 488-Steckverbinder und -Kabel waren physisch robust und wurden durch Schrauben an Ort und Stelle gehalten. Während physikalisch große und robuste Steckverbinder bei Industrie- oder Laboraufbauten von Vorteil waren, waren Größe und Kosten der Steckverbinder bei Anwendungen wie PCs eine Gefahr.
Obwohl die elektrischen und physikalischen Schnittstellen gut definiert waren, gab es keinen anfänglichen Standardbefehlssatz. Geräte verschiedener Hersteller verwenden möglicherweise unterschiedliche Befehle für dieselbe Funktion. [28] Einige Aspekte der Befehlsprotokollstandards wurden erst 1990 durch Standardbefehle für programmierbare Instrumente (SCPI) standardisiert . Implementierungsoptionen (z. B. Ende der Übertragungsabwicklung) können die Interoperabilität in Geräten vor IEEE 488.2 erschweren.
Neuere Standards wie USB , FireWire und Ethernet nutzen die sinkenden Kosten der Schnittstellenelektronik, um komplexere Standards mit höherer Bandbreite zu implementieren. Die Mehrleiteranschlüsse (parallele Daten) und das abgeschirmte Kabel waren von Natur aus teurer als die Anschlüsse und Kabel, die mit seriellen Datenübertragungsstandards wie RS-232 , RS-485 , USB, FireWire oder Ethernet verwendet werden konnten. Nur sehr wenige PCs oder Peripheriegeräte für den Massenmarkt (wie Drucker oder Scanner) haben IEEE 488 implementiert.
Siehe auch
- Standardbefehle für programmierbare Instrumente (SCPI)
- PCI-Erweiterungen für die Instrumentierung (PXI)
- LAN-Erweiterungen für die Instrumentierung (LXI)
- Software-Architektur für virtuelle Instrumente (VISA)
- HP Serie 80
- Rocky Mountain GRUNDLAGEN
- CBM-Bus , ein proprietärer serieller Bus von Commodore
Verweise
- ^ Dieser Teil von HP wurde später (ca. 1999) als Agilent Technologies ausgegliedert, und 2014 wurde die Test- und Messabteilung von Agilent als Keysight Technologies ausgegliedert.
- ^ IEEE Standard Digital Interface für programmierbare Instrumente , Institut für Elektro- und Elektronikingenieure , 1987, ISBN 0-471-62222-2, ANSI / IEEE Std 488.1-1987, p. iii
- ^ IEEE-Standardcodes, -Formate, -Protokolle und allgemeine Befehle zur Verwendung mit IEEE Std 488.1-1987, IEEE-Standard-Digitalschnittstelle für programmierbare Instrumente , Institut für Elektro- und Elektronikingenieure , 1992, ISBN 978-1-55937-238-1, IEEE Std 488.2-1992
- ^ Project Mate im Jahr 1985
- ^ "GPIB 101, Ein Tutorial des GPIB-Busses" . ICS Electronics. p. 5, Absatz = SCPI-Befehle.
- ^ "Geschichte der GPIB" . Nationale Instrumente . Abgerufen am 06.02.2010 .
Im Jahr 1990 enthielt die IEEE 488.2-Spezifikation das Dokument Standard Commands for Programmable Instrumentation (SCPI).
- ^ "Verbesserter Standard steigert die Geschwindigkeit von IEEE 488-Instrumentenbussen um das Achtfache" . IEEE. 2003-10-06 . Abgerufen am 06.02.2010 .
- ^ "HP und andere Test- und Messunternehmen fordern IEEE nachdrücklich auf, sich der Überarbeitung des etablierten IEEE 488-Standards zu widersetzen" (Pressemitteilung). Hewlett-Packard Company. Dezember 1997. Aus dem Original am 10.06.2011 archiviert . Abgerufen am 16.02.2010 .
- ^ "P488.1 Project Home" . IEEE. Archiviert vom Original am 28.04.2010 . Abgerufen am 16.02.2010 .
- ^ IEC / IEEE-Standard für ein Protokoll mit höherer Leistung für die digitale Standardschnittstelle für programmierbare Instrumente - Teil 1: Allgemeines (Annahme von IEEE Std 488.1-2003) . IEEE. doi : 10.1109 / IEEESTD.2004.95749 . ISBN 978-0-7381-4536-5.
- ^ Digitale Standardschnittstelle für programmierbare Instrumente - Teil 2: Codes, Formate, Protokolle und allgemeine Befehle (Übernahme von (IEEE Std 488.2-1992) . IEEE. Doi : 10.1109 / IEEESTD.2004.95390 . ISBN 978-0-7381-4100-8.
- ^ "Ersetzte oder zurückgezogene Veröffentlichungen" . IEC. Archiviert vom Original am 17.04.2012 . Abgerufen am 06.02.2010 .
- ^ "GPIB-Adressierung" (PDF) . NI-488.2 Benutzerhandbuch . National Instruments Corporation. Februar 2005. p. A-2. NI P / N 370428C-01 . Abgerufen am 16.02.2010 .
Die primäre Adresse ist eine Zahl im Bereich von 0 bis 30.
- ^ "Tabelle 1-1: Konfigurationsparameter der 82350 GPIB-Schnittstellenkarte" (PDF) . Agilent 82350B PCI GPIB-Schnittstelle: Installations- und Konfigurationshandbuch . Agilent Technologies. 20.07.2009. p. 26. Agilent P / N 82350-90004 . Abgerufen am 16.02.2010 .
Es kann eine beliebige Adresse im Bereich von 0 bis einschließlich 30 verwendet werden
- ^ "GPIB Instrument Control Tutorial" . Nationale Instrumente. 24.08.2009 . Abgerufen am 16.02.2010 .
entweder in einer Daisy-Chain- oder einer Sterntopologie verbunden
- ^ NI-488.2 Benutzerhandbuch (PDF) . National Instruments Corporation. Februar 2005. p. A-1. NI P / N 370428C-01. Archiviert vom Original (PDF) am 02.12.2008 . Abgerufen am 16.02.2010 .
- ^ "Handshake Lines" (PDF) . NI-488.2 Benutzerhandbuch . National Instruments Corporation. Februar 2005. p. A-3. NI P / N 370428C-01 . Abgerufen am 16.02.2010 .
- ^ "Verwenden von HS488 zur Verbesserung der GPIB-Systemleistung" . National Instruments Corporation. 30. März 2009 . Abgerufen am 16.02.2010 .
- ^ IEEE Standard Digital Interface für programmierbare Instrumente , Institut für Elektro- und Elektronikingenieure , 1987, p. v, ISBN 978-0-471-62222-2, ANSI / IEEE Std 488.1-1987,
Der "hilfreiche Hinweis" zu Metrik-Threads, der in früheren Ausgaben gefunden wurde, wurde gelöscht, da die Verwendung von Metrik-Threads in IEEE 488 üblich ist. Folglich wird auch die Empfehlung, solche Teile mit schwarzem Material zu beschichten, um auf metrische Gewinde aufmerksam zu machen, als unnötig angesehen.
- ^ Tilden, Mark D. (1983), "Anhang A: Teilmengen beschreiben Schnittstellenfunktionen" (PDF) , 4041 GPIB Programming Guide , Tektronix, Inc., S. 113–115
- ^ "HP 98135A HP-IB-Schnittstelle 9815" . HP Computer Museum . Abgerufen am 06.02.2010 .
- ^ "59310A HP-IB-Schnittstelle" . HP Computer Museum . Abgerufen am 06.02.2010 .
HP-IB-Schnittstelle für HP1000- und HP2000-Computer
- ^ "27113A HP-IB-Schnittstelle" . HP Computer Museum . Abgerufen am 06.02.2010 .
CIO HP-IB-Schnittstelle für 3000 Series 900
- ^ Bagnall, Brian (2006). Am Rande: Der spektakuläre Aufstieg und Fall von Commodore , Variant Press. Seite 221. ISBN 0-9738649-0-7
- ^ Commodore-Zeichnung für VIC-1112 - Zeichnungsnr. 1110010 Rev: A.
- ^ Reverse-Engineered-Schaltpläne für die Commodore C64 IEEE-Schnittstelle
- ^ http://www.zimmers.net/anonftp/pub/cbm/schematics/cartridges/c64/ieee-488/index.html Link zum Schaltplan für einen solchen Konverter.
- ^ Frühere Geräte reagieren möglicherweise auf einen
ID
Befehl mit einer Identifikationszeichenfolge. Bei späteren Standards reagierten Geräte auf den*ID
Befehl.
Externe Links
- IEC 60488-1: Hochleistungsprotokoll für die digitale Standardschnittstelle für programmierbare Instrumente . Teil 1: Allgemeines. Internationale Elektrotechnische Kommission. 15.07.2004.
- IEC 60488-2: Digitale Standardschnittstelle für programmierbare Instrumente . Teil 2: Codes, Formate, Protokolle und allgemeine Befehle. Internationale Elektrotechnische Kommission. 07.05.2004.
- GPIB / IEEE 488 Tutorial für mehrere Seiten