CentronicsEdit
A Wang, Robert Howard és Prentice Robinson a speciális számítógépes terminálokat gyártó Wang Laboratories leányvállalatánál, a Centronicsnál kezdte meg egy olcsó nyomtató kifejlesztését. A nyomtató a pontmátrix nyomtatási elvet használta, a nyomtatófej hét fémtűből álló függőleges sorból állt, amelyek szolenoidokhoz voltak csatlakoztatva. Amikor a szolenoidokra áramot kapcsoltak, a csapot előre tolták, hogy a papírra ütközzön, és egy pontot hagyjon maga után. Egy teljes karaktergrafika létrehozásához a nyomtatófej áramot kapott a meghatározott csapokra, hogy egyetlen függőleges mintát hozzon létre, majd a nyomtatófej egy kis mértékben jobbra mozdult, és a folyamat megismétlődött. Eredeti kialakításuknál egy tipikus glifát hét magas és öt széles mátrixként nyomtattak ki, míg az “A” modellek 9 tűvel rendelkező nyomtatófejet használtak, és 9 x 7 méretű glifákat képeztek.
Ezzel megmaradt az ASCII-adatok nyomtatóra küldésének problémája. Míg a soros port ezt a lehető legkevesebb tűvel és vezetékkel teszi meg, az eszköznek pufferelnie kell az adatokat, amint azok bitről bitre érkeznek, és vissza kell alakítania azokat többbites értékekké. A párhuzamos port ezt egyszerűbbé teszi; a teljes ASCII-érték teljes formában jelenik meg a csapokon. A nyolc adattüskén kívül a rendszernek különböző vezérlőcsapokra, valamint elektromos földelésre is szüksége volt. A Wang véletlenül rendelkezett 20 000 darab 36 tűs Amphenol mikroszalag-csatlakozóból álló felesleges készlettel, amelyet eredetileg az egyik korai számológépükhöz használtak. Az interfészhez ezekből a csapokból csak 21-re volt szükség, a többit földelték vagy nem csatlakoztatták. A csatlakozó annyira szorosan összekapcsolódott a Centronics csatlakozóval, hogy a köznyelvben “Centronics csatlakozóként” ismert.
A Centronics Model 101 nyomtató, amely ezt a csatlakozót használta, 1970-ben jelent meg. Az állomás ASCII karaktereket küldött a nyomtatónak a nyolc adatcsapból hét adatcsapot használva, magasra húzva őket +5 V-ra, hogy 1-et jelezzenek. Amikor az adatok készen voltak, az állomás alacsonyra húzta a STROBE csapot, 0 V-ra. A nyomtató úgy válaszolt, hogy magasra húzta a BUSY vonalat, kinyomtatta a karaktert, majd a BUSY-t ismét alacsonyra állította. A hoszt ezután újabb karaktert küldhetett. Az adatokban lévő vezérlő karakterek más műveleteket okoztak, mint például a CR
vagy a EOF
. A hoszt azt is elérhette, hogy a nyomtató automatikusan új sort kezdjen, ha az AUTOFEED vonalat magasra húzta, és ott tartotta. A gazdának gondosan figyelnie kellett a BUSY vonalat, hogy ne tápláljon túl gyorsan adatokat a nyomtatóba, különösen olyan változó idejű műveletek esetén, mint a papíradagolás.
A nyomtató oldali interfész gyorsan ipari de facto szabvány lett, de a gyártók különböző csatlakozókat használtak a rendszeroldalon, így többféle kábelre volt szükség. Az NCR például 36 tűs mikroszalagcsatlakozót használt a kapcsolat mindkét végén, a korai VAX-rendszerek DC-37-es csatlakozót, a Texas Instruments 25 tűs kártyaszéli csatlakozót, a Data General pedig 50 tűs mikroszalagcsatlakozót. Amikor az IBM megvalósította a párhuzamos interfészt az IBM PC-n, az interfész PC-s oldalán a DB-25F csatlakozót használta, létrehozva a ma ismert párhuzamos kábelt, amelynek egyik végén DB25M, a másik végén pedig egy 36 tűs mikroszalagcsatlakozó volt.
A Centronics port elméletileg akár 75 000 karaktert is képes volt másodpercenként átvinni az adatokat. Ez jóval gyorsabb volt, mint a nyomtató, amely átlagosan körülbelül 160 karaktert tudott másodpercenként, ami azt jelentette, hogy a port az ideje nagy részét üresen töltötte. A teljesítményt az határozta meg, hogy a hoszt milyen gyorsan tudott reagálni a nyomtató BUSY jelére, amely további adatokat kért. A teljesítmény javítása érdekében a nyomtatók elkezdtek puffereket beépíteni, így a hoszt gyorsabban, sorozatban tudott adatokat küldeni nekik. Ez nemcsak csökkentette (vagy megszüntette) a késleltetésből adódó késleltetést a következő karakter megérkezésére várva a gazdától, hanem a gazdát is felszabadította más műveletek elvégzésére anélkül, hogy teljesítménycsökkenést okozott volna. A teljesítményt tovább javította, hogy a puffert több sor tárolására használták, majd mindkét irányban nyomtattak, kiküszöbölve a késleltetést, amíg a nyomtatófej visszatért az oldal bal oldalára. Az ilyen változtatások több mint kétszeresére növelték az egyébként változatlan nyomtató teljesítményét, mint például az olyan Centronics modellek esetében, mint a 102 és a 308.
IBMEdit
Az IBM 1981-ben kiadta az IBM Personal Computer-t, amely a Centronics interfész egy változatát tartalmazta – az IBM PC-vel csak IBM logós nyomtatókat lehetett használni (az Epsontól átvett). Az IBM szabványosította a párhuzamos kábelt DB25F csatlakozóval a PC oldalán és a 36 tűs Centronics csatlakozóval a nyomtató oldalán. A gyártók hamarosan olyan nyomtatókat adtak ki, amelyek mind a szabványos Centronics, mind az IBM implementációjával kompatibilisek voltak.
Az eredeti IBM párhuzamos nyomtatóadaptert az IBM PC-hez 1981-ben úgy tervezték, hogy korlátozott kétirányúságot támogasson, 8 soros adatkimenettel és 4 soros adatbevitellel. Ez lehetővé tette, hogy a portot más célokra is lehessen használni, nem csak nyomtatóra történő kimenetre. Ezt úgy érték el, hogy az adatvonalakra a kábel mindkét végén lévő eszközök írhattak, amihez a hoszt portjainak kétirányúnak kellett lenniük. Ezt a funkciót kevesen használták, és a hardver későbbi revízióiból eltávolították. Évekkel később, 1987-ben az IBM újra bevezette a kétirányú interfészt az IBM PS/2 sorozatával, ahol a kétirányú interfészt engedélyezni vagy letiltani lehetett, hogy kompatibilis legyen az olyan alkalmazásokkal, amelyek úgy vannak bekötve, hogy a nyomtató portja ne legyen kétirányú.
Bi-TronicsEdit
Ahogy a nyomtatók piaca bővült, új típusú nyomtatási mechanizmusok jelentek meg. Ezek gyakran olyan új funkciókat és hibaállapotokat támogattak, amelyeket a meglévő port viszonylag kevés státuszcsapján nem lehetett megjeleníteni. Bár az IBM megoldása támogatni tudta ezeket, nem volt triviális megvalósítani, és abban az időben nem is támogatták. Ez vezetett a Bi-Tronics rendszerhez, amelyet a HP 1992-ben vezetett be a LaserJet 4-en. Ez négy létező állapotcsapot használt, ERROR, SELECT, PE és BUSY, hogy egy nibble-t ábrázoljon, két átvitelt használva egy 8 bites érték elküldéséhez. A Bi-Tronics módot, amelyet ma már nibble módként ismerünk, az jelezte, hogy a gazdatest a SELECT vonalat magasra húzta, és az adatátvitel akkor történt, amikor a gazdatest az AUTOFEED-et alacsonyra kapcsolta. A kézfogadási protokollok egyéb változtatásai javították a teljesítményt, amely elérte a 400 000 cps sebességet a nyomtató felé, és körülbelül 50 000 cps sebességet vissza a gazdához. A Bi-Tronics rendszer nagy előnye, hogy teljes egészében szoftveresen vezérelhető a hosztban, és egyébként nem módosított hardvert használ – az összes, a hoszt felé történő adatátvitelhez használt pin már a nyomtató és a hoszt közötti vezetékek voltak.
EPP és ECPEdit
Az új eszközök, például a szkennerek és a többfunkciós nyomtatók bevezetése sokkal nagyobb teljesítményt igényelt, mint amit a Bi-Tronics vagy az IBM stílusú visszacsatornák kezelni tudtak. Két másik szabvány vált népszerűbbé ezekre a célokra. Az Enhanced Parallel Port (EPP), amelyet eredetileg a Zenith Electronics definiált, koncepciójában hasonló az IBM byte módjához, de megváltoztatja a handshaking részleteit, hogy akár 2 MB/s sebességet is lehetővé tegyen. Az ECP (Extended Capability Port) lényegében egy teljesen új port ugyanabban a fizikai házban, amely az ISA-n alapuló közvetlen memóriaelérést és az adatok tömörítéséhez szükséges futási hosszúságú kódolást is hozzáadja, ami különösen az egyszerű képek, például faxok vagy fekete-fehér szkennelt képek átvitelénél hasznos. Az ECP mindkét irányban akár 2,5 MB/s-os teljesítményt kínál.
Az IEEE 1284 szabvány részeként gyűjtötték össze ezeket a fejlesztéseket. Az 1994-es első kiadás tartalmazta az eredeti Centronics üzemmódot (“kompatibilitási mód”), a nibble és byte üzemmódokat, valamint a már széles körben használt handshaking megváltoztatását; az eredeti Centronics megvalósítás szerint a BUSY-vezetéknek minden egyes adatváltásnál váltania kellett (busy-by-line), míg az IEEE 1284 szerint a BUSY-nak minden egyes fogadott karakterrel váltania kellett (busy-by-character). Ez csökkenti a BUSY-váltások számát és az ebből eredő megszakítások számát mindkét oldalon. Egy 1997-es frissítés szabványosította a nyomtató állapotkódjait. 2000-ben az EPP és ECP üzemmódok bekerültek a szabványba, valamint számos csatlakozó- és kábeltípus, és egy módszer akár nyolc eszköz láncba kapcsolására egyetlen portról.
Egyes hostrendszerek vagy nyomtatókiszolgálók viszonylag alacsony feszültségű kimenettel rendelkező stroboszkópjelet vagy gyors váltást használhatnak. Ezek bármelyike okozhat nem vagy szakaszosan történő nyomtatást, hiányzó vagy ismétlődő karaktereket vagy szemétnyomtatást. Egyes nyomtatómodellekben lehet egy kapcsoló vagy beállítás a karakterenkénti foglaltság beállítására; másokhoz kézrátétel-adapterre lehet szükség.
DataproductsEdit
A Dataproducts a párhuzamos interfésznek egy nagyon eltérő megvalósítását vezette be nyomtatóinál. Ez egy DC-37-es csatlakozót használt a hoszt oldalán és egy 50 tűs csatlakozót a nyomtató oldalán – vagy egy DD-50-es (néha helytelenül “DB50”-nek nevezik) vagy a blokk alakú M-50-es csatlakozót; az M-50-esre Winchester néven is hivatkoztak. A Dataproducts párhuzamos volt elérhető rövidvezetékes változatban 15 méterig (50 láb) és hosszúvezetékes változatban, amely differenciális jelzést használt 150 méterig (500 láb) terjedő kapcsolatokhoz. A Dataproducts interfész az 1990-es évekig számos nagyszámítógépes rendszerben megtalálható volt, és számos nyomtatógyártó opcionálisan kínálta a Dataproducts interfészt.
A sokféle eszközt végül úgy terveztek, hogy párhuzamos porton működjön. A legtöbb eszköz egyirányú (egyirányú) eszköz volt, és csak a PC-től küldött információkra volt hivatott válaszolni. Néhány eszköz, például a Zip-meghajtók azonban képesek voltak kétirányú üzemmódban is működni. A nyomtatók is átvették a kétirányú rendszert, lehetővé téve különböző állapotjelentési információk küldését.