Parallelport

CentronicsEdit

An Wang, Robert Howard og Prentice Robinson begyndte udviklingen af en billig printer hos Centronics, et datterselskab af Wang Laboratories, der fremstillede specielle computerterminaler. Printeren anvendte dot matrix-princippet med et printhoved bestående af en lodret række af syv metalstifter, der var forbundet med solenoider. Når solenoiderne blev forsynet med strøm, blev stiften skubbet fremad for at ramme papiret og efterlade en prik. For at lave en komplet tegnglyfe fik printhovedet strøm til bestemte stifter for at skabe et enkelt lodret mønster, hvorefter printhovedet flyttede sig en lille smule til højre, og processen gentog sig. På deres oprindelige design blev en typisk glyf udskrevet som en matrix med syv højder og fem bredder, mens “A”-modellerne brugte et printhoved med 9 pins og dannede glyffer, der var 9 gange 7.

Det efterlod problemet med at sende ASCII-dataene til printeren. Mens en seriel port gør det med et minimum af pins og ledninger, kræver den, at enheden buffer dataene, efterhånden som de ankommer bit for bit, og omdanner dem tilbage til multibitværdier. En parallelport gør dette enklere; hele ASCII-værdien præsenteres på pinsene i komplet form. Ud over de otte datastifter havde systemet også brug for forskellige kontrolstifter samt elektrisk jord. Wang havde tilfældigvis et overskudslager af 20.000 Amphenol 36-pin mikrobåndsstik, som oprindeligt blev brugt til en af deres tidlige lommeregnere. Grænsefladen krævede kun 21 af disse stifter, resten var jordet eller ikke forbundet. Stikket er blevet så tæt forbundet med Centronics, at det nu populært kaldes “Centronics-stikket”.

Den Centronics Model 101-printer, der er udstyret med dette stik, blev lanceret i 1970. Værten sendte ASCII-tegn til printeren ved hjælp af syv af de otte datastifter og trak dem højt til +5 V for at repræsentere en 1. Når dataene var klar, trak værten STROBE-stiften lavt, til 0 V. Printeren reagerede ved at trække BUSY-linjen højt, udskrive tegnet og derefter vende BUSY tilbage til lavt igen. Værten kunne derefter sende endnu et tegn. Kontroltegn i dataene forårsagede andre handlinger, som f.eks. CR eller EOF. Værten kunne også få printeren til automatisk at starte en ny linje ved at trække AUTOFEED-linjen til høj og holde den der. Værten måtte nøje holde øje med BUSY-linjen for at sikre, at den ikke sendte data til printeren for hurtigt, især i betragtning af operationer med variabel tid som f.eks. papirfremføring.

Printerens side af grænsefladen blev hurtigt en de facto-standard i industrien, men producenterne brugte forskellige stik på systemsiden, så der var behov for en række forskellige kabler. NCR brugte f.eks. det 36-stifts mikrobåndsstik i begge ender af forbindelsen, tidlige VAX-systemer brugte et DC-37-stik, Texas Instruments brugte et 25-stifts kortkantsstik og Data General brugte et 50-stifts mikrobåndsstik. Da IBM implementerede den parallelle grænseflade på IBM-pc’en, brugte de DB-25F-stikket i pc-enden af grænsefladen, hvilket skabte det nu velkendte parallelkabel med et DB25M-stik i den ene ende og et 36-stifts mikrobåndsstik i den anden ende.

I teorien kunne Centronics-porten overføre data så hurtigt som 75.000 tegn i sekundet. Dette var langt hurtigere end printeren, som i gennemsnit havde ca. 160 tegn i sekundet, hvilket betød, at porten brugte meget af sin tid på at være inaktiv. Ydelsen blev defineret af, hvor hurtigt værten kunne reagere på printerens BUSY-signal, der bad om flere data. For at forbedre ydeevnen begyndte printere at indbygge buffere, så værten kunne sende data til dem hurtigere, i grupper. Dette reducerede (eller eliminerede) ikke blot forsinkelser som følge af ventetid på det næste tegn fra værten, men frigjorde også værten til at udføre andre operationer uden at forårsage et tab af ydeevne. Ydelsen blev yderligere forbedret ved at bruge bufferen til at gemme flere linjer og derefter udskrive i begge retninger, hvilket eliminerede forsinkelsen, mens printhovedet vendte tilbage til venstre side af siden. Sådanne ændringer mere end fordoblede ydeevnen for en ellers uændret printer, hvilket var tilfældet på Centronics-modeller som 102 og 308.

IBMEdit

IBM udgav IBM Personal Computer i 1981 og inkluderede en variant af Centronics-grænsefladen – kun printere med IBM-logo (rebranded fra Epson) kunne bruges sammen med IBM PC’en. IBM standardiserede parallelkablet med et DB25F-stik på pc-siden og et 36-stift Centronics-stik på printersiden. Leverandørerne frigav snart printere, der var kompatible med både standard Centronics og IBM’s implementering.

