Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier.


IEEE-488-Bus

Der IEEE-488-Bus ist eine bidirektionale 8-Bit-Parallelschnittstelle, die es erlaubt mehrere Geräte an einem Bus zu betreiben. Die ursprünglich von Hewlett-Packard eingeführte Schnittstelle wurde 1975 vom 'Institute of Electrical and Electronics Engineers' als Standard unter der Bezeichnung IEEE-488 übernommen. Der IEEE-Bus wird manchmal auch als GPIB (general purpose interface bus) oder als HPIB (Hewlett Packard interface bus) bezeichnet. Zu diesem Bus gibt es auch ein europäisches Pendant, das unter der Bezeichnung IEC-625 läuft und bis auf die Steckerdefinition dem IEEE-Bus äquivalent ist.

Am IEEE-Bus können drei verschiedene Gerätetypen aktiv sein: der Controller, der Listener (Hörer) und der Talker (Sprecher). Die Funktionen können beliebig von den angeschlossenen Geräten übernommen werden, sofern dies von der Implementierung der jeweiligen Schnittstelle erlaubt und sinnvoll ist. Es kann jedoch zu einer Zeit nur jeweils ein Controller aktiv sein. Der aktive Controller kann von sich aus die Kontrolle einem anderen Gerät zuweisen, das dann die Funktion des Controllers übernimmt. Üblicherweise ist der Controller an einem IEEE-Bus der steuernde Mikrocomputer.

Jedes Gerät, das am IEEE-Bus angeschlossen ist, hat eine eindeutige Adresse, die durch DIP-Switches an der jeweiligen Schnittstellenkarte eingestellt wird. Über diese Adresse wird jedes Gerät angesprochen. Es sind in einem Bus maximal 15 Adressen zu vergeben, so dass maximal 15 Geräte am Bus betrieben werden können.

Der IEEE-Bus besteht aus 16 Leitungen: 8 Datenleitungen und 8 Kontrollsignalen, die den Datentransfer kontrollieren. Die Datenübertragung ist asynchron und kann Übertragungsgeschwindigkeiten bis zu 1 MByte/s erreichen. Die Signalpegel auf den Leitungen entsprechen TTL-Level, so dass auch bei dieser Schnittstelle die maximale Kabellänge zwischen zwei Geräten auf 2 m begrenzt ist.

Die Signale haben im einzelnen folgende Bezeichnungen:

DIO1-DIO8

Datenleitungen

Auf den 8 bidirektionalen Datenleitungen werden die Daten transportiert.

NDAC

Not Data Accepted

Handshake-Leitung, die anzeigt, ob die Daten übernommen worden sind.

DAV

Data Valid

Handshake-Leitung, die anzeigt, dass die Datenleitungen gültige Daten beinhalten.

NRFD

Not Ready For Data

Handshake-Leitung, die anzeigt, dass das jeweilige Gerät keine Daten entgegennehmen kann.

ATN

Attention

Wird vom Controller gesendet, um alle Talker zu unterbrechen und den Bus freizugeben und dann Adressen und Kommandos auszugeben.

EOI

End Or Identify

Wird vom Controller oder Talker gesetzt, um anzuzeigen, dass die Datenübertragung zu Ende ist.

IFC

Interface Clear

Wird vom Controller gesetzt, um alle Talker vom Bus zu entfernen.

REN

Remote Enable

Wird vom Controller gesetzt, um die Kontrolle an einen anderen Controller zu übergeben.

SRQ

Service Request

Kann von jedem Gerät gesetzt werden, um eine aktuelle Transaktion zu unterbrechen und selbst den Bus benützen zu können.

Der Ablauf einer Datenübertragung ist in folgender Abbildung dargestellt. Das Handshake-Verfahren trägt der Tatsache Rechnung, dass mehrere Listener von einem Talker Daten übernehmen können. Der Talker muss also zuerst warten, bis alle Listener das Signal /NRFD freigegeben haben. Dann kann er Daten auf die Datenleitungen legen und das Signal DAV aktivieren. Wenn alle Listener die Daten übernommen haben, wird das Signal /NDAC freigegeben, und das nächste Datenbyte kann gesendet werden, wenn alle Listener das Signal /NRFD freigegeben haben. Die Signale /NRFD und /NDAC werden über ein "wired AND" erzeugt; damit werden die beiden Signale erst frei gegeben, wenn auch das letzte (langsamste) Gerät bereit für neue Daten ist (/NRFD), bzw. die Daten übernommen hat (/NDAT).

Handshake am IEEE-Bus

Ein Nachteil des IEEE-Busses ergibt sich aus dem oben beschriebenen Handshake-Verfahren: Die Geschwindigkeit der Datenübertragung wird vom langsamsten Gerät bestimmt.

Als Steckverbinder ist ein 24-poliger Stecker (IEEE-Stecker) definiert. Die einzelnen Geräte werden mit typischerweise 2m langen Kabeln verbunden, an deren Enden jeweils ein männlicher und ein weiblicher Stecker angebracht sind, so dass sich automatisch eine Busstruktur ergibt, ohne dass die Geräte zwei Stecker besitzen müssen. Die Pinbelegung des IEEE-Busses ist hier dargestellt:

Pinbelegung des IEEE-Busses

Home Periphere Bausteine Parallele Schnittstelle IEEE-488-Bus

Last Update: 2008-05-31