Bussystem & Steckverbinder

IEEE 1284

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche
IEEE 1284 Druckerkabel (Typ AB)
IEEE 1284 Druckerkabel (Typ AB)

Der veraltende IEEE-1284-Standard definiert eine parallele Schnittstelle zur bi-direktionalen Übertragung von Daten zwischen PCs und unterschiedlichen Peripheriegeräten (Drucker, Fax, Scanner, Laufwerke etc.). Der IEEE 1284 Standard wurde 1994 verabschiedet und löste damit offiziell die weitverbreitete Centronics-Schnittstelle aus den 1970er Jahren ab, die bis dato nur ein Quasi-Standard war. Der IEEE 1284 Standard definiert die elektrischen Eigenschaften der Schnittstellen, die zu verwendenden Hardware-Protokolle und die zugehörigen Kabel. Für die übergeordneten „Software-Protokolle“ wird auf die entsprechenden Substandards verwiesen. Teile der Sub-Standards betreffen Protokolle, die unabhängig von der Hardware-Schnittstelle sind und – neben der Parallel-Schnittstelle – z. B. auch USB vorsehen (TIPSI).

Die CENTRONICS-Schnittstelle entstand Ende der 1960er Jahre bei den Wang Laboratories, von denen sich kurz danach der Druckerhersteller CENTRONICS abspaltete. Diese Schnittstelle war einfach und für Rechnerhersteller mit geringem Bauteileaufwand leicht zu implementieren. In der Geschwindigkeit war sie den bei großen Anwendungen eingesetzten, viel teureren Schnittstellen fast ebenbürtig und der bei kleineren Anwendungen üblichen V.24/RS232 deutlich überlegen und darüber hinaus sehr unkompliziert zu installieren. Darum wurde die CENTRONICS-Schnittstelle von den Herstellern kleinerer Rechner zügig implementiert und schnell zu einem de-facto-Standard, so dass auch andere Druckerhersteller mitzogen, insbesondere die neu auf den Markt drängenden Japaner (z. B. OKI).

Obwohl CENTRONICS die eigenen Spezifikationen stets offenlegte, fehlte es an einer verbindlichen Vorgabe für die Rechnerseite. So entwickelten sich sehr skurrile Auslegungen der elektrischen Eigenschaften, des Protokolls und der Kabelbelegung. Anfang der 1980er konnte es passieren, dass der Drucker durch die Spannungen der Schnittstelle des Rechners überlastet wurde.

Mit dem IBM PC entstand nach 1982 erstmals eine breit akzeptierte Plattform, welche die CENTRONICS-Schnittstelle unterstützte. Im Protokoll nicht ganz kompatibel (das Signal BUSY wurde anfangs ignoriert) und elektrisch nicht sehr vorteilhaft – vom Stecker her aus Platzgründen von 36 auf 25 Pins abgespeckt – brachte die PC-Variante doch eine wesentliche Vereinheitlichung.

Die allererste Generation paralleler IBM-Schnittstellenkarten für den IBM PC waren 8-bit bidirektional ausgelegt, jedoch wurde diese Funktionalität schon bei Revisionen - wohl aus Kompatibilitätsgründen mit dem CENTRONICS-Standard - fallengelassen, das zugehörige Port-Bit wurde nur noch als „reserved“ dokumentiert und hatte keine Funktion mehr. Die Bidirektionalität konnte jedoch mit einem einfachen Hardware-Patch reaktiviert werden. Da sich Klon-Karten zum Teil bis auf Gatterebene an das Vorbild von IBM hielten, war diese Modifikation auch auf viele Fremdkarten übertragbar, trotzdem wurde diese Möglichkeit nur von ganz wenigen Software-Paketen unterstützt. Erst mit der Einführung des „PS/2“ führte IBM den 8-Bit-Bidirektionalbetrieb wieder ein, diesmal aber über spezielle, separat ansprechbare PS/2-Konfigurationsregister abgesichert, so dass der Modus nicht versehentlich von der Software aktiviert werden konnte. Auf diese Weise sollte der Austausch von Daten zwischen PCs erlaubt werden (sog. Migration Kit). Die dabei verwendete „Open-collector-Technik“ war konträr zur Spezifikation der Centronics-Schnittstelle und führte schnell zu vehementen Problemen mit bestehenden Druckerinstallationen.

