GPIB

Aus Amateurfunk Wiki

Wechseln zu: Navigation, Suche
Abb.1: GPIB-Steckverbindung

In der hochwertigen Messtechnik hat sich seit Ende der 1970ger Jahre ein System zur Rechnersteuerung und Auslese von Messgeräten durchgesetzt, welches mit einem 8-Bit-parallelen, byte-seriellen Datenbus arbeitet. Es dient hauptsächlich dazu, kompakte Messplätze mit Geräten wie z.B. Digitalvoltmetern, Signalgeneratoren, Impulsgeneratoren, Messtellenumschaltern und Digital-Oszillografen zu automatisieren und an Rechner anzuschliessen. Auch die Peripheriegeräte von Kleinrechnern wie Drucker, Plotter, Disketten- und Festplatten- Laufwerke wurden in der Vergangenheit vielfach über IEC-Bus miteinander und mit dem Rechner verbunden.

Abb.2: GPIB-Bussystem

Die Entwicklung dieses Systems wurde massgeblich von einigen amerikanischen Firmen vorangetrieben und zunächst firmenintern benutzt (Hewlett-Packard-Interface- Bus, HPIB), anschliessend von der IEEE genormt (IEEE-Standard 488-1978) und schliesslich auch europäisch und weltweit von der Internationalen Elektrotechnischen Kommission (IEC) als IEC-625 (in Deutschland DIN-IEC-625) eingeführt. Es ist heutzutage als GPIB (General Purpose Interface Bus), IEC-Bus, IEEE-488-Bus oder HPIB bekannt.

Der GPIB besteht aus einem reinen Bus-System, d.h. sämtliche Leitungen liegen an den Steckkontakten sämtlicher Geräte. Benutzt wird hierfür eine spezielle 24-polige Steckverbindung mit "Huckepack-Steckern" (Abb.1), die eine einfache Verlängerung des Busses von Gerät zu Gerät gestatten.

Der Bus besteht aus 8 Datenleitungen (Abb.2,Tabelle), drei Leitungen für die zeitliche Steuerung und Quittierung sowie 5 Leitungen für allgemeine Bus-Signale wie Ende der Übertragung, Bedienungsaufforderung, Unterscheidung zwischen Daten und Adressen/ Befehlen. Alle Leitungen liegen im nichtaktivierten Zustand auf +5V (log.'0') und werden bei aktiven Signalen auf 0V (log.'1') gezogen ("active low"). Dadurch ergibt sich eine ODER-Verknüpfung der Geräte-Ausgänge (Wired-OR), bis auf die Leitungen NDAC und NRFD, die durch entsprechende Pegel eine UND-Verknüpfung ergeben. In Abb.2 ist das Quittierverfahren (Hand-Shake) bei allen Übertragungen auf dem Bus dargestellt. Die empfangenden Geräte setzen die NRFD-Leitung (Not Ready For Data) auf passiv, wenn sie Daten annehmen können. Daraufhin aktiviert das sendende Gerät die Leitung DAV (Data Valid). Mit dessen Flanke übernehmen die Empfänger die Daten. Die Quittierung der Datenaufnahme geschieht durch Freigeben der (bis dahin aktiv-low-geschalteten) NDAC-Leitung (Not Data Accepted), woraufhin der Sender die Daten vom Bus nimmt.


Tabelle: Leitungen auf dem GPIB

Bezeichnung      Name          Funktion (bei aktiver Ltg.)
__________________________________________________________
Datenleitungen:
__________________________________________________________
DIO 1...8        Data-In-Out   8 Datenleitungen für
                               Ein-und Ausgabe von
                               Daten und Adressen
__________________________________________________________
Steuer- (Handshake-) Leitungen:
__________________________________________________________
DAV              Data Valid    Ankündigung gültiger Daten
                               durch Sprecher
NDAC             Not-Data-Acc. Daten vom Hörer noch
                               nicht aufgenommen
