Standardní externí komunikační rozhraní PC

1. 12. 1997

Sdílet

Velmi často potřebujeme přenést data z jednoho PC do druhého, ať se jedná o notebook nebo stolní počítač. O tom...


Velmi často potřebujeme přenést data z jednoho PC do druhého, ať
se jedná o notebook nebo stolní počítač. O tom, jaké se nám
k tomu naskýtají možnosti bez použití sítě, budou následující
řádky.

K jakémukoli přenosu dat, bez zásahu do počítače, můžeme použít
pouze sériový nebo paralelní port. V tomto článku se budeme
věnovat často opomíjenému paralelnímu portu.

Standard IBM LPT byl vytvořen ke komunikaci s tiskárnou "na míru"
této problematice po dohodě s výrobci tiskáren.
Jedná se o rozhraní určené pouze ke komunikaci s tiskárnou,
a nikdo nepočítal s jiným použitím. Tomu odpovídá i hardwarové
provedení a zapojení. Standardní paralelní port (dále jen SPP) je
připojen na 25pinový konektor CANNON v provedení samička
(dutinky). Obsahuje osm datových vodičů D0 až D7 umístěných na
pinech 2 až 9, dále 4 výstupní stavové vodiče a 5 vstupních. Ve
standardním provozu s tiskárnou čeká počítač na tiskárnu, až
oznámí, že je připravena přijmout další znak. Potom vyšle na
datové vodiče bity specifikující tento znak, oznámí pulsem na
pinu STROBE, že na datových vodičích je připraven další znak
a opět čeká na tiskárnu. V nejlepším případě je možné, aby během
doby, kdy tiskárna zpracovává přijatý znak, běžel hlavní program.
Toho je dosaženo pomocí využití hardwarového přerušení na pinu
/ACK (pokud je toto přerušení zapnuto v odpovídajícím registru).
SPP používá hardwarové přerušení IRQ 5 nebo IRQ 7.
V jednom počítači umožňuje BIOS až čtyři rozhraní pro tiskárnu,
tak řečená LPT. Ve skutečnosti existují pouze dvě adresy pro LPT,
buď 378H, nebo 278H. Firma HERCULES však distribuovala ve své
době velmi úspěšné grafické rozhraní doplněné o další paralelní
port, který byl umístěn na adrese 3BCH. Tato adresa byla časem
zahrnuta jako další možná adresa LPT, ale nepodporují ji všichni
výrobci. Po startu počítače prohledává BIOS uvedené adresy
v daném pořadí, a nalezne-li na nich paralelní port, přiřadí mu
číslo LPT od 1 do 3. Teoreticky by LPT1 mělo používat IRQ7
a LPT2 IRQ5, ale není to nutné.
Zde bych chtěl poznamenat, že klidně mohou všechna LPT používat
stejné IRQ zároveň se zvukovou kartou nebo modemem, a pokud
nebudou tato zařízení používána najednou, mělo by teoreticky
všechno fungovat. Ne všechny obslužné programy s tím ale
počítají, a nemají tento případ korektně ošetřen. V důsledku to
vede k tomu, že výhodnější je mít pro každé rozhraní samostatné
IRQ, nebo mít sdruženou např. zvukovou kartu a LPT na IRQ 7, což
téměř vždy funguje.
Na všech portech, které nejsou starší než dva roky, jsou tyto
parametry nastavitelné buď jumpery na desce, nebo pokud se jedná
o porty integrované na základní desce, je to možno nastavovat
v SETUPu počítače.

Různé standardy

Rozdíly v portech podle standardu SPP a EPP nebo ECP jsou
v rozšířených možnostech ECP a EPP. Hlavní novinkou je možnost
obousměrné komunikace pomocí datových bitů D0 až D7. Toho je
dosaženo pomocí změny hardwarové struktury koncové části právě
těchto vodičů. Zatímco klasické porty podle normy SPP mají
koncovou část zapojenou podle obrázku 1, je na obrázku 2 zapojení
koncové části datových bitů paralelního portu podle normy EPP
a ECP. Jak je ze zapojení patrné, rozdíly jsou pouze v nahrazení
spínacího tranzistoru na kladné napájecí napětí odporem. Ohmová
hodnota by se podle normy měla pohybovat kolem 4 700 ohmů. Navíc
je pin na obrázku 2 doplněn vstupem do vstupního registru. Díky
tomu lze tento port nastavit do režimu čtení tím, že je do něj
zapsána hodnota logických jedniček, takže tranzistory spínající
logickou úroveň 0 zůstanou rozepnuté, a i přes zakončovací odpor
lze přečíst logickou úroveň přenášenou kabelem. Tento systém,
který plně zachovává zpětnou kompatibilitu, však zároveň přináší
některé problémy, o nichž se ještě zmíním ve spojitosti
s přenosovými vlastnostmi. Popisovat softwarové ovládání není
účelem tohoto článku, takže pouze pro ilustraci uvedu, že
přečtená data se čtou na datovém portu, na nějž je prováděn zápis
poté, co jsou přidaným 5. bitem na XXX+3 (kde XXX je adresa
portu, např. 378H) nastavena do vstupného režimu (log. 1). Rozdíl
mezi porty standardu ECP a EPP se už týká téměř výhradně
softwaru. Oproti EPP přináší ECP možnost DMA přenosu, což značně
zvyšuje propustnost dat.

