CentronicsEdit
An Wang, Robert Howard și Prentice Robinson au început dezvoltarea unei imprimante low-cost la Centronics, o filială a Wang Laboratories care producea terminale de calculator specializate. Imprimanta folosea principiul de imprimare matricială cu puncte, cu un cap de imprimare format dintr-un rând vertical de șapte pini metalici conectați la solenoizi. Atunci când solenoizii erau alimentați cu energie, acul era împins înainte pentru a lovi hârtia și a lăsa un punct. Pentru a realiza o glifă completă a unui caracter, capul de imprimare primea energie la pinii specificați pentru a crea un singur model vertical, apoi capul de imprimare se deplasa spre dreapta cu o cantitate mică, iar procesul se repeta. Pe designul lor original, o glifă tipică era imprimată ca o matrice de șapte înălțime și cinci lățime, în timp ce modelele „A” foloseau un cap de imprimare cu 9 pini și formau glife de 9 pe 7.
Aceasta a lăsat problema trimiterii datelor ASCII la imprimantă. În timp ce un port serial face acest lucru cu un minim de pini și fire, acesta necesită ca dispozitivul să memoreze datele pe măsură ce sosesc bit cu bit și să le transforme înapoi în valori pe mai mulți biți. Un port paralel simplifică acest lucru; întreaga valoare ASCII este prezentată pe pini în formă completă. Pe lângă cei opt pini de date, sistemul avea nevoie și de diverși pini de control, precum și de masă electrică. Se întâmpla ca Wang să aibă un stoc excedentar de 20.000 de conectori de micro panglică Amphenol cu 36 de pini, care au fost folosiți inițial pentru unul dintre primele lor calculatoare. Interfața a necesitat doar 21 dintre acești pini, restul fiind împământați sau neconectați. Conectorul a devenit atât de strâns asociat cu Centronics încât acum este cunoscut în mod popular sub numele de „conector Centronics”.
Imprimanta Centronics Model 101, cu acest conector, a fost lansată în 1970. Gazda trimitea caractere ASCII către imprimantă folosind șapte dintre cei opt pini de date, trăgându-i la nivel înalt la +5 V pentru a reprezenta un 1. Când datele erau gata, gazda trăgea pinul STROBE la nivel scăzut, la 0 V. Imprimanta răspundea trăgând linia BUSY la nivel înalt, tipărind caracterul și apoi readucând BUSY la nivel scăzut din nou. Gazda putea apoi să trimită un alt caracter. Caracterele de control din date provocau alte acțiuni, cum ar fi CR
sau EOF
. De asemenea, gazda putea face ca imprimanta să pornească automat o nouă linie, trăgând linia AUTOFEED la nivel înalt și menținând-o acolo. Gazda trebuia să urmărească cu atenție linia BUSY pentru a se asigura că nu alimentează datele către imprimantă prea rapid, mai ales în cazul unor operațiuni cu timp variabil, cum ar fi alimentarea cu hârtie.
Latura de imprimantă a interfeței a devenit rapid un standard de facto în industrie, dar producătorii au folosit diverși conectori pe partea de sistem, astfel încât a fost necesară o varietate de cabluri. De exemplu, NCR a folosit conectorul micro panglică cu 36 de pini la ambele capete ale conexiunii, primele sisteme VAX au folosit un conector DC-37, Texas Instruments a folosit un conector de margine de card cu 25 de pini, iar Data General a folosit un conector micro panglică cu 50 de pini. Când IBM a implementat interfața paralelă pe IBM PC, a folosit conectorul DB-25F la capătul PC al interfeței, creând cablul paralel acum familiar cu un DB25M la un capăt și un conector micro panglică cu 36 de pini la celălalt.
În teorie, portul Centronics putea transfera date la o viteză de până la 75.000 de caractere pe secundă. Acest lucru era mult mai rapid decât imprimanta, care avea o medie de aproximativ 160 de caractere pe secundă, ceea ce însemna că portul își petrecea o mare parte din timp inactiv. Performanța era definită de rapiditatea cu care gazda putea răspunde la semnalul BUSY al imprimantei care cerea mai multe date. Pentru a îmbunătăți performanța, imprimantele au început să încorporeze tampoane pentru ca gazda să le poată trimite date mai rapid, în rafale. Acest lucru nu numai că a redus (sau a eliminat) întârzierile datorate latențelor care așteptau sosirea următorului caracter de la gazdă, dar a și eliberat gazda pentru a efectua alte operațiuni fără a provoca o pierdere de performanță. Performanța a fost îmbunătățită și mai mult prin utilizarea buffer-ului pentru a stoca mai multe linii și apoi prin imprimarea în ambele direcții, eliminând întârzierea în timp ce capul de imprimare revenea în partea stângă a paginii. Astfel de modificări au mai mult decât dublat performanța unei imprimante altfel neschimbate, așa cum a fost cazul modelelor Centronics precum 102 și 308.
IBMEdit
IBM a lansat IBM Personal Computer în 1981 și a inclus o variantă a interfeței Centronics – numai imprimantele cu logo IBM (rebranduite de la Epson) puteau fi utilizate cu IBM PC. IBM a standardizat cablul paralel cu un conector DB25F pe partea de PC și conectorul Centronics cu 36 de pini pe partea de imprimantă. În scurt timp, furnizorii au lansat imprimante compatibile atât cu Centronics standard, cât și cu implementarea IBM.
Adaptorul IBM original de imprimantă paralelă pentru IBM PC din 1981 a fost proiectat pentru a suporta o bidirecționalitate limitată, cu 8 linii de ieșire de date și 4 linii de intrare de date. Acest lucru a permis ca portul să fie utilizat și în alte scopuri, nu doar pentru ieșirea către o imprimantă. Acest lucru a fost realizat permițând ca liniile de date să fie scrise de dispozitive aflate la ambele capete ale cablului, ceea ce presupunea ca porturile de pe gazdă să fie bidirecționale. Această caracteristică a fost puțin utilizată și a fost eliminată în revizuirile ulterioare ale hardware-ului. Ani mai târziu, în 1987, IBM a reintrodus interfața bidirecțională cu seria IBM PS/2, unde putea fi activată sau dezactivată pentru compatibilitate cu aplicațiile cablate astfel încât să nu se aștepte ca un port de imprimantă să fie bidirecțional.
Bi-TronicsEdit
Pe măsură ce piața imprimantelor s-a extins, au apărut noi tipuri de mecanisme de imprimare. Acestea suportau adesea noi caracteristici și condiții de eroare care nu puteau fi reprezentate pe pinii de stare relativ puțini ai portului existent. În timp ce soluția IBM putea suporta acest lucru, nu era banal de implementat și nu era susținută la acel moment. Aceasta a condus la sistemul Bi-Tronics, introdus de HP pe LaserJet 4 în 1992. Acesta folosea patru pini de stare existenți, ERROR, SELECT, PE și BUSY pentru a reprezenta un nibble, utilizând două transferuri pentru a trimite o valoare pe 8 biți. Modul Bi-Tronics, cunoscut în prezent sub numele de modul nibble, era indicat prin tragerea de către gazdă a liniei SELECT la nivel înalt, iar datele erau transferate atunci când gazda comuta AUTOFEED la nivel scăzut. Alte modificări ale protocoalelor de handshaking au îmbunătățit performanța, ajungând la 400.000 cps către imprimantă și la aproximativ 50.000 cps înapoi către gazdă. Un avantaj major al sistemului Bi-Tronics este acela că poate fi condus în întregime prin software în gazdă și utilizează hardware nemodificat – toți pinii utilizați pentru transferul de date înapoi la gazdă erau deja linii de la imprimantă la gazdă.
EPP și ECPEdit
Introducerea de noi dispozitive, cum ar fi scanerele și imprimantele multifuncționale, a cerut performanțe mult mai mari decât cele pe care le puteau gestiona canalele de backchannel Bi-Tronics sau cele de tip IBM. Alte două standarde au devenit mai populare în aceste scopuri. Portul paralel îmbunătățit (Enhanced Parallel Port – EPP), definit inițial de Zenith Electronics, este similar în concept cu modul byte al IBM, dar modifică detaliile handshaking-ului pentru a permite până la 2 MB/s. Portul cu capacitate extinsă (Extended Capability Port – ECP) este, în esență, un port complet nou în aceeași carcasă fizică, care adaugă, de asemenea, accesul direct la memorie bazat pe ISA și codificarea run-length pentru a comprima datele, ceea ce este deosebit de util atunci când se transferă imagini simple, cum ar fi faxurile sau imaginile scanate alb-negru. ECP oferă performanțe de până la 2,5 MB/s în ambele direcții.
Toate aceste îmbunătățiri sunt colectate ca parte a standardului IEEE 1284. Prima versiune din 1994 a inclus modul Centronics original („modul de compatibilitate”), modurile nibble și byte, precum și o modificare a handshaking-ului care era deja utilizat pe scară largă; implementarea originală Centronics cerea ca firul BUSY să se comute la fiecare modificare pe orice linie de date (busy-by-line), în timp ce IEEE 1284 cere ca BUSY să se comute la fiecare caracter primit (busy-by-character). Acest lucru reduce numărul de comutări BUSY și întreruperile rezultate pe ambele părți. O actualizare din 1997 a standardizat codurile de stare ale imprimantei. În 2000, modurile EPP și ECP au fost mutate în standard, precum și mai multe stiluri de conectori și cabluri și o metodă de înlănțuire în cascadă a până la opt dispozitive de la un singur port.
Câteva sisteme gazdă sau servere de imprimare pot utiliza un semnal stroboscopic cu o ieșire de tensiune relativ scăzută sau o comutare rapidă. Oricare dintre aceste probleme ar putea cauza o imprimare inexistentă sau intermitentă, caractere lipsă sau repetate sau imprimare de gunoi. Unele modele de imprimante pot avea un comutator sau o setare pentru a seta ocupat după caracter; altele pot necesita un adaptor handshake.
DataproductsEdit
Dataproducts a introdus o implementare foarte diferită a interfeței paralele pentru imprimantele lor. Aceasta folosea un conector DC-37 pe partea gazdei și un conector cu 50 de pini pe partea imprimantei – fie un DD-50 (uneori denumit în mod incorect „DB50”), fie conectorul M-50 în formă de bloc; M-50 a fost denumit și Winchester. Dataproducts parallel era disponibil într-o versiune cu linie scurtă pentru conexiuni de până la 15 m (50 picioare) și o versiune cu linie lungă care folosea semnalizare diferențială pentru conexiuni de până la 150 m (500 picioare). Interfața Dataproducts a fost întâlnită pe multe sisteme mainframe până în anii 1990, iar mulți producători de imprimante au oferit interfața Dataproducts ca opțiune.
O mare varietate de dispozitive au fost în cele din urmă proiectate pentru a funcționa pe un port paralel. Majoritatea dispozitivelor erau dispozitive unidirecționale (unidirecționale), menite doar să răspundă la informațiile trimise de la PC. Cu toate acestea, unele dispozitive, cum ar fi unitățile Zip, erau capabile să funcționeze în mod bidirecțional. Imprimantele, de asemenea, au preluat în cele din urmă sistemul bidirecțional, permițând trimiterea de diverse informații de raportare a stării.
.