Der IEC-625-Bus ist die internationale Normbezeichnung für einen externen parallelen Datenbus, der vorrangig zur Verbindung von Messgeräten und Peripheriegeräten wie Plottern und Druckern mit einem Computer eingesetzt wird, wobei bis zu 15 Geräte angeschlossen werden können. Die maximale Geschwindigkeit der Standardausführung beträgt 1 MByte/s.
1987 verabschiedete das IEEE eine Ergänzung, IEEE 488.2 (alias IEEE 60488.2:2004), die den Originalstandard erweitert, nicht ersetzt. Der Originalstandard definierte keine Datenübertragungsprotokolle oder Gerätekommandos. Um den Wildwuchs von Herstellerlösungen einzudämmen, wurde 1990 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, welcher 2003 als IEEE 488.1-2003 standardisiert wurde. Ältere Geräte sind jedoch teilweise nicht in der Lage, das HS488-Protokoll zu verarbeiten. Bei einer Mischbestückung muss dies daher entsprechend berücksichtigt werden.
Angeschlossenen Geräten muss einmal von Hand eine der 30 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.
Von den angeschlossenen Geräten darf zu einem Zeitpunkt maximal eines Daten senden (das Gerät, das zuvor als talker definiert wurde), 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 (genaugenommen müssen aktiv lesende Geräte zuvor als listener definiert werden).
Durch ein 3-Phasen-Handshake (Bereit/Daten gültig/Daten akzeptiert) bestimmt das langsamste Gerät am Bus die Geschwindigkeit der Übertragung. Daher ist es ungünstig, Geräte mit deutlich unterschiedlichen Geschwindigkeiten an einem Bus zu mischen, es sei denn, der Geschwindigkeitsverlust kann toleriert werden.
Der Standard definiert verschiedene logische Funktionen von Geräten (z. B. Source Handshake (SH), Acceptor Handshake (AH), Service Request (SR), oder Control (C), wobei eine nachgestellte Ziffer die implementierte (Sub-)Funktionalität angibt (0 = keine Funktion). Auf Geräten bzw. in Handbüchern sind diese "Fähigkeiten" (capabilities) der Schnittstelle in zusammengefasster Form angegeben, z. B. "SH1 AH1 T6 L4 SR0 RL1 PP0 DC1 DT0 C0". Interessanterweise benötigt der Bus im Gegensatz zu moderneren Standards wie USB nicht unbedingt einen Controller — so kann z. B. ein auf talk only eingestelltes Messgerät direkt mit einem auf listen only eingestellten Drucker zur Protokollierung verbunden werden.
IEEE-488-1 definiert nur die Übertragung von Daten, nicht die Kommandos zum Steuern von Peripheriegeräten. Dafür wird ein zusätzliches Protokoll benötigt, z. B. verwendet HP ein Protokoll names CS-80 (Command Set 80) für die eigene Peripherie.
| Gruppe | Signalname | Bezeichnung | Beschreibung |
|---|---|---|---|
| Daten | DIO1–DIO8 | Daten | |
| Handshake | NRFD | Not Ready for Data | Listeners teilen mit diesem Signal mit, dass sie das Datenbyte auf DIO1-8 noch nicht verarbeitet haben. |
| DAV | Data Valid | Die Daten auf DIO1-DIO8 sind gültig. Dieses Signal wird vom Talker eine kurze Zeit nach dem Anlegen der Daten aktiviert. | |
| NDAC | Not Data Accepted | Mit NDAC teilen die Listener mit, dass sie das Datenbyte auf den DIO-Leitungen noch nicht verarbeitet haben. | |
| Protokoll | ATN | Attention | ATN zeigt an, dass die Datenleitungen ein Kommandobyte (z. B. Adresse) enthalten. Wird zusammen mit EOI für Parallelabfragen (parallel poll) verwendet. |
| EOI | End or Identify | Wird zusammen mit dem letzten Byte einer Nachricht aktiviert, um deren Ende anzuzeigen. | |
| IFC | Interface Clear | Der Systemcontroller kann mit dieser Leitung den Bus zurücksetzen und sich als aktiver Controller etablieren. | |
| REN | Remote Enable | Wird vom Controller aktiviert, um den Remote-Modus der Busteilnehmer freizugeben. Wird REN deaktiviert, gehen alle Teilnehmer zurück in den Lokalmodus. | |
| SRQ | Service Request | Busteilnehmer können über dieses Signal dem aktiven Controller mitteilen, dass sie bedient werden wollen – etwa die Funktion einer Interrupt-Leitung bei einem Mikroprozessor. |
+\ | ---\ | ---+ 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 | ---+ | ---/ +/
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
Der Commodore PET/CBM besaß ebenfalls diesen Bus und nutzte ihn vor allem für Diskettenlaufwerke und Drucker. Die späteren Commodore-Modelle vom VC-20 bis zum C128 verwendeten die proprietäre serielle Variante CBM-Bus.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"IEC-625-Bus".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world