In der zweiten Hälfte der 1980er Jahre wuchs das Bedürfnis, neben Druckern auch andere Peripheriegeräte anzuschließen: Externe Laufwerke, CD-Roms, Streamer etc. Dafür fehlte die Schnittstelle – SCSI war zu aufwändig. In einem Schnellschuss entwickelten Intel, Zenith, Xircom und Andere das EPP (Enhanced Parallel Port) – eine bi-direktionale Variante der CENTRONICS-Schnittstelle mit höherer Geschwindigkeit. Sie erforderte eine spezielle Hardware. Etwa zeitgleich hatten Travelling Software und HP Methoden entwickelt, über die alte CENTRONICS-Schnittstelle Daten rückwärts zu lesen (IEEE 1284 Terminologie: Reverse Channel). Travelling Software brauchte das für den Datentransfer zwischen Notebook und PC. HP brauchte das für ein komfortableres Management seiner Drucker und nannte es „Bitronics“.

1992 suchte Microsoft nach einer „universalen“ Schnittstelle zur Anbindung peripherer Geräte and entwickelte das „ECP“ (Enhanced Capability Port) – ein über das EPP weit hinausgehendes Konzept einer bi-direktionalen Hochgeschwindigkeitsschnittstelle, die immer noch rückwärtskompatibel zur CENTRONICS sein sollte.

[Bearbeiten] Technische Beschreibung IEEE 1284 Schnittstelle

[Bearbeiten] Timing im Compliance Mode (Drucken)

  • Der Rechner prüft anhand des Busy-Signals ob der Drucker bereit ist
  • Wenn ja, legt er das zu übertragende Byte auf die acht Datenleitungen
  • Nach frühestens 750 Nanosekunden aktiviert er den Strobe für minimal 750 Nanosekunden und maximal 500 Mikrosekunden
  • Der Drucker muss spätestens 500 Nanosekunden nach dem Anlegen des Strobe-Signals das Busy-Signal aktivieren. Dieses Timing nennt man „Busy-while-Strobe“
  • Nach dem Deaktivieren des Strobe muss der Rechner die Daten noch für mindestens 750 Nanosekunden unverändert halten
  • Ist der Drucker bereit für das nächste Zeichen, aktiviert er das Ack-Signal für mindestens 500 Nanosekunden (maximal 10 Mikrosekunden) und setzt dann das Busy-Signal zurück. Dieses Timing nennt man „Ack-while-Busy“.

Das hier definierte Timing beseitigt eines der großen Probleme der Centronics-Schnittstelle: Die Unklarheit über das richtige Timing. So war es beispielsweise unklar, ob die Aktivierung oder die Deaktivierung des Strobe die Datenübergabe (und damit die Aktivierung des Busy-Signals) auslösen sollte. In der zweiten Variante konnte es zum Verlust von Zeichen kommen. Ebenso war unklar in welcher Reihenfolge die Busy- und Ack-Signale die Datenübernahme quittieren sollten. Es gab drei Varianten: „Ack-in-Busy“, „Ack-after-Busy“ und „Ack-while-Busy“. Daraus resultierte eine Vielzahl von Kompatibilitätsproblemen zwischen Rechnern und Druckern unterschiedlicher Hersteller. Noch verwirrender wurde das Problem mit den BIOS-Versionen der ersten IBM PCs: Sie ignorierten das Busy-Signal und beachteten nur das Ack-Signal – mit der Folge, dass das erste Zeichen eines Druckjobs verloren gehen konnte. Im Annex C des IEEE 1284 Standard (nur informativ) wird diese Problematik ausgiebig erläutert.

[Bearbeiten] Technische Beschreibung Centronics-Schnittstelle

Ein Centronics-Stecker mit 2,2 mm Raster, IEEE Typ B
Ein Centronics-Stecker mit 2,2 mm Raster, IEEE Typ B
Centronics-Buchse mit 1,27 mm-Raster, IEEE Typ C.
Centronics-Buchse mit 1,27 mm-Raster, IEEE Typ C.
Centronics-Stecker mit 1,27 mm-Raster, IEEE Typ C.
Centronics-Stecker mit 1,27 mm-Raster, IEEE Typ C.

Die Centronics-Schnittstelle ermöglicht eine Übertragungsgeschwindigkeit von höchstens 150 KB pro Sekunde (SPP-Modus) und eine Kabellänge von maximal etwa 3,5 Metern. (Bis zu fünf Meter bei hochwertigem Kabel, bestenfalls mit acht Masse-Leitungen.) Ein Standard-Centronics-Stecker besitzt 36 Pins, davon werden 17 Pins für Daten und Handshake genutzt, die anderen liegen an Masse. Auf der Computerseite werden seit den 1980er Jahren zunehmend stattdessen 25-polige Sub-D-Stecker eingesetzt. Beim ersten IBM PC geschah dies als Notlösung, da die Standard-Centronics-Buchse zu groß war, um mit einer RS-232-Buchse zusammen auf eine Steckkarte zu passen. So wurden dann beide Buchsen durch verkleinerte Varianten ersetzt; jedoch entwickelte sich diese Steckerform in der Folge zum Quasi-Standard. Auf der Drucker-Seite wird aber bis heute der 36-polige Stecker genutzt.