Den oprindelige IBM parallelprinteradapter til IBM PC’en fra 1981 var designet til at understøtte begrænset bidirektionalitet, med 8 linjer dataudgang og 4 linjer dataindgang. Dette gjorde det muligt at bruge porten til andre formål, ikke kun til output til en printer. Dette blev opnået ved at tillade, at datalinjerne kunne skrives på af enheder i begge ender af kablet, hvilket krævede, at portene på værten var bidirektionelle. Denne funktion blev kun brugt i ringe grad og blev fjernet i senere revisioner af hardwaren. Flere år senere, i 1987, genindførte IBM den tovejsinterface med sin IBM PS/2-serie, hvor den kunne aktiveres eller deaktiveres af hensyn til kompatibilitet med programmer, der var hardwired til ikke at forvente, at en printerport var tovejs.

Bi-TronicsEdit

I takt med at printermarkedet voksede, dukkede der nye typer udskrivningsmekanismer op. Disse understøttede ofte nye funktioner og fejlbetingelser, som ikke kunne repræsenteres på den eksisterende portens relativt få statuspinde. Selv om IBM-løsningen kunne understøtte dette, var det ikke trivielt at implementere, og den blev på det tidspunkt ikke understøttet. Dette førte til Bi-Tronics-systemet, der blev indført af HP på deres LaserJet 4 i 1992. Dette system anvendte fire eksisterende statusstifter, ERROR, SELECT, PE og BUSY, til at repræsentere en nibble, idet der blev brugt to overførsler til at sende en 8-bit værdi. Bi-Tronics-tilstand, nu kendt som nibble-tilstand, blev indikeret ved at værten trak SELECT-linjen højt, og data blev overført, når værten slog AUTOFEED lavt. Andre ændringer i handshaking-protokollerne forbedrede ydeevnen og nåede op på 400.000 cps til printeren og ca. 50.000 cps tilbage til værten. En stor fordel ved Bi-Tronics-systemet er, at det kan styres helt og holdent i software i værten og anvender ellers uændret hardware – alle de pins, der anvendes til dataoverførsel tilbage til værten, var allerede printer-til-vært-ledninger.

EPP og ECPEdit

Indførelsen af nye enheder som scannere og multifunktionsprintere krævede meget mere ydelse, end hverken Bi-Tronics- eller IBM-stilens bagkanaler kunne klare. To andre standarder er blevet mere populære til disse formål. Enhanced Parallel Port (EPP), der oprindeligt blev defineret af Zenith Electronics, ligner IBM’s byte mode i konceptet, men ændrer detaljerne i handshaking for at muliggøre op til 2 MB/s. Extended Capability Port (ECP) er i princippet en helt ny port i samme fysiske kabinet, som også tilføjer direkte hukommelsesadgang baseret på ISA og run-length-kodning for at komprimere dataene, hvilket især er nyttigt ved overførsel af simple billeder som faxer eller sort-hvide scannede billeder. ECP giver en ydelse på op til 2,5 MB/s i begge retninger.

Alle disse forbedringer er samlet som en del af IEEE 1284-standarden. Den første udgave i 1994 omfattede original Centronics-tilstand (“kompatibilitetstilstand”), nibble- og byte-tilstand samt en ændring af den handshaking, der allerede var meget udbredt; den oprindelige Centronics-implementering krævede, at BUSY-leddet skiftede ved hver ændring på en datalinje (busy-by-line), mens IEEE 1284 kræver, at BUSY skifter ved hvert modtaget tegn (busy-by-character). Dette reducerer antallet af BUSY-omskiftninger og de deraf følgende afbrydelser på begge sider. Ved en opdatering i 1997 blev printerstatuskoderne standardiseret. I 2000 blev EPP- og ECP-tilstandene flyttet ind i standarden, ligesom flere stik- og kabelstilarter og en metode til daisy chaining af op til otte enheder fra en enkelt port.

Nogle værtssystemer eller printservere kan bruge et strobosignal med et relativt lavt spændingsoutput eller en hurtig toggle. Ethvert af disse problemer kan forårsage ingen eller intermitterende udskrivning, manglende eller gentagne tegn eller affaldsudskrivning. Nogle printermodeller kan have en kontakt eller indstilling til at indstille optaget efter tegn; andre kan kræve en handshake-adapter.

DataproductsRediger

Dataproducts introducerede en meget anderledes implementering af den parallelle grænseflade til deres printere. Den anvendte et DC-37-stik på værtssiden og et 50-pin-stik på printersiden – enten et DD-50 (nogle gange fejlagtigt omtalt som et “DB50”) eller det blokformede M-50-stik; M-50 blev også omtalt som Winchester. Dataproducts parallel var tilgængelig i en short-line version til forbindelser på op til 15 m (50 fod) og en long-line version med differentiel signalering til forbindelser på op til 150 m (500 fod). Dataproducts-grænsefladen fandtes på mange mainframesystemer op gennem 1990’erne, og mange printerproducenter tilbød Dataproducts-grænsefladen som ekstraudstyr.

Et bredt udvalg af enheder blev efterhånden designet til at fungere på en parallelport. De fleste enheder var unidirektionelle (envejs) enheder, som kun skulle svare på oplysninger, der blev sendt fra pc’en. Nogle enheder som f.eks. Zip-drev var dog i stand til at fungere i tovejstilstand. Printere tog efterhånden også det tovejsbaserede system i brug og gjorde det muligt at sende forskellige statusrapportoplysninger.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.