NRFD             Not-Ready-    Hörer nicht zur Daten-
                 For-Data      Aufnahme bereit
__________________________________________________________
Allg. Bus-Leitungen:
__________________________________________________________
IFC              Interface     Löschen und Initialisieren 
                 Clear         der GPIB-Schnittstellen der
                               angeschl. Geräte durch 
                               Steuergerät (Controler)
REN              Remote        Umschaltung der angeschl.
                 Enable        Geräte durch Steuergerät
SRQ              Service       Bedienungs-Aufforderung 
                 Request       von angeschl. Geräten
ATN              Attention     Umschaltung Adressen (1)
                               Daten (0)
EOI              End or 
                 Identify      ATN EOI
                                0   0  Daten auf DIO1...8
                                0   1  END, letztes Daten-
                                       byte auf DIO 1...8
                                1   0  Adresse, Universal-
                                       Befehl, adr.Befehl
                                       auf DIO 1...8
                                1   1  IDENTIFY,Aufford.
                                       zur Identifizierung
                                       nach SRQ
__________________________________________________________


Abb.3: Datenübertragung mit Quittierung auf dem GPIB

Alle Daten, Adressen und Befehle werden mit 8 Bit auf den Datenleitungen übertragen. Die Datenübertragung erfolgt transparent, d.h. es ist kein Code zwingend vorgeschrieben. Für die Adressen und Befehle ist der ISO-7-Bit-Code (entspr. US-ASCII) genormt, wodurch 128 Kombinationen zur Verfügung stehen. Davon werden 31 für Sendeadressen, 31 für Empfangsadressen und 32 für Befehlskombinationen verwendet, die alle zusammen mit der gesetzten ATN-Leitung (Attention) auf dem Bus erscheinen.

Bei den an den Bus angeschlossenen Geräten wird zwischen "Steuergerät" ("Controller", Rechner), "Sprechern"("Talker", sendenden Geräten) und "Hörern"("Listener", empfangenden Geräten) unterschieden. Nur ein Gerät kann Steuergerät sein, alle anderen können fest oder (programmiert) umschaltbar als Hörer oder Sprecher arbeiten. Trotz der 31 möglichen Geräteadressen (jew. für Senden und Empfang) lässt der IEC-Bus nur maximal 15 angeschlossene Geräte zu (mit je einer Sende- und Empfangsadresse), die längste Verbindung zwischen zwei Geräten darf 2m betragen, die Gesamt-Buslänge 20m.

Bei älteren Geräten gab es häufiger die Einstellung "Talk Only" (z.B. bei Messgeräten) bzw. "Listen Only" (z.B. bei Druckern und Plottern). Damit konnte ein Messgerät ohne Controller und ohne Adress-Einstellung seine Daten auf den Bus geben, und ein Drucker oder Plotter konnte ohne Adressierung diese Daten aufnehmen. Diese Einstellungen müssen beim normalen Betrieb mit einem Steuergerät natürlich vermieden werden.

In moderneren Geräten lässt sich in einigen Fällen (z.B. Signalgenerator, Netzwerk-Analysator) die Schnittstelle als "Controller" umschalten. Damit kann das Gerät weitere GPIB-Geräte ohne separaten Rechner steuern und auslesen. Auch diese Einstellung darf natürlich im Normalbetrieb nicht gesetzt sein.

Als besonders vorteilhaft für die einfache Programmerstellung für GPIB-Messplätze haben sich einheitliche Datenformate, einheitliche Gerätebefehle und Befehlsabkürzungen (IEEE488-2, SCPI) und insbesondere Programmier-Sprachsysteme erwiesen, die die Programmierung von GPIB-Operationen auf Hochsprachenebene ohne genaue Kenntnis der Vorgänge auf dem Bus ermöglichen, z.B. HP-BASIC (RMB), HT-BASIC (HTB), LabView (National Instruments), VEE HP/Agilent).

Persönliche Werkzeuge