Zum Inhalt springen

IEC-625-Bus

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. Oktober 2004 um 03:26 Uhr durch 80.185.189.40 (Diskussion) (Historie). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Der IEC-625-Bus ist die internationale Normbezeichnung für einen externen parallelen Datenbus vorrangig für Meßgeräte, Plotter und Drucker an Computer mit bis zu 15 anschließbaren Geräten. Die maximale Geschwindigkeit beträgt 1 MiByte/s.

Andere Bezeichnungen

GPIB, GP-IB
General Purpose Interface Bus, auch General Purpose Instrumentation Bus
HP-IB™
Hewlett-Packard Interface Bus
IEEE-488, IEEE488
IEEE Standard 488
ANSI MC 1.1
ANSI Standard MC 1.1

Historie

Der Bus wurde in den 1960er Jahren von der Firma Hewlett-Packard (HP) als HP-IB entwickelt, und von dieser Ende der 70er Jahre zur IEEE-Standardisierung eingereicht. 1975 erfolgte die Standardisierung als IEEE-488-1975. 1978 wurde der Standard überarbeitet und als IEEE-488-1978 veröffentlicht (später umbenannt zu IEEE 488.1). HP-IP entspricht diesem Standard. ANSI übernahm den Standard als ANSI Standard MC 1.1. Das IEC übernahm den Standard als IEC-625.

1987 verabschiedete das IEEE eine Ergänzung, IEEE 488.2. Der Originalstandard enthielt z.B. keine Protokolle oder Kommandos. Diese wurde in 488.2 nachgereicht. Dabei ergänzt 488.2 den Originalstandard, er ersetzt ihn nicht. 1990 wurde IEEE 488.2 um eine standardisierte Kommandosprache SCPI erweitert. Viele Geräte erfüllen auch heute noch nicht den IEEE 488.2 Standard.

Schnellere Varianten sind z.B. als HS488 bekannt, welche 2003 als IEEE 488.1-2003 standardisiert wurde.

Grundsätzlicher Aufbau

Der Bus ist ein paralleler 8-bit Bus, mit dem bis zu 15 Geräte verbunden werden können. Der Bus enthält 16 Signalleitungen. Neben den acht Datenleitungen dienen dies Leitungen zum Bus-Management und zur Kontrolle der Datenübertragung.

Von den angeschlossenen Geräten darf zu einem Zeitpunkt maximal eines Daten senden (talker), allerdings können die Daten zu mehreren der anderen angeschlossenen Geräte gesendet werden, da alle nicht-sendenden Geräte gleichzeitig vom Bus lesen dürfen (listener). Angeschlossenen Geräten muß einmal von Hand eine der 15 möglichen Adressen zugewiesen werden. Klassischerweise erfolgt dies am Gerät mit einem DIP-Switch. Moderne Geräte erlauben gelegentlich auch, die Adresse in der Firmware des Gerätes einzustellen. Das langsamste Gerät am Bus bestimmt die Geschwindigkeit auf dem Bus. Daher ist es ungünstig Geräte mit deutlich unterschiedlichen Geschwindigkeiten an einem Bus zu mischen, es sei denn, man kann damit Leben, daß die schnellen Geräte ausgebremst werden.

Der Bus ist nur für die Übertragung von Daten zuständig. Zum Steuern von Peripherie wird ein zusätzliches Protokol benötigt. So verwendet HP zum Beispiel ein Protokoll names CS-80 (Command Set 80) für die eigene Peripherie.

Steckverbindung

IEEE-488 Stecker-Buchsen-Kombination
IEEE-488 Einzelstecker

Die Steckverbindungen sind je nach Norm unterschiedlich. An den ca. 1,5 cm dicken Kablen kann man z.B. folgendes finden:

  • Der IEC-625-Bus verwendet 25-polige D-Sub-Stecker.
  • IEEE-488 verwendet 24-polige Centronics-Stecker, vielfach als Stecker-Buchse Kombination an beiden Kabelenden ausgeführt.
    Der komplette Bus ist bei diesen Kombinationen zur Buches durchgeschleift. Dort kann dann wiederum ein identischer Stecker angeschraubt werden. Die Stecker sind somit "stapelbar", auch wenn man es mit der Anzahl der aufeinander gesteckten (und hoffentlich sauber verschraubten) Steckverbinder nicht übertreiben sollte. In der Praxis ermöglicht dieses Stecksystem eine flexible Busverkabelung. Es ist sowohl eine sternförmige, als auch eine Linien-Verkabelung möglich, und natürlich Mischformen.

Kontaktbelegung:

          +\
          | ---\  
          |     ---+ 
   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)
   SQR    | 10  22 | GND (verdrillt mit SRQ)
   ATN    | 11  23 | GND (verdrillt mit ATN)
   SHIELD | 12  24 | Signal GND
          |     ---+
          | ---/
          +/

DIO1 - DIO8
Die acht Datenleitungen
DAV
Data Valid
NDAC
Not Data Accepted
NRFD
Not Ready for Data
ATN
Attention
IFC
Interface Clear
REN
Remote Enable
SRQ
Service Request
EOI
End or Identify
  • Commodore führte die Steckverbindung am Computer vielfach als kostengünstge, aber unpraktische Platinensteckverbindung aus.

Kontaktbelegung:

  Platinenkerbe       Platinenkerbe
       |                   |
                             1  1  1
  1  2  3  4  5  6  7  8  9  0  1  2
  =  =  =  =  =  =  =  =  =  =  =  =
 ###### ################### #########
  =  =  =  =  =  =  =  =  =  =  =  =
  A  B  C  D  E  F  H  J  K  L  M  N

1 - DIO1 9 - IFC E - REN 2 - DIO2 10 - SRQ F - GND 3 - DIO3 11 - ATN H - GND 4 - DIO4 12 - GND J - GND 5 - EOI A - DIO5 K - GND 6 - DAV B - DIO6 L - GND 7 - NRFD C - DIO7 M - GND 8 - NDAC D - DIO8 N - GND

  • Ebenfalls von Commodore gab es eine propritäre serielle Variante des Busses, bei der runde DIN-Stecker verwendet wurden.

Anwendung

Der Bus ist heute in Laboren zur Steuerung und Kontrolle von Meßgeräten noch weit verbreitet. Jedoch ist der Bus selber nicht auf diese Verwendung beschränkt, er ist in der Tat ein general purpose (für allgemeine Verwendung vorgesehener) Bus. So war der Bus lange Zeit auch der Standard-Anschluß für Plotter. Auch externe Festplatten wurden über diesen Bus zum Beispiel an HP Workstations der 70er und 80er Jahre angeschlossen.

Modems, Drucker, Disketten-Laufwerke und Bandlaufwerke konnten und wurden ebenfalls über diesen Bus angeschlossen.

Der Commodore PET/CBM besaß ebenfalls diesen Bus. Die späteren Commodore-Modelle vom VC-20 bis zum C128 verwendeten die propritäre serielle Variante.

Siehe Auch