Paralelní port a rozhraní Centronics

13. 11. 2008
Doba čtení: 18 minut

Sdílet

V dnešní části seriálu o architekturách počítačů si popíšeme paralelní port. Ukážeme si jak běžné způsoby použití tohoto portu pro komunikaci s tiskárnami a přenos dat, tak i připojení různých typů vlastních zařízení, například digitálních senzorů, A/D a D/A převodníků či textových a grafických LCD.

Obsah

1. Paralelní port a rozhraní Centronics
2. Historie rozhraní Centronics a paralelního portu na osobních počítačích
3. Uspořádání konektoru paralelního portu
4. Elektrické charakteristiky a způsob napájení připojených zařízení
5. Standardní režim paralelního portu – jednosměrný přenos dat s handshakingem
6. Další způsoby využití paralelního portu
7. Programové řízení paralelního portu
8. Odkazy na Internetu
9. Obsah další části seriálu

1. Paralelní port a rozhraní Centronics

V předchozí části tohoto seriálu jsme si řekli, že externí porty i sběrnice je možné rozlišit mj. i podle toho, zda se přes ně data přenáší sériově, tj. bit po bitu, či paralelně (po bajtech nebo dokonce slovech s ještě větší bitovou šířkou). Při sériovém přenosu dat jsou jednotlivé bajty buď pomocí specializovaného čipu či programově rozděleny na sekvence bitů, které jsou postupně přeneseny sériovým způsobem (pro přenos dat tímto způsobem teoreticky postačují pouze dva vodiče, popř. jeden vodič a společná zem). Naproti tomu u paralelního přenosu je použito větší množství vodičů – některé vodiče jsou rezervovány pro přenos dat, další vodiče jsou použity k řídicím účelům. Typickým zástupcem paralelního přenosu dat je paralelní port, který je na osobních počítačích také znám pod zkratkou LPT (Line Print Terminal). Tento port byl od svého uvedení firmou IBM koncipován tak, aby se k němu snadno připojovaly tiskárny s rozhraním Centronics, ovšem je ho možné použít i pro další účely, z nichž některé si popíšeme v navazujících kapitolách.

pc3701

Obrázek 1: Konektory umístěné na zadní straně základní desky osobního počítače. Paralelní port je vyveden na konektor s 25 kontakty. Jedná se o růžový konektor vlevo nahoře, který je označován symbolem DB25.

V současnosti se dříve zcela standardně dodávaný a ve své podstatě i nezbytný paralelní port již pomalu přestává používat; například na nejnovějších základních deskách určených pro běžné osobní počítače ho už v některých případech nenajdeme. Z hlediska studia funkce externích portů a sběrnic je to trošku škoda, protože připojení vlastních zařízení na paralelní port je zpravidla velmi jednoduché a i způsob ovládání paralelního portu (většinou se jedná o přímé ovládání jednotlivých vstupních a výstupních pinů) nepředstavuje ani pro začínající programátory žádný větší problém, o čemž se budete moci přesvědčit v sedmé kapitole. Stále je však možné (dnes už opravdu jen pro účely „bastlení“ nebo pro připojení tiskárny či skeneru) si paralelní port pořídit ve formě zásuvné karty určené pro interní sběrnici PCI či PCI Express. Paralelní porty dostupné na zásuvných kartách přináší dokonce několik výhod – většinou mají jejich výstupy větší proudovou zatížitelnost než uvádí norma a také bývají ve většině případů odolné proti zkratu.

pc3702

Obrázek 2: Universální (prodlužovací) kabel určený pro přenos dat přes paralelní port. Na jednom konci kabelu je umístěný konektor typu „samice“ (DB25F), na druhém typu „samec“ (DB25M).

2. Historie rozhraní Centronics a paralelního portu na osobních počítačích

