Paralelný port

Paralelný port alebo paralelné rozhranie, centronics, paralelný interfejs, LPT port, printer port a pod. je označenie komunikačného rozhrania, používaného hlavne v počítačoch najmä pre pripojenie tlačiarne. Paralelný port patrí medzi tzv. legacy porty (zastarané porty). Výraz paralelný vychádza z faktu, že dáta sa prenášajú paralelne po viacerých vodičoch naraz.

Paralelný port má 8 dátových signálov a niekoľko riadiacich signálov, ktoré riadia komunikáciu (handshake) a signalizujú stav pripojeného zariadenia. Vo svojej dobe paralelný port predstavoval komunikačné rozhranie s vysokou prenosovou rýchlosťou (niekoľko desiatok kB/s, t. j. niekoľko sto kbit/s), preto sa k nemu pripájali okrem tlačiarní aj iné zariadenia vyžadujúce rýchly prenos dát (napr. skener). Niekedy sa používal aj na prenos dát medzi dvomi počítačmi, najmä kvôli nízkej cene a dostupnosti LPT portu na každom počítači (v čase, keď sieťové karty boli drahé a neboli samozrejmou súčasťou každého PC). Hlavným obmedzením bola najmä maximálna prípustná dĺžka kábla, asi 2 metre.

Dnes je paralelný port už vytlačený modernejšími rozhraniami, najmä USB.

 Technické detaily 

 Jednosmerné a obojsmerné režimy 
Pre paralelný port je definovaných niekoľko režimov, medzi ktorými je možné prepínať príslušným nastavením hardvéru, obvykle z nastavovacej utility BIOSu.

 SPP (Standard Parallel Port) 
Tradične bola dátová zbernica paralelného portu jednosmerná – dáta sa dali prenášať len z počítača do tlačiarne. Napriek tomu boli na porte 4 riadiace signály obojsmerné, čo sa často využívalo najmä pri prepojení dvoch PC.

 Bidirectional 
V klasickom paralelnom porte je možnosť do dátového registra nielen zapisovať, ale aj čítať. Hardvér portu je však skonštruovaný tak, že jednotlivé bity dátového portu sú trvalo budené dvojčinným výstupom, takže nie je možné bez poškodenia vnútiť portu stav zvonka, a čítanie len vrátilo hodnotu naposledy zapísanú do dátového registra.

Pomerne jednoduchou úpravou sa dalo aj u pôvodného paralelného portu (ktorý bol skonštruovaný z bežných TTL logických obvodov typu 74xx) dosiahnuť, že pri nastavení jedného z bitov riadiaceho registra prešiel budič dátovej linky (74LS374) do vysokoimpedančného stavu, čo umožňovalo prečítať priamo stav dátových pinov, t. j. sa port v tom okamihu správal ako vstupný.

Tento režim implementovali aj viacerí výrobcovia rozširujúcich kariet, ale nikdy nebol formálne štandardizovaný.

 EPP (Enhanced Parallel Port) 
Potreba obojsmernej komunikácie a lepšej previazanosti hardwaru a softwaru na strane PC vyústila v takú definíciu existujúcich signálov rozhrania, ktorá umožňovala zo strany PC priamo zapisovať a čítať do/z registrov pripojeného zariadenia (samozrejme za spolupráce hardvéru a firmvéru pripojeného zariadenia). Lepšie využitie signálov, presnejšie časovanie ako aj ovládač využívajúci prerušenie umožnili zvýšiť prenosovú rýchlosť zhruba až desaťnásobne, t. j. na niekoľko stoviek kByte/s.

 ECP (Extended Capability Port) 
Pri štandardizácii paralelného portu (IEEE-1284) bol do štandardu prevzatý režim EPP a po miernych úpravách bol premenovaný na ECP. Spolu s možnosťou priameho prenosu dát z pamäte PC (DMA) dosahuje prenosová rýchlosť zhruba 250 kB/s (2,5 Mbit/s).

 Konektor a popis signálov 
200px|right|thumb|Pinout LPT portu
Zapojenie pinov (pinout) pre konektor DB25 je nasledovný:
 Číslo pinu (DB25) Názov signálu Smer Register – bit Invertovaný 1 nStrobe Výstup Control-0 Áno 2 Data0 Vstup/Výstup Data-0 Nie 3 Data1 Vstup/VýstupData-1Nie 4 Data2 Vstup/VýstupData-2Nie 5 Data3 Vstup/VýstupData-3Nie 6 Data4 Vstup/VýstupData-4Nie 7 Data5 Vstup/VýstupData-5Nie 8 Data6 Vstup/VýstupData-6Nie 9 Data7 Vstup/Výstup Data-7 Nie 10 nAck Vstup Status-6 Nie 11 Busy Vstup Status-7 Áno 12 Paper-Out Vstup Status-5 Nie 13 Select Vstup Status-4 Nie 14 Linefeed Výstup Control-1 Áno 15 nError Vstup Status-3 Nie 16 nInitialize Výstup Control-2 Nie 17 nSelect-Printer Výstup Control-3 Áno 18-25 Zem - - -

 Niektoré nástrahy pri používaní LPT 