[Bearbeiten] Pinbelegungen

Pinbelegung des Ur-Parallel-Ports am PC
Pin Name Richtung(1) Funktion
1 STROBE > Strobe, zeigt gültige Daten an
2 D0 > Data Bit 0
3 D1 > Data Bit 1
4 D2 > Data Bit 2
5 D3 > Data Bit 3
6 D4 > Data Bit 4
7 D5 > Data Bit 5
8 D6 > Data Bit 6
9 D7 > Data Bit 7
10 ACK < Acknowledge, Anzeige des Druckers über Empfang der Daten
11 BUSY < Busy, zeigt Bereitschaft des Druckers zur Datenübernahme an
12 PE < Paper End, Papierende
13 SEL < Select, zeigt Druckerstatus (on- oder offline) an
14 AUTOFD > Autofeed, veranlasst nach Carriage Return (CR) einen Zeilenumbruch (LF)
15 ERROR < Error
16 INIT > Druckerreset
17 SELIN > Select In, teilt dem Drucker mit, dass er angesprochen ist
18 GND Signal Ground
19 GND Signal Ground
20 GND Signal Ground
21 GND Signal Ground
22 GND Signal Ground
23 GND Signal Ground
24 GND Signal Ground
25 GND Signal Ground
Pinbelegung des ECP-Ports
Pin Name Richtung(1) Funktion
1 STROBE > Strobe
2 data0 <> Address, Data or RLE Data Bit 0
3 data1 <> Address, Data or RLE Data Bit 1
4 data2 <> Address, Data or RLE Data Bit 2
5 data3 <> Address, Data or RLE Data Bit 3
6 data4 <> Address, Data or RLE Data Bit 4
7 data5 <> Address, Data or RLE Data Bit 5
8 data6 <> Address, Data or RLE Data Bit 6
9 data7 <> Address, Data or RLE Data Bit 7
10 ACK < Acknowledge
11 BUSY < Busy
12 PError < Paper End
13 Select < Select
14 AutoFd > Autofeed
15 Fault < Error
16 Init > Initialize
17 SelectIn > Select In
18 GND Signal Ground
19 GND Signal Ground
20 GND Signal Ground
21 GND Signal Ground
22 GND Signal Ground
23 GND Signal Ground
24 GND Signal Ground
25 GND Signal Ground

(1): > bedeutet: vom PC zum Gerät, < bedeutet: vom Gerät zum PC, <> bedeutet: bidirektionale Signalleitung. Datenflussrichtung wird ausgehandelt; : Masseleitung (ohne Datenflussrichtung)

Die Datenübertragung erfolgt nach folgendem Protokoll:

  1. Der Sender überprüft anhand der Busy-Leitung, ob der Empfänger bereit ist. Falls ja, wird das Datenbyte auf die Datenleitungen gelegt.
  2. Durch Aktivierung des Strobe-Signals (mind. 1 bis max. 50 Mikrosekunden) wird dem Empfänger die Gültigkeit des Datenbytes mitgeteilt.
  3. Durch Aktivierung von Busy signalisiert der Empfänger, dass er mit der Verarbeitung der Daten beschäftigt ist.
  4. Der erfolgreiche Empfang und Verarbeitung des Datenbytes wird vom Endgerät durch das Acknowledge-Signal bestätigt.

Für eine ohne differenzierte Rückmeldungsmöglichkeit funktionierende Datenübertragung in einer Richtung reicht auch eine abgespeckte Schnittstelle mit 8 Datenleitungen, Strobe sowie Ack oder Busy. Eine solche Mini-Centronics wurde häufig beim Commodore 64 eingesetzt, um Nicht-Commodore-Drucker auch ohne teure Schnittstelle betreiben zu können. Stattdessen reichte ein Flachbandkabel mit passenden Steckern, ein sog. Userport-Kabel – am Userport befanden sich nur 10 nutzbare Ein-/Ausgabeleitungen, sodass eine volle Centronics-Schnittstelle nicht möglich war. Allerdings funktionierte dies nur mit Programmen, die diese Betriebsart explizit beherrschten, da es auf dem C64 noch keine anwendungsunabhängigen Gerätetreiber gab.

[Bearbeiten] Weblinks

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.