Při popisu paralelního portu se nemůžeme nezmínit i o rozhraní Centronics, které bylo až do nedávné minulosti používáno pro připojení prakticky všech tiskáren k osobním počítačům. Vznik rozhraní Centronics je datován do roku 1970, kdy firma Wang Laboratories, která se specializovala na výrobu zařízení pro pořizování textů (jednalo se o jakýsi hybrid mezi specializovaným počítačem a elektronickým psacím strojem), vyrobila tiskárnu označovanou jako Model 101. O komunikaci s touto tiskárnou se starala technologie navržená samotným Dr. Wangem, Robertem Howardem a Prentice Robinsonem. V roce 1971 došlo k oddělení jedné divize firmy Wang Laboratories; tato divize byla nazvaná Centronics Corporation. Rozhraní použité u Modelu 101 se postupně stalo sice neoficiálním, ale o to více akceptovaným de facto standardem, především od chvíle, kdy firma IBM navrhla a použila paralelní port pro svoji novinku – IBM PC. K tomuto portu bylo možné zapojit kabel, který měl na jednom konci konektor DB25 a na druhém konci 36pinový konektor polooficiálně nazývaný „Centronics“.

pc3703

Obrázek 3: Nová podoba loga firmy Centronics. Toto logo začalo být používáno až okolo roku 1986.

Zatímco v sedmdesátých letech minulého století byla divize Centronics Corporation na trhu s tiskárnami velmi úspěšná (především se to týkalo návrhu nových modelů, samotná výroba byla později přesunuta mimo USA), v osmdesátých letech začaly tomuto segmentu dominovat jiné firmy, zejména Epson a Brothers. V roce 1987 byla divize Centronics Corporation prodána, několikrát změnila majitele i jméno, vyhrála několik soudních sporů, další zase prohrála a následně prakticky zmizela z trhu s tiskárnami – původní označení rozhraní se však používá dodnes. Samotná mateřská firma Wang Laboratories měla velké problémy se svými novými produkty, především po nástupu universálních domácích a osobních počítačů, které se ukázaly být mnohem úspěšnějšími, než specializované přístroje na pořizování textů. S trochou nadsázky je možné říci, že nepřizpůsobivý dinosaurus Wang Laboratories byl překonán mladým a dravým WordPerfectem, který se – po celé dekádě prakticky bezkonkurenčního panování na trhu s textovými procesory – sám stal dinosaurem a podlehl firmě Microsoft s jejím balíkem Microsoft Office.

pc3704

Obrázek 4: Nahoře: konektor rozhraní Centronics, dole: konektor paralelního portu.

Konektor „rozhraní Centronics“ je možné doposud nalézt na mnoha tiskárnách a dalších podobných zařízeních (jedná se o některé rastrové plottery apod.) – jeho tvar se v mnohém odlišuje od ostatních konektorů používaných v současné výpočetní technice. Pro tento konektor jsou typické zejména dva drátové či plastové „zámky“, kterými je možné konektor bezpečně k tiskárně připevnit bez nutnosti použití šroubků (takto velký konektor s těžkým a neohebným kabelem podobné masivní zámky skutečně potřebuje, na rozdíl od například stomegabitového Ethernetu či universální sériové sběrnice USB – už několikrát jsem u známých opravil „vadnou“ tiskárnu tak, že jsem dotlačil napolo vysunutý kabel Centronics). Mnoho výkonnějších tiskáren (určených spíše do větších kanceláří než domácností) stále obsahuje hned několik možností připojení k počítači – přes rozhraní Centronics (na straně počítače se jedná o paralelní port, popř. o redukci z USB), přes externí sběrnici USB či přes Ethernet.

3. Uspořádání konektoru paralelního portu

Standardní paralelní port používá konektor s dvaceti pěti piny uspořádanými do dvou řad (13+12), který je označován jako DB25 („samec“ nese značení DB25M, „samice“ DB25F). Význam jednotlivých pinů tohoto konektoru je vyobrazen na pátém obrázku. Z tohoto obrázku je patrné, že všechny piny (a jim odpovídající signály) je možné rozdělit do čtyř skupin. V první skupině se nachází osm datových vodičů, pomocí nichž se posílají vlastní data – počet osm zde samozřejmě není náhodný, odpovídá jednomu bajtu (původně jednomu znaku či řídicímu kódu poslanému na tiskárnu). Dále na portu můžeme nalézt čtyři řídicí vodiče, pomocí nichž může počítač řídit veškerou komunikaci se zařízením. Třetí skupinu tvoří pět stavových vodičů, kterými naopak zařízení (typicky tiskárna) posílá počítači zpět informaci o svém stavu, připravenost pro příjem dalšího bajtu (znaku) atd. Přes čtvrtou skupinu pinů se připojují zemící vodiče (Ground, GND) – propojovací kabely bývají konstruovány tak, aby každému datovému vodiči odpovídal jeden vodič zemící.