Pri úvodnom teste systému (POST) je detegovaná prítomnosť LPT portu zápisom určitých hodnôt (obvykle 0x55 a 0xAA) do dátového registra portu, čo sa prejaví aj navonok zmenou stavov jednotlivých pinov, napríklad pri „teplom“ resete PC (tlačidlom alebo softwarovo). S týmto musia konštruktéri pripojených zariadení rátať.

Operačný systém Windows XP v niektorých jeho revíziách má po inštalácii zapnutú automatickú detekciu pripojenia zariadenia na LPT port, čo spôsobuje občasnú nečakanú zmenu stavu niektorých signálov.

 Adresácia v osobnom počítači 
V PC je paralelný port tradične mapovaný niektorú z týchto troch adries:

 počiatočná (bázová) I/O adresa koncová I/O adresa číslo prerušenia # 0x3bc  0x3bf  IRQ 5 0x378  0x37f  IRQ 7 0x278  0x27f  IRQ 6

Je možné mať zapojených viac portov súčasne, aj keď typicky býva prítomný len jeden. Tradične je BIOSom (a následne DOSom) detegovaná prítomnosť portov v horeuvedenom poradí, a v poradí akom sú nájdené jednotlivé porty, sú zaznamenané do interných tabuliek a je im pridelené symbolické meno LPT1 až LPT3 (pričom LPT1 má aj „alias“ PRN). Neplatí teda jednoznačné priradenie adresy k symbolickému menu, čo býva zdrojom problémov u zle napísaných programov, ktoré s týmto počítajú. Typicky však bázová adresa 0x3bc nepoužíva a bola použitá len u pôvodného PC.

Jednotlivé čísla prerušení tiež nie sú obvykle prísne dodržiavané, a najmä s ohľadom na preplnenosť prerušovacieho priestoru v PC a vzhľadom na to že väčšina softwaru prerušenie vôbec nepoužíva, sú zdieľané aj s inými zariadeniami (napr. zvuková karta alebo sieťová karta)(čo však mnohokrát bolo zdrojom nepríjemných a ťažko diagnostikovateľných problémov).

U operačného systému Windows už tieto pravidlá neplatia, a je možné použiť bez vážnejších problémov aj viac LPT rozhraní aj na netypických adresách.

 História 
Rozhranie vyvinula spoločnosť Centronics, ktorá bola priekopníkom v oblasti tlačiarní (pripisuje sa jej vynález ihličkovej tlačiarne), začiatkom 70-tych rokov, t. j. ešte v dobe pred PC. Na strane tlačiarne bol použitý 36-pinový konektor firmy Amphenol, ktorý sa stal štandardom; ale na strane počítača konektor dlhú dobu nebol štandardizovaný.

Keďže v čase vývoja IBM PC bolo toto rozhranie už štandardom na pripojenie tlačiarní, IBM implementovalo do prvého PC aj toto rozhranie. Pomerne nečakane bol paralelný port integrovaný spolu s grafickou kartou (typu MDA). U ďalších modelov a u klonov od iných výrobcov už mal paralelný port samostatnú rozširujúcu kartu, alebo bol často integrovaný spolu s jedným alebo viacerými sériovými portami. Rozšírenie a popularita PC mala za následok zjednotenie konektora typu DB25 (Canon 25 female) na strane počítača.

Aj keď sa jednalo o veľmi rozšírené a populárne rozhranie, formálne bolo štandardizované až pomerne neskoro v 90-tych rokoch, ako IEEE-1284.

 Dnešné použitie 
V dnešných PC je paralelný port pokladaný za zastaraný (legacy port), a preto ho už nikde nenájdeme. V oblasti pripojenia tlačiarní, ale aj pre iné účely, bol úplne vytlačený jednoduchšie použiteľným USB portom.

Paralelný port je najmä u vývojárov elektronických zariadení mnohokrát využívaný aj netypickým spôsobom, napr. na simuláciu niektorých sériových rozhraní (SPI, JTAG) ktoré typicky nemajú natívnu podporu v bežných PC, a to priamym ovládaním jednotlivých pinov portu (tzv. bit-bang). Takéto využitie je v moderných operačných systémoch založených na Windows NT problematické, keďže tieto operačné systémy izolujú samotný hardware od aplikácií vrstvou ovládačov, a je potrebné použiť zvláštny „sprístupňujúci“ ovládač.

Pre účely pripojenia starších zariadení (tlačiarní) sú vyrábané prevodníky („káble“, čo je nepresné označenie, keďže takýto „kábel“ obsahuje elektroniku ukrytú obvykle v krytke konektora) USB-LPT. Tieto však majú často problematické ovládače a neumožňujú použitie inak, ako na pripojenie tlačiarne (t. j. bit-bang režim nie je obvykle možný).

 Externé odkazy 
 rozsiahly súhrn informácií o paralelnom porte na hw.cz
 parmon -- užitočná utilita na zobrazenie a zmenu stavu portu
 Parallel Port Central od Jan Axelson
 Viac článkov o paralelnom porte na beyondlogic.org

Kategória:Zbernice
Kategória:Konektory