CentronicsEdit
An Wang, Robert Howard und Prentice Robinson begann die Entwicklung eines kostengünstigen Druckers bei Centronics, einer Tochtergesellschaft der Wang Laboratories, die spezielle Computerterminals herstellte. Der Drucker arbeitete nach dem Prinzip des Nadeldrucks mit einem Druckkopf, der aus einer vertikalen Reihe von sieben Metallstiften bestand, die mit Magnetspulen verbunden waren. Wenn die Magnetspulen mit Strom versorgt wurden, wurde der Stift nach vorne geschoben, um auf das Papier zu treffen und einen Punkt zu hinterlassen. Um ein komplettes Zeichen zu erzeugen, wurde der Druckkopf an bestimmte Stifte angeschlossen, um ein einzelnes vertikales Muster zu erzeugen, dann bewegte sich der Druckkopf ein wenig nach rechts, und der Vorgang wurde wiederholt. Bei der ursprünglichen Konstruktion wurde eine typische Glyphe als Matrix mit sieben Höhen und fünf Breiten gedruckt, während die „A“-Modelle einen Druckkopf mit 9 Stiften verwendeten und Glyphen mit den Maßen 9 x 7 erzeugten.
Damit blieb das Problem, die ASCII-Daten an den Drucker zu senden. Während eine serielle Schnittstelle dies mit einem Minimum an Stiften und Drähten bewerkstelligt, muss das Gerät die ankommenden Daten Bit für Bit zwischenspeichern und in Multibit-Werte zurückverwandeln. Bei einer parallelen Schnittstelle ist dies einfacher; der gesamte ASCII-Wert wird vollständig auf den Stiften dargestellt. Zusätzlich zu den acht Datenpins benötigte das System auch verschiedene Steuerpins sowie eine elektrische Masse. Wang verfügte zufällig über einen Überschuss an 20.000 36-poligen Mikro-Bandsteckern von Amphenol, die ursprünglich für einen ihrer frühen Taschenrechner verwendet wurden. Für die Schnittstelle wurden nur 21 dieser Stifte benötigt, der Rest war geerdet oder nicht angeschlossen. Der Steckverbinder wurde so eng mit Centronics in Verbindung gebracht, dass er heute im Volksmund als „Centronics-Steckverbinder“ bezeichnet wird.
Der Centronics-Drucker Modell 101 mit diesem Steckverbinder wurde 1970 auf den Markt gebracht. Der Host sendete ASCII-Zeichen an den Drucker, indem er sieben der acht Datenpins auf +5 V zog, um eine 1 darzustellen. Wenn die Daten fertig waren, zog der Host den STROBE-Pin auf 0 V. Der Drucker reagierte, indem er die BUSY-Leitung auf High zog, das Zeichen druckte und dann BUSY wieder auf Low setzte. Der Host konnte dann ein weiteres Zeichen senden. Steuerzeichen in den Daten lösten andere Aktionen aus, wie CR
oder EOF
. Der Host konnte den Drucker auch veranlassen, automatisch eine neue Zeile zu beginnen, indem er die AUTOFEED-Leitung auf High zog und dort hielt. Der Host musste die BUSY-Leitung sorgfältig überwachen, um sicherzustellen, dass der Drucker nicht zu schnell mit Daten versorgt wurde, insbesondere bei zeitlich variablen Vorgängen wie dem Papiervorschub.
Die Druckerseite der Schnittstelle wurde schnell zu einem De-facto-Standard, aber die Hersteller verwendeten verschiedene Anschlüsse auf der Systemseite, so dass eine Vielzahl von Kabeln erforderlich war. So verwendete NCR an beiden Enden der Verbindung den 36-poligen Micro Ribbon Connector, frühe VAX-Systeme verwendeten einen DC-37 Connector, Texas Instruments einen 25-poligen Card Edge Connector und Data General einen 50-poligen Micro Ribbon Connector. Als IBM die parallele Schnittstelle auf dem IBM PC implementierte, wurde der DB-25F-Stecker auf der PC-Seite der Schnittstelle verwendet, wodurch das heute bekannte parallele Kabel mit einem DB25M-Stecker an einem Ende und einem 36-poligen Micro Ribbon-Stecker am anderen Ende entstand.
Theoretisch konnte der Centronics-Anschluss Daten mit einer Geschwindigkeit von 75.000 Zeichen pro Sekunde übertragen. Das war weitaus schneller als der Drucker, der im Durchschnitt etwa 160 Zeichen pro Sekunde übertrug, was bedeutete, dass der Anschluss einen Großteil seiner Zeit im Leerlauf verbrachte. Die Leistung wurde dadurch bestimmt, wie schnell der Host auf das BUSY-Signal des Druckers reagieren konnte, um weitere Daten anzufordern. Um die Leistung zu verbessern, begannen die Drucker, Puffer einzubauen, so dass der Host ihnen Daten schneller, in Bursts, senden konnte. Dadurch wurden nicht nur Verzögerungen durch das Warten auf das nächste Zeichen vom Host reduziert (oder beseitigt), sondern der Host konnte auch andere Operationen durchführen, ohne dass es zu Leistungseinbußen kam. Die Leistung wurde weiter verbessert, indem der Puffer zum Speichern mehrerer Zeilen verwendet und dann in beide Richtungen gedruckt wurde, wodurch die Verzögerung beim Zurückkehren des Druckkopfs zur linken Seite der Seite beseitigt wurde. Durch solche Änderungen konnte die Leistung eines ansonsten unveränderten Druckers mehr als verdoppelt werden, wie dies bei Centronics-Modellen wie dem 102 und 308 der Fall war.
IBMEdit
IBM brachte 1981 den IBM Personal Computer heraus und brachte eine Variante der Centronics-Schnittstelle mit – nur Drucker mit IBM-Logo (von Epson umbenannt) konnten mit dem IBM PC verwendet werden. IBM standardisierte das Parallelkabel mit einem DB25F-Anschluss auf der PC-Seite und dem 36-poligen Centronics-Anschluss auf der Druckerseite. Die Hersteller brachten bald Drucker auf den Markt, die sowohl mit dem Standard-Centronics-Anschluss als auch mit der IBM-Implementierung kompatibel waren.
Der ursprüngliche IBM-Paralleldruckeradapter für den IBM-PC von 1981 war so konzipiert, dass er eine begrenzte Bidirektionalität unterstützte, mit 8 Zeilen Datenausgabe und 4 Zeilen Dateneingabe. Dadurch konnte der Anschluss auch für andere Zwecke verwendet werden, nicht nur für die Ausgabe an einen Drucker. Dies wurde dadurch erreicht, dass die Datenleitungen von Geräten an beiden Enden des Kabels beschrieben werden konnten, was voraussetzte, dass die Anschlüsse am Host bidirektional waren. Diese Funktion wurde kaum genutzt und in späteren Revisionen der Hardware wieder entfernt. Jahre später, 1987, führte IBM die bidirektionale Schnittstelle mit der IBM PS/2-Serie wieder ein, wo sie aktiviert oder deaktiviert werden konnte, um die Kompatibilität mit Anwendungen zu gewährleisten, die einen bidirektionalen Druckeranschluss nicht erwarteten.
Bi-TronicsEdit
Als der Druckermarkt expandierte, erschienen neue Arten von Druckmechanismen. Diese unterstützten oft neue Funktionen und Fehlerzustände, die auf den relativ wenigen Statuspins des bestehenden Anschlusses nicht dargestellt werden konnten. Die IBM-Lösung konnte dies zwar unterstützen, war aber nicht trivial zu implementieren und wurde zu diesem Zeitpunkt nicht unterstützt. Dies führte zum Bi-Tronics-System, das 1992 von HP mit dem LaserJet 4 eingeführt wurde. Dabei wurden die vier vorhandenen Statuspins ERROR, SELECT, PE und BUSY verwendet, um ein Nibble darzustellen, wobei zwei Übertragungen zum Senden eines 8-Bit-Wertes verwendet wurden. Der Bi-Tronics-Modus, der jetzt als Nibble-Modus bekannt ist, wurde dadurch angezeigt, dass der Host die SELECT-Leitung auf High zog, und die Daten wurden übertragen, wenn der Host die AUTOFEED-Leitung auf Low schaltete. Andere Änderungen in den Handshaking-Protokollen verbesserten die Leistung und erreichten 400.000 cps zum Drucker und etwa 50.000 cps zurück zum Host. Ein großer Vorteil des Bi-Tronics-Systems besteht darin, dass es vollständig in Software im Host gesteuert werden kann und ansonsten unveränderte Hardware verwendet – alle Pins, die für die Datenübertragung zurück zum Host verwendet werden, waren bereits Drucker-zu-Host-Leitungen.
EPP und ECPEdit
Die Einführung neuer Geräte wie Scanner und Multifunktionsdrucker erforderte viel mehr Leistung, als die Bi-Tronics- oder IBM-Rückkanäle bewältigen konnten. Für diese Zwecke haben sich zwei andere Standards durchgesetzt. Der Enhanced Parallel Port (EPP), der ursprünglich von Zenith Electronics definiert wurde, ähnelt vom Konzept her dem Byte-Modus von IBM, ändert aber Details des Handshaking, um bis zu 2 MB/s zu ermöglichen. Der Extended Capability Port (ECP) ist im Wesentlichen ein völlig neuer Anschluss im gleichen Gehäuse, der zusätzlich einen direkten Speicherzugriff auf der Grundlage von ISA und eine Lauflängenkodierung zur Komprimierung der Daten bietet, was besonders bei der Übertragung einfacher Bilder wie Faxe oder gescannter Schwarzweißbilder nützlich ist. ECP bietet eine Leistung von bis zu 2,5 MB/s in beiden Richtungen.
Alle diese Verbesserungen sind Teil des IEEE 1284-Standards. Die erste Version von 1994 enthielt den ursprünglichen Centronics-Modus („Kompatibilitätsmodus“), Nibble- und Byte-Modi sowie eine Änderung des bereits weit verbreiteten Handshaking; die ursprüngliche Centronics-Implementierung sah vor, dass die BUSY-Leitung bei jeder Änderung in einer Datenzeile umschaltet (Busy-by-Line), während IEEE 1284 vorsieht, dass BUSY bei jedem empfangenen Zeichen umschaltet (Busy-by-Character). Dadurch werden die Anzahl der BUSY-Umschaltungen und die daraus resultierenden Unterbrechungen auf beiden Seiten reduziert. Durch eine Aktualisierung von 1997 wurden die Druckerstatuscodes standardisiert. Im Jahr 2000 wurden die EPP- und ECP-Modi in die Norm aufgenommen, ebenso wie verschiedene Stecker- und Kabeltypen und eine Methode zur Verkettung von bis zu acht Geräten über einen einzigen Anschluss.
Einige Hostsysteme oder Druckserver verwenden möglicherweise ein Strobe-Signal mit einer relativ niedrigen Ausgangsspannung oder ein schnelles Toggle. Jedes dieser Probleme kann dazu führen, dass nicht oder nur sporadisch gedruckt wird, dass Zeichen fehlen oder wiederholt werden oder dass nicht korrekt gedruckt wird. Einige Druckermodelle verfügen über einen Schalter oder eine Einstellung, mit der die Belegtheit nach Zeichen eingestellt werden kann; andere benötigen einen Handshake-Adapter.
DataproductsEdit
Dataproducts führte eine ganz andere Implementierung der parallelen Schnittstelle für ihre Drucker ein. Sie verwendete einen DC-37-Anschluss auf der Host-Seite und einen 50-poligen Anschluss auf der Druckerseite – entweder einen DD-50 (manchmal fälschlicherweise als „DB50“ bezeichnet) oder den blockförmigen M-50-Anschluss; der M-50 wurde auch als Winchester bezeichnet. Die parallele Schnittstelle von Dataproducts war in einer Kurzleitungsversion für Verbindungen bis zu 15 m (50 Fuß) und in einer Langleitungsversion mit Differenzialsignalisierung für Verbindungen bis zu 150 m (500 Fuß) erhältlich. Die Dataproducts-Schnittstelle war bis in die 1990er Jahre auf vielen Großrechnersystemen zu finden, und viele Druckerhersteller boten die Dataproducts-Schnittstelle als Option an.
Eine Vielzahl von Geräten wurde schließlich für den Betrieb an einer parallelen Schnittstelle entwickelt. Die meisten Geräte waren unidirektionale (einseitige) Geräte, die nur auf vom PC gesendete Informationen reagieren sollten. Einige Geräte, wie z. B. Zip-Laufwerke, waren jedoch in der Lage, im bidirektionalen Modus zu arbeiten. Mit der Zeit übernahmen auch Drucker das bidirektionale System und ermöglichten die Übermittlung verschiedener Statusinformationen.