pc3705

Obrázek 5: Význam jednotlivých pinů konektoru DB25 a jejich propojení s registry portu (registry může číst a zapisovat mikroprocesor). Růžovou barvou je označeno osm datových pinů, barvou modrou řídicí signály (ve standardním režimu je ovládá počítač), barvou zelenou piny pro stavové signály (ve standardním režimu tyto signály počítač může pouze číst, nastavuje je zařízení – tiskárna) a barvou černou piny určené pro připojení zemicích vodičů (GND). Pozor – některé registry mají na tomto obrázku otočené pořadí bitů (začíná se LSB)!

Jména a významy všech pinů (očíslovaných, jak je zvykem, od 1 do 25) je uveden v následující tabulce. U datových pinů je sice naznačen obousměrný přenos dat, ovšem u původního portu byl možný pouze přenos směrem od počítače k zařízení (to v tabulce odpovídá směru Out). Význam všech tří uvedených registrů (Data, Control, Status), za jejichž jmény je uvedena váha bitu, bude vysvětlen dále:

Pin Jméno signálu Směr přenosu Registr Invertovaný bit?
1 nStrobe Out Control-0 ano
2 Data0 In/Out Data-0 ne
3 Data1 In/Out Data-1 ne
4 Data2 In/Out Data-2 ne
5 Data3 In/Out Data-3 ne
6 Data4 In/Out Data-4 ne
7 Data5 In/Out Data-5 ne
8 Data6 In/Out Data-6 ne
9 Data7 In/Out Data-7 ne
10 nAck In Status-6 ne
11 Busy In Status-7 ano
12 Paper-Out In Status-5 ne
13 Select In Status-4 ne
14 Linefeed Out Control-1 ano
15 nError In Status-3 ne
16 nInitialize Out Control-2 ne
17 nSelect-Printer Out Control-3 ano
18 Ground × × ×
19 Ground × × ×
20 Ground × × ×
21 Ground × × ×
22 Ground × × ×
23 Ground × × ×
24 Ground × × ×
25 Ground × × ×
pc3706

Obrázek 6: Základní deska staršího typu (AT s volitelným ATX napájením), která má paralelní port vyveden nikoli přímo na externí konektor, ale na skupinu pinů, které jsou s konektorem propojeny krátkým kabelem. Na tomto obrázku jsou piny pro připojení paralelního portu označeny zeleně, modře jsou orámovány piny pro dvojici sériových portů a červeně piny pro gameport (sem se připojuje joystick či MIDI).

4. Elektrické charakteristiky a způsob napájení připojených zařízení

Vstupní i výstupní signály paralelního portu (a samozřejmě i rozhraní Centronics) jsou v dostatečné míře kompatibilní s TTL logikou, i když samotné čipy, které port řídí, již v současnosti nejsou v TTL technologii vyráběny. Logická jednička odpovídá signálu o napětí větším než 2,4 V, logická nula je představována signálem s napětím menším než cca 0,4 V. Původní paralelní port měl poměrně malou zatížitelnost datových výstupů: při nastavení logické jedničky se mohl odebírat proud maximálně 2,6 mA (některé čipy dokonce zaručovaly pouze 2 mA), při nastavení logické nuly mohl vstupem protékat proud až 24 mA. Zatížitelnost řídicích výstupů byla ještě menší, cca 1 mA. V praxi to znamenalo, že se na paralelní port většinou nedaly bezpečně připojit v té době běžné LED, musely se použít buď jednoduché jednotranzistorové (invertující) zesilovače nebo logické invertory s velkou zatížitelností (ostatně zapojení invertorů či záchytných registrů na paralelní port bylo vcelku rozumné opatření vedoucí k ochraně paralelního portu před jeho zničením při „bastlení“).

pc3707

Obrázek 7: V případě, že konektor pro paralelní port není na základní desce vyveden nebo je zapotřebí použít portů více (například pro připojení měřicích přístrojů, skeneru nebo druhé tiskárny), lze do počítače přidat rozšiřující kartu. Karta zobrazená na sedmém obrázku rozšiřuje externí rozhraní počítače hned o dva paralelní porty – první konektor je umístěn přímo na kartě, druhý na „čelíčku“ připojenému ke kartě pomocí kabelu.

Povšimněte si, že na paralelní port není vyvedeno žádné napájecí napětí. Většina zařízení pro svoji činnost vyžaduje napájení alespoň 5 V (jedná se například o různé mikrořadiče, aktivní A/D a D/A převodníky, záchytné registry atd.), to však na samotném paralelním portu nenajdeme (nutno říci, že někdy je 5 V vyvedeno na výstup nSelect-Printer (pull-up), avšak ne vždy se na to dá spolehnout). Z tohoto důvodu bývají zařízení připojená na paralelní port vybavena buď vlastním zdrojem nebo nábojovou pumpou (například se jedná o některé mobilní programátory pamětí). U zařízení vyráběných pro vlastní potřebu je také možné využít malého triku – napětí 5 V lze získat z joystickového portu (popíšeme si ho někdy příště), popř. lze získat napětí až 12 V z portu sériového, i když s poněkud vyšším rizikem (například u některých notebooků je skutečné napětí přivedené na piny sériového portu nižší). Potíž s neexistencí napájecího napětí se zaručenou proudovou zátěží byl uspokojivě vyřešen až u sériové universální sběrnice USB.

pc3708

Obrázek 8: Obě varianty konektorů paralelního portu – DB25F i DB25M.

5. Standardní režim paralelního portu – jednosměrný přenos dat s handshakingem

Nyní se konečně dostáváme k popisu komunikace počítače s nějakým zařízením připojeným na paralelní port. Nejdříve se zaměříme na vysvětlení, jakým způsobem počítač posílá data na tiskárnu, která je vybavena standardním rozhraním Centronics. Na devátém obrázku je zobrazeno schéma propojení paralelního portu s konektorem DB-25 s rozhraním Centronics, které používá konektor s 36 piny. Ze schématu je patrné, že i když jsou oba konektory konstrukčně zcela odlišné a mají i rozdílný počet pinů, je propojení realizováno bez nutnosti použití složitější řídicí logiky, i napěťové úrovně jsou vzájemně slučitelné. Také můžeme vidět, že jsou využity všechny piny paralelního portu. Přes vodiče DATA 0 až DATA 7 se do tiskárny přenáší kódy jednotlivých znaků, které se mají tisknout, i řídicích kódů (přesun na nový řádek, přesun na tabelační zarážku, přechod na novou stránku). Samotný význam posílaných znaků se liší podle toho, zda tiskárna pracuje v režimu kompatibility s tiskárnami Epson, akceptuje jazyk PostScript, HP-GL, surová bitmapová data atd. Další signály mají následující význam:

Pin Jméno signálu Význam
1 nStrobe inverzní puls o délce 500ns tiskárně potvrzuje, že na datových pinech jsou platná data
10 nAck inverzním pulsem o délce cca 8ms tiskárna potvrdí, že data přijala, napojeno na přerušení
11 Busy tento signál má úroveň logické jedničky po dobu přenosu dat
12 Paper-Out tímto signálem tiskárna posílá informaci o tom, že nemá papír
13 Select signál je nastaven na logickou jedničku, pokud je tiskárna připojena
14 Linefeed rozlišení, zda počítač bude pro odřádkování posílat dvojici znaků CR a LF
15 nError tímto signálem tiskárna posílá informaci o chybě (jakákoli chyba kromě došlého papíru)
16 nInitialize inicializace tiskárny (reset)
17 nSelect-Printer výběr tiskárny (signál je invertovaný, reaguje se na nulovou úroveň)
pc3709

Obrázek 9: Propojení paralelního portu s konektorem Centronics.

Samotný přenos dat je realizován způsobem, pro nějž se vžil termín handshaking („potřásání rukou“), který je založen na řízení přenosu počítačem, ovšem s tím, že tiskárna si sama podle své rychlosti určuje, kdy může přijmout další znak. Předpokládejme, že již před přenosem dat došlo k inicializaci tiskárny pomocí signálů nInitialize a nSelect-Printer. Jeden znak či bajt je přenesen následující sekvencí signálů:

  1. Počítač nejdříve na datové vodiče pošle všech osm bitů a chvíli počká na ustálení úrovní.
  2. Inverzním pulsem o délce cca 500ns na vodiči nStrobe počítač tiskárně signalizuje, že data na datových vodičích jsou platná a tiskárna může zahájit jejich čtení.
  3. Tiskárna začne data načítat, což zpětně počítači signalizuje tak, že nastaví hodnotu na vodiči Busy do úrovně logické jedničky. Čas načítání dat může být poměrně dlouhý v závislosti na kapacitě bufferu tiskárny, rychlosti tisku apod.
  4. Po přečtení bajtu tiskárna nastaví na vodiči Busy logickou nulu a zhruba ve stejné chvíli (časování se může poněkud lišit) vyšle na vodič nAck inverzní puls o délce cca 8ms – tím je přenos bajtu potvrzen a počítač může pokračovat v zápisu dalšího bajtu. Změna logické úrovně na vodiči nAck se může projevit vyvoláním přerušení.
pc3710

Obrázek 10: Základní režim přenosu dat po paralelním portu, který je kompatibilní s rozhraním Centronics.

6. Další způsoby využití paralelního portu

Výše popsaný způsob přenosu dat vyhovuje především potřebám těch zařízení, které musí rozpoznávat jednotlivé znaky či bajty, přičemž je nutné rychlost přenosu dat adaptivně měnit. Je možné ho použít například pro ovládání znakového či rastrového LCD, protože rozhraní těchto (pro mnoho aplikací velmi užitečných) displejů bývá pro paralelní přenos dat uzpůsobeno. Na jedenáctém obrázku je zobrazen velmi jednoduchý prototyp LCD ovládaného přes paralelní port. Všimněte si, že vzhledem k neexistenci vyvedeného napájecího napětí na paralelním portu bylo nutné použít externí napájecí zdroj, zde konkrétně devítivoltovou baterii, jejíž napětí se snižuje na požadovanou hodnotu přes odporový dělič. Programové rozhraní podobných jedno až čtyřřádkových LCD je poměrně jednoduché – pomocí řídicích kódů posílaných po jednotlivých bajtech je možné celý displej smazat, vypisovat na něj jednotlivé znaky, mazat znaky a pohybovat kurzorem doleva a doprava.

pc3711

Obrázek 11: Ovládání dvouřádkového LCD přes paralelní port.

V některých případech však není nutné rozeznávat jednotlivé bajty posílané na paralelní port jako samostatné entity, ale je možné považovat hodnoty na datových vodičích za v čase proměnný digitální signál. Příkladem může být například „zvuková karta“, která je známá pod označením Covox. Ve skutečnosti se o žádnou kartu nejedná, jde o velmi jednoduchý osmibitový digitálně-analogový převodník (A/D) realizovaný většinou pomocí sady rezistorů připojených na datové piny paralelního portu – viz obrázek 12. Jsou možné i další způsoby zapojení, například se použijí rezistory stejné hodnoty, které jsou zapojeny vždy mezi dvojici sousedních datových pinů, lze použít již hotový A/D převodník atd.

pc3712

Obrázek 12: V minulosti velmi populární „zvuková karta“ Covox.

Princip práce Covoxu je velmi jednoduchý – digitální zvukový signál přivedený na datové piny je převeden na signál analogový (na rezistoru R9 se sečtou proudy odpovídající vahám a konkrétním hodnotám jednotlivých bitů; proudu protékajícím tímto rezistorem samozřejmě odpovídá i napětí na jeho nožkách) a na výstupu dostaneme poměrně kvalitní analogový signál připojitelný do zesilovače. V dobách počítačů s procesory 286, kdy i ta nejjednodušší zvuková karta stála několik tisíc, se jednalo o schůdné řešení, ostatně Covox byl podporovaný i v některých hrách a přehrávačích (na druhou stranu u mé 286 jsem po zesílení signálu z Covoxu slyšel i rozbíhání pevného disku, rušení mohlo být velké a audiofilové by z osmibitového zvuku také nebyli příliš nadšeni). Existuje i stereo verze založená na dvojici A/D převodníků doplněných o záchytné registry, jejichž vstupy jsou přepínané některým z řídicích vodičů. Vzorkovací frekvence může být vysoká, není problém dosáhnout obvyklých hodnot 44,1 či 48 kHz.

7. Programové řízení paralelního portu

Programové řízení paralelního portu je poměrně snadné a přímočaré. Port je ovládán pomocí trojice osmibitových registrů, které jsou mapovány do I/O oblasti procesoru. Ve standardním režimu je stavový registr určený pouze pro čtení (jeho obsah reflektuje logickou úroveň na pinech, které ovládá tiskárna) a řídicí registr je naopak určen pouze pro zápis. Jakýkoli zápis na datový či řídicí registr vede k tomu, že se příslušné hodnoty objeví na pinech portu. V závislosti na tom, o který port se jedná (v počítači je možné mít paralelních portů více), se používají následující adresy v I/O oblasti:

Registr LPT1 LPT2
datový registr 0×378 0×278
stavový registr 0×379 0×279
řídicí registr 0×37a 0×27a
pc3713

Obrázek 13: Vztah mezi piny paralelního portu a třemi I/O adresami, kterými se port řídí.

Pod MS-DOSem, Windows 95 či Windows 98 je možné s paralelním portem pracovat přímo pomocí instrukcí mikroprocesoru in a out (v Céčku se jedná o funkce či makra inb() a outb()). V operačním systému Windows NT, Windows 2000 nebo Windows XP je nutné pro ovládání vlastního zařízení použít ovladač běžící v ringu 0, který bude vhodným způsobem komunikovat s ovládací aplikací v uživatelském prostoru. Tvorba ovladače je poměrně složitá (hotové ovladače jsou naproti tomu drahé). Pokud připojené zařízení komunikuje s počítačem stejným způsobem jako tiskárna (viz pátá kapitola), je možné si práci ulehčit a použít ovladač generické tiskárny (Generic Printer) a na ni posílat z uživatelského prostoru data (znaky, řetězce) pomocí běžných funkcí WinAPI.

Čtenáře tohoto článku však pravděpodobně bude zajímat práce s paralelním portem v Linuxu. Port je možné ovládat i z uživatelského prostoru bez nutnosti psát si driver, ovšem pouze v případě, že daný program bude spouštěn pod rootem nebo bude mít při spuštění práva roota. Existuje ještě jedno omezení pro paralelní port ovládaný z uživatelského programu – nelze použít DMA (to si popíšeme příště) ani přerušení, takže komunikace musí probíhat v aktivním režimu (s případnými čekacími smyčkami).

První způsob ovládání spočívá ve využití funkcí deklarovaných v hlavičkovém souboru asm/io.h (popř. použijte soubor sys/io.h). Především se jedná o funkci ioperm(from, num, turn_on), pomocí které si lze vynutit přístup k I/O adresám od hodnoty from (zde by se použila například adresa 0×378). Počet zpřístupněných adres je dán hodnotou num (nám postačují tři za sebou jdoucí adresy), parametrem turn_on se specifikuje, zda o přístup k I/O adresám žádáme (hodnota odlišná od nuly) či naopak daný rozsah I/O adres uvolňujeme pro další aplikaci (nulová hodnota). Po získání přístupu k danému rozsahu I/O adres je možné použít tyto funkce a makra (v případě paralelního portu bych doporučil jen přístup po bajtech):

inb(adresa)
outb(osmibitová_hodnota, adresa) - pozor, parametry jsou oproti očekávání otočeny
inw(šestnáctibitová_hodnota)
outw(hodnota, adresa)
inb_p(), outb_p(), inw_p(), and outw_p() - makra s krátkým čekáním (navíc se provádí čtení z portu 0x80, což procesor nepatrně zdrží) 

Druhý způsob práce s portem spočívá v otevření zařízení dev/port funkcí open(), provedení fseek() na příslušnou I/O adresu (0×378 apod.) s následným voláním klasických funkcí read() a write(). Tento způsob je poněkud pomalejší a navíc vyžaduje rootovská práva pro přístup k zařízení /dev/port. Tato práva je velmi nebezpečné někomu přidělit, protože přes I/O adresy je možné ovládat například síťové karty, řadiče pevných disků atd., což samozřejmě představuje velké bezpečnostní riziko.

Třetí způsob lze využít v případě, že zařízení komunikuje stejným způsobem jako tiskárna (viz pátá kapitola). Zde je situace nejjednodušší – skutečně se budeme k zařízení chovat jako k běžné tiskárně a ovládat ho tedy pomocí běžných vstupně-výstupních operací z prakticky jakéhokoli jazyka či aplikace. Jen je nutné dát pozor na to, aby port nebyl nastaven do režimu ECP či EPP, v tom případě je totiž přenosový protokol odlišný od standardního protokolu popsaného v páté kapitole.

8. Odkazy na Internetu

  1. Linux I/O port programming mini-HOWTO
    http://www.faq­s.org/docs/Li­nux-mini/IO-Port-Programming.html
  2. A tutorial on Parallel port Interfacing
    http://logix4u­.net/Legacy_Por­ts/Parallel_Por­t/A_tutorial_on_Pa­rallel_port_In­terfacing.html
  3. Introduction to the IEEE 1284–1994 Standard
    http://www.fa­po.com/1284in­t.htm
  4. IEEE 1284
    http://en.wiki­pedia.org/wiki/I­EEE_1284
  5. Parallel port
    http://en.wiki­pedia.org/wiki/Pa­rallel_port
  6. Interfacing the Standard Parallel Port
    http://www.be­yondlogic.org/spp/pa­rallel.htm
  7. LPT Line Print Terminal
    http://en.wiki­pedia.org/wiki/LPT
  8. IEEE Standard 1284
    http://www.un­docprint.org/for­mats/communica­tion_protocol­s/ieee_1284
  9. Jan's Parallel Port FAQ: Answers to some frequently asked questions about the PC's parallel port
    http://www.lvr­.com/jansfaq.htm
  10. Powering devices from PC parallel port
    http://www.epa­norama.net/cir­cuits/lptpower­.html

bitcoin_skoleni

9. Obsah další části seriálu

V následující části seriálu o architekturách počítačů dokončíme popis práce s paralelním portem. Řekneme si, jakým způsobem je možné paralelní port použít pro obousměrný přenos dat (data lze přenášet buď po čtyřech bitech nebo dokonce po celých bajtech, v tomto případě je však nutné využít rozšířenou variantu paralelního portu) a jakou technologií jsou řešené paralelní porty ECP a EPP. Kromě toho si také popíšeme sériový port (RS-232C), který byl původně koncipován pro připojení terminálu k modemu, posléze se však působnost jeho nasazení dosti rozšířila – na sériový port se připojovala světelná pera, myši, perové i řezací plottery, vysokorychlostní modemy, propojovaly se s ním počítače apod. Tento typ portu je také podporován v mnoha dalších zařízeních, například se pomocí něho mohou programovat regulátory motorů, nastavují se přes něj aktivní síťové prvky (Cisco), mnohé servery stále podporují terminály připojené k sériovým portům (i populární Putty tuto možnost obsahuje!) atd. Není tedy divu, že některé desktopy i notebooky tento port stále obsahují a pro ty počítače, které ho již nemají v základní výbavě, je možné dokoupit konvertor mezi USB a RS-232C či PCMCIA a RS-232C.

pc3714

Obrázek 14: Konvertor mezi USB a RS-232C (ve větším konektoru je umístěn čip zajišťující konverzi dat)

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.