Přenosové vlastnosti

Jak jistě tušíte, lze tento port použít k přímému spojení
počítačů bez nutnosti osazení síťové karty a instalování
speciálního síťového softwaru. Pomocí paralelního portu lze
přenášet data v průměru 3x až 4x rychleji než pomocí sériového
rozhraní. Komunikační kabel má však výrazně omezenou délku.
Vzhledem k tomu, že veškerá komunikace probíhá pomocí napěťových
úrovní 5V a nikoli proudovou smyčkou, jsou kabely delší než 1m
velmi náchylné k rušení. Přesto lze po dodržení určitých zásad
používat až 10 m dlouhé kabely pro komunikaci po paralelním
portu, viz Zásady pro vytvoření maximálně odolných komunikačních
kabelů. Bohužel jsem se dosud nesetkal s programem typu Laplink,
který by možnost obousměrnosti datových vodičů standardu EPP
a ECP využíval, a všeobecně je podporován pouze komunikační
kabel, který byl původně implementován v programu Interlink
v DOSu. Osobně se mi s tímto kabelem osvědčily tyto programy :
Manažer 602 od verze 2.0, Norton Commander od verze 4.0
a LapLink. Na Internetu lze dokonce najít software EASYNET, který
umožňuje pomocí paralelního portu emulovat IPX kompatibilní síť
mezi dvěma počítači. V tomto směru však paralelní port
nedoporučuji, vynikající je na občasný přenos dat např. do
notebooku nebo podobně, ale v žádném případě nemůže nahradit
počítačovou síť, jejíž cena se dnes v porovnání s cenou softwaru
stává zanedbatelnou.

ECP, EPP nebo SPP?

Porty nových standardů sice drží zpětnou kompatibilitu na úrovni
hardwaru, ale vzhledem k nutným změnám se může snadno stát, že
např. při delším kabelu (nad 3m) k tiskárně by nemusely
s některými tiskárnami naprosto spolehlivě fungovat. Navíc ne
všechny tiskárny skutečně využívají nové možnosti obousměrné
komunikace. Nejčastějším viníkem nekompatibility je však špatně
napsaný software pro komunikaci PC s tiskárnou, který mnohdy
nepočítal s existencí rozšiřujících bitů, takže občas přepne směr
toku dat atd. Po zkušenostech i s renomovanými firmami mohu říci,
že pokud port používáte opravdu pouze pro tiskárnu, klidně
zapněte v SETUPu pouze SPP režim. ECP a EPP mod můžete kdykoli
vyzkoušet, ale při prvních komplikacích hledejte chybu zde.
Pokud však na paralelním portu používáte nejrůznější komunikační
média typu CD-ROM, JAZZ Drive, ZIP drive, paralelní modem atd. má
pro vás režim ECP opodstatnění a aktivujte si jej. Přenosovou
rychlost tím lze až zdvojnásobit.


Zásady pro vytváření komunikačních kabelů.

Pro jakýkoli datový kabel a pro kabel na paralelní port dvojnásob
-- platí, že každý datový vodič by měl být od sousedního kryt
zemním vodičem nebo stíněním. Vyhnete se tak "přeslechům" mezi
jednotlivými datovými vodiči a kabel bude možno používat pro
vyšší přenosovou rychlost i na větší vzdálenost. Pokud používáte
plochý vodič, vyplývá toto doporučení už z vlastního zapojení
pinů paralelního portu. Pokud používáte svazek vodičů, je
optimální použití kabelu, kde jsou vždy dvě žíly smotány
dohromady, a jednu z nich použít jako další zemní vodič. Toto by
se mělo dodržovat alespoň u datových vodičů.

Pozor na použití zásuvek mezi spojovanými zařízeními.

Každý standardní počítač třídy PC má na svůj kryt, stejně jako na
uzemňovací pin, přiveden ze zásuvky rozvodu 220 V střední
ochranný kolík. Ten však bývá většinou v zásuvce spojen
s pracovním nulový vodičem. Pokud máte dvě PC, která hodláte
propojit komunikačním kabelem každé v jiné zásuvce, může se stát,
že každé bude připojeno na jinou větev bytového zásuvkového
rozvodu. Tyto větve jsou sice vodivě spojeny v rozvodové skříňce,
ale na jedné je třeba připojena pračka nebo podobné zařízení,
které odebírá značný příkon, díky čemuž poklesne za tímto
výkonným spotřebičem napětí. Pokud jde o jednorázový impuls, může
se jednat o napěťový impuls řádu desítek voltů. Tento rozdíl
napětí se potom objeví na vstupu druhého počítače, připojeného na
jinou napájecí větev, a tam může VELMI SNADNO zničit nejenom
paralelní nebo sériový port, ale často i řadič disku nebo
podobně. Proto je dobré spojovat kabely pouze zařízení napájená
ze stejné zásuvky, nebo alespoň spojená přímo prodlužovací
šňůrou. To platí i o spojování s tiskárnou, monitorem, notebookem
a podobně. V případě některých notebooků je dokonce mnohdy
nejjistější nechat je po dobu přenosu dat běžet pouze na
akumulátory. Toto nebezpečí je však u moderních notebooků
minimální.


7 0xxx/CID

Autor článku