• Paralelní a sériové rozhraní. Počítač. Skvělý návod na opravy, montáž a modernizaci


    Během dlouhé historie vývoje osobní počítače paralelní port (paralelní port), který se často nazývá port tiskárny(port tiskárny) zůstává nejrychlejším a nejspolehlivějším způsobem připojení tiskárny a dalších zařízení k počítači. Paralelní přenos osmi datových bitů a automatické řízení datového toku se signály potvrzení(handshaking) činí externí obvody pro dekódování dat a řídicích signálů nepotřebnými. Paralelní porty jsou široce používány díky své jednoduchosti a vysokému výkonu. A co víc, paralelní port umožňuje až 9 bitů na vstup a až 12 bitů na výstup současně, což vyžaduje minimální externí obvody pro provádění mnoha jednoduchých úkolů.

    Standardní paralelní port (SPP)

    Standardní paralelní port(Standardní paralelní port - SPP) je na zadní straně počítače opatřen 25kolíkovým děrovaným konektorem typu D. Kabel pro tento konektor má na druhém konci obvykle 34kolíkový konektor určený pro připojení k tiskárně. Je to paralelní port PC, který je často označován jako port tiskárny(port tiskárny). Na obrázku jsou konektory a kabel pro připojení tiskárny. Vlevo je kolíkový konektor pro paralelní port PC a vpravo konektor tiskárny.

    Počítač má čtyři řídicí řádky ( CONTROL), pět stavových řádků ( STATUS) a osm datových řádků ( DATA). Dané skupiny signálů jsou dostupné prostřednictvím příslušných registrů, které se často také nazývají porty. Zbývajících osm pinů je uzemněno.

    Novější paralelní porty jsou definovány standardem IEEE 1284, který byl publikován v roce 1994. Tento standard definuje pět režimů provozu:

      1. Režim kompatibility.
      2. Režim Tetrad (Nibble Mode).
      3. Byte Mode.
      4. Rozšířený režim paralelního portu – EPP).
      5. Režim portu rozšířených schopností - ECP).

    Účelem standardu bylo vyvinout nové ovladače a zařízení vzájemně kompatibilní a zpětně kompatibilní se standardním paralelním portem (Standard Parallel Port - SPP). Režimy Compatibility, Tetrad a Byte používají standardní obvody na původních kartách s paralelním portem, zatímco režimy EPP a ECP vyžadují další obvody, které jsou rychlejší, ale stále zpětně kompatibilní se standardním paralelním portem.

    v režimu kompatibility, popř Režim Centronics, jak se obvykle říká, data lze přenášet pouze v dopředném směru, tzn. výstup data, s typickou rychlostí asi 50 KB/s, ale jsou možné i vyšší rychlosti až 150 KB/s. Chcete-li zadat data, musíte přepnout do režimu tetrad nebo byte. Režim notebooku to umožňuje vstoupit tetrády (4 bity) ze zařízení do PC. Byte režim využívá obousměrné prostředky (dostupné pouze na některých kartách) pro zadávání bajtů (8 bitů).

    Porty EPP a ECP používají další obvody k ovládání a generování handshake. Výstup bajtu na tiskárnu v režimu kompatibility program musí udělat následující:

    1. Zapište bajt na datový port.
    2. Zkontrolujte, zda není tiskárna zaneprázdněna. Pokud je tiskárna zaneprázdněná, nepřijímá žádná data, takže veškerá data na ní zapsaná jsou ztracena.
    3. Výstup signálu Strobe (pin 1) je nízký. Informuje tiskárnu, že na datových linkách (piny 2-9) jsou platná data.
    4. Nainstalujte vysoká úroveň záblesk počkejte přibližně 5 µs po snížení hodnoty (v kroku 3).

    Softwarové řízení výstupu omezuje rychlost standardního paralelního portu. Pokročilejší porty EPP a ECP tento problém řeší tím, že umožňují obvodům kontrolovat, zda je tiskárna zaneprázdněna, a generovat stroboskopické signály a/nebo vhodné signály handshake. Díky tomu je potřeba provést pouze jeden výstupní příkaz, což zvyšuje rychlost provozu. Nové porty mohou vydávat data rychlostí 1-2 MB/s. Port ECP navíc využívá kanály přímého přístupu do paměti (Direct Memory Access - DMA) a nárazníky FIFO(First In - First Out), takže data lze přenášet bez použití výstupních příkazů.

    Hardware

    Následující tabulka ukazuje vývody pro 25kolíkový konektor typu D na počítači a 34kolíkový konektor Centronics, který se běžně vyskytuje na tiskárnách. Standard IEEE 1284 však definuje tři různé konektory pro použití s ​​paralelním portem. První konektor 1284 typu A je konvenční 25kolíkový konektor typu D. Druhý 36pinový konektor 1284 typu B je konektor Centronics. Třetí konektor IEEE 1284 typu C je 36kolíkový konektor podobný konektoru Centronics, ale menší. Má nejlepší držák, nejlepší elektrické parametry a je jednodušší k němu připojit kabel. Pro kontrolu zapnutého stavu zařízení lze použít dva další signály. Tento konektor je považován za slibný pro použití v novém vývoji.

    Kontakt #
    (D-25)
    Kontaktní číslo (Centronics) signál SPP Směr Registrovat Hardware
    obrácený
    1 1 nStrobe Zadejte výstup Kancelář Ano
    2 2 Údaje 0 Výstup Data
    3 3 Údaje 1 Výstup Data
    4 4 Údaje 2 Výstup Data
    5 5 Údaje 3 Výstup Data
    6 6 Údaje 4 Výstup Data
    7 7 Údaje 5 Výstup Data
    8 8 Údaje 6 Výstup Data
    9 9 Údaje 7 Výstup Data
    10 10 nAck Vchod státy
    11 11 Zaneprázdněný Vchod státy Ano
    12 12 Došel papír / Konec papíru Vchod státy
    13 13 Vybrat Vchod státy
    14 14 nAutomatický posun řádku Zadejte výstup Kancelář Ano
    15 32 nChyba / nFault Vchod státy
    16 31 nInicializovat Zadejte výstup Kancelář
    17 36 nSelect-Printer / nSelect-In Zadejte výstup Kancelář Ano
    18 - 25 19-30 Země Země

    Dopis n před názvem signálu se rozumí například signál s nízkou úrovní aktivity nChyba. Pokud má tiskárna chybu, tento řádek bude nízký. Obvykle je vysoká, což ukazuje na správnou funkci tiskárny. Slova "hardware inverted" znamenají, že signál je invertován obvody paralelního portu. Příkladem je zde linka Zaneprázdněný. Pokud je na tento řádek přivedeno +5 V (logická 1) a je přečten stavový registr, je tato úroveň vrácena jako 0 v bitu 7 stavového registru.

    Signály paralelního portu jsou reprezentovány normálními úrovněmi TTL. Většina paralelních portů je implementována na základě specializovaného mikroobvodu, který odvádí (Sink) a dává (Source) proud asi 12 mA. V referenčních datech se však mohou objevit i jiné hodnoty, například Sink/Source 6 mA, Source 12 mA/Sink 20 mA, Sink 16 mA/Source 4 mA.

    Datové linky jsou skutečnými kanály, které přenášejí informace z počítače do zařízení (a ze zařízení do počítače v nových portech). Pro snížení vlivu rušení má každé datové vedení odpovídající zemnící vedení. Tyto zemnící vodiče také poskytují společnou elektrickou referenci mezi počítačem a zařízením. Zbývající linky paralelního portu jsou vyhrazeny pro ovládání a handshaking.

    Aby bylo zajištěno, že je tiskárna ve známém počátečním stavu, signál nInitialize vydaný počítačem nastaví tiskárnu do stavu, ve kterém se nachází při zapnutí tiskárny. Inicializace tiskárny signálem nInitialize je tedy ekvivalentní vypnutí a opětovnému zapnutí tiskárny.

    Signál na lince Select sdělí počítači, že periferie je v online(online) a připraveni přijímat data. Počítač neodesílá data, pokud je řádek Select nízký. Stav tohoto signálu obvykle odpovídá indikátoru „on-line“ na tiskárně.

    Když počítač vygeneruje platné datové signály na datových linkách, musí být zařízení informováno, že data jsou připravena. Právě k tomu je určen pulzní signál nStrobe, který by měl způsobit, že zařízení bude vnímat datový bajt a uloží jej do vyrovnávací paměti pro další zpracování.

    K dosažení vysokých rychlostí přenosu dat potřebuje tiskárna specifický způsob koordinace přenosů. Počítač musí čekat mezi bajty, dokud nebude tiskárna připravena obnovit příjem nových bajtů. Tiskárny používají signál Busy ke zpoždění počítače, dokud není tiskárna připravena přijmout další bajt. Tiskárna generuje vysoký signál Busy jako odpověď na signál nStrobe a tato úroveň je udržována, dokud není připravena přijmout další bajt. Všimněte si, že signál Busy může zpozdit počítač na libovolnou dobu, pokud dojde k závažné chybě, jako je uvíznutí papíru. Když tiskárna zpracuje bajt, musí požádat čekající počítač o další bajt. Tiskárna odstraní signál Busy a vydá krátký potvrzující impuls nAck. Pomocí signálů nStrobe, Busy a nAck se tedy provádí řízení (potvrzení) přenosu dat na paralelním portu.

    V některých tiskárnách řídicí znak Carriage Return (CR) automaticky přenese papír na další řádek, zatímco v jiných jednoduše vrátí vozík na začátek aktuálního řádku, aniž by papír přepravil. U mnoha tiskáren lze kteroukoli z těchto možností nastavit přepínačem, ale lze ji ovládat také pomocí signálu nAuto-LineFeed. Nízká úroveň tohoto signálu způsobí, že tiskárna automaticky přesune papír o jeden řádek, když obdrží řídicí znak CR.

    Řada nSelect-Printer umožňuje počítači vzdáleně přenést periferní zařízení do režimu online nebo offline. Většina paralelních portů udržuje tuto linku nízko, takže zařízení automaticky přijímá data. Signál vysoké úrovně na této lince deaktivuje zařízení. Signál nChyba z periferní zařízení informuje počítač, že nastal problém, který brání tisku, ale neurčuje jej. Chyba může být způsobena mnoha důvody, jejichž podrobnosti závisí na periferním zařízení. Signál nError obvykle „shromažďuje“ situace, jako je absence papíru (tento důvod je specifikován signálem Paper Out), když je tiskárna v offline(režim offline) nebo selhání vnitřního okruhu tiskárny.

    Rozhraní Centronics

    Centronics je starý standard (často označovaný jako rozhraní a protokol) pro přenos dat z počítače (hostitele) do tiskárny. Handshake tohoto standardu se používá ve většině tiskáren a je obvykle implementován v softwaru. Obrázek ukazuje zjednodušené schéma protokolu Centronics.

    Nejprve jsou data odeslána na piny 2-9 paralelního portu. Hostitel pak zkontroluje, zda je tiskárna zaneprázdněna, tzn. linka Busy by měla být nízká. Poté program vydá záblesk, počká alespoň 1 µs a záblesk odstraní. Data jsou obvykle čtena zařízením na vzestupné hraně stroboskopu. Tiskárna indikuje, že je zaneprázdněna zpracováním dat na lince Busy. Když tiskárna data přijme, potvrdí bajt záporným pulzem o délce asi 5 µs na lince nAck.

    Hostitel často ignoruje signál na lince nAck, aby ušetřil čas. Při zvažování portu s vylepšenými schopnostmi ECP se ukáže implementace režimu Fast Centronics, ve kterém se handshaking provádí v okruhu. Programátor potřebuje pouze zapsat bajt dat na I/O port. Obvody zkontrolují, zda je tiskárna zaneprázdněna, a vytvoří blesk. Všimněte si, že v tomto režimu není řízena linka nAck.

    Adresy portů

    Paralelní port má tři společné základní adresy, které jsou uvedeny v následující tabulce. Základní adresa 3BCh byla původně zavedena pro paralelní porty na prvních grafických kartách. Po odstranění paralelních portů z grafických karet tato adresa zmizela. Následně se objevil jako možnost pro paralelní porty integrované do základních desek, kde lze konfiguraci měnit pomocí BIOSu. Jménu LPT1 je obvykle přiřazena základní adresa 378h a LPT2 je obvykle přiřazena základní adresa 278h. Níže však bude ukázáno, že tomu tak není vždy. Adresy 378h a 278h se téměř vždy používají pro paralelní porty, ale mohou se změnit z PC na PC.

    Při zapnutí BIOS počítače určuje počet dostupných portů a pojmenovává je LPT1, LPT2 a LPT3. BIOS nejprve přistupuje k adrese 3BCh. Pokud se tam najde paralelní port, dostane jméno LPT1 a následně se zkontroluje adresa 378h. Pokud je zde nalezen paralelní port, je mu přidělen další dostupný název. Bude to LPT1, pokud nebyla na adrese 3BCh nalezena žádná karta, nebo LPT2, pokud karta nebyla nalezena. Port na adrese 278h se kontroluje stejným způsobem. V důsledku toho můžete mít LPT2 na adrese 378h spíše než na očekávané adrese 278h.

    Situaci komplikuje skutečnost, že někteří výrobci karet s paralelním portem instalují propojky, které umožňují nakonfigurovat port na LPT1, LPT2, LPT3. Jaká je nyní adresa LPT1? Většina karet má LPT1 při 378h a LPT2 při 278h, ale některé používají 3BCh jako LPT1, 378h jako LPT1 a 278h jako LPT2.

    U rozhraní s portem se místo názvu často používá základní adresa, spíše než názvy LPT1 atd. Tabulka adres portu je v oblasti data systému BIOS. Když systém BIOS přiřadí adresy tiskovým zařízením, uloží adresy do konkrétních paměťových míst a lze je tam najít. Poznámka * : V nový BIOS adresu 0000:040E z datové oblasti BIOS lze použít jako rozšířenou datovou oblast BIOS.

    Softwarové registry (porty) standardního paralelního portu

    Datový port

    Zaujatost název Číst psát bitů Účel
    Základ + 0 Datový port Napsat( * ) Bit 7-0Údaje 7 - 0

    Poznámka * : Pokud je port obousměrný, jsou povoleny operace čtení (vstup) a zápisu (výstup).

    Základní adresa, běžně označovaná jako datový port nebo datový registr, se jednoduše používá k výstupu dat na datových linkách (piny 2-9) paralelního portu. Normálně je tento registr pouze pro zápis. Při čtení z portu se zadává poslední přenesený bajt. V případě obousměrného portu (viz níže) jsou přijímaná data umístěna na této adrese.

    Stavový port

    Stavový port je pouze pro čtení, takže všechna data na něj zapsaná jsou ignorována. Port má pět vstupních linek (piny 10, 11, 12, 13 a 15), bit IRQ a dva vyhrazené bity. Bit 7 (Busy) je vstup s nízkou aktivitou, tzn. pokud bit 7 obsahuje 0, pak je na pinu 11 přítomno +5 V. Bit 2 (nIRQ) také funguje - pokud bit obsahuje 1, pak nenastalo žádné přerušení.

    Port pro správu

    Port pro správu (základní adresa + 2) byl pouze pro zápis. Při připojení k paralelnímu portu tiskárny se používají čtyři řídicí signály: Strobe (bit 0), Auto Linefeed (bit 1), Reset inicializace (bit 2) a Select Printer (bit 3). Všechny tyto signály kromě Reset jsou invertované.

    Tiskárna nevydává signál k inicializaci počítače a neříká počítači, aby použil automatický posun řádku. Pro vstup však lze použít čtyři výše uvedené výstupy. Pokud počítač přepnul kolík na vysokou hodnotu (+5 V) a zařízení jej chce snížit na nízkou úroveň, port se zkratuje, což způsobí konflikt. Proto jsou tyto výstupy provedeny podle schématu "otevřeného kolektoru". Mají dva stavy: nízký (0V) a vysokou impedanci (rozpojený obvod).

    Karta tiskárny má obvykle vnitřní "pull-up" rezistory, ale ne všechny karty je mají. Některé karty mají pouze výstupy s otevřeným kolektorem, zatímco jiné mají normální výstupy push-pull (totem). K zajištění správného fungování zařízení s co největším počtem portů tiskárny lze použít externí rezistor. Pokud již existuje vnitřní rezistor, pak externí rezistor působí paralelně s ním a v případě výstupu push-pull jako zátěž.

    Hodnota externího odporu je typicky 4,7 kΩ. Nedoporučuje se používat menší odpor, protože karta může mít vnitřní odpor. Ve stavu vysoké impedance je kolík paralelního portu vysoký +5 V. V tomto stavu může externí zařízení snížit hodnotu a způsobit, že řídicí port načte jinou hodnotu. To umožňuje použití čtyř pinů řídicího portu pro obousměrnou komunikaci. Chcete-li však číst data přes řídicí port, musíte jej nastavit na xxxx0100, aby všechny piny byly +5 V a zařízení mohlo přejít na nízkou úroveň (zem - logická 0).

    Bity 4 a 5 jsou pro vnitřní kontrolu. Bit 4 umožňuje požadavek IRQ (viz níže) a bit 5 umožňuje obousměrný port, tzn. Na DATA linkách 0-7 lze zadat 8 bitů. Tento režim je možný pouze v případě, že jej karta podporuje. Bity 6 a 7 jsou rezervovány, jakýkoli zápis do těchto bitů je ignorován.

    Obousměrné porty

    Následující diagram ukazuje zjednodušené znázornění datového registru paralelního portu. Původní desky s paralelními porty jsou založeny na logice rodiny 74LS. Nyní se používají specializované mikroobvody, ale principy fungování zůstávají stejné.

    Neobousměrné porty jsou vydávány se signálem povolení odchodu NOEČip 74LS374 je trvale připojen k zemi, takže datový port pouze vystupuje. Při čtení z datového registru jsou data odebírána z obvodu 74LS374, který je rovněž připojen k datovým pinům. Pokud zakážete schéma 74LS374, můžete získat obousměrný port.

    U obousměrných portů je bit 5 řídicího registru připojen ke vstupu povolení výstupu. NOE obvody 74LS374, aby bylo možné zakázat (vypnout) výstupní ovladače. V tomto případě můžete číst data z datových pinů paralelního portu bez konfliktu.

    Bit 5 řídicího registru povoluje nebo zakazuje obousměrný provoz paralelního portu. Funguje pouze pro skutečné obousměrné porty. Když je tento bit nastaven na 1, kolíky 2-9 jsou umístěny ve stavu vysoké impedance. V tomto stavu můžete zadávat data na tyto řádky a číst z datového portu (základní adresy). Data zapsaná na port jsou uložena, ale nejsou dostupná na datových pinech. Chcete-li zakázat obousměrný režim, bit 5 řídicího portu musí být resetován na 0.

    Ne všechny porty však fungují stejným způsobem. Některé porty mohou vyžadovat nastavení bitu 6 řídicího portu pro povolení obousměrného režimu a zakázání bitu 5. Různí výrobci implementují své obousměrné porty různě. Pokud chcete pro vstup dat použít obousměrný port, nejprve pomocí logické sondy nebo multimetru ověřte, zda je port obousměrný.

    Použití paralelního portu pro vstup osmi bitů

    Pokud paralelní port nepodporuje obousměrný režim, stále lze zadat až devět bitů. K tomu lze použít pět vstupních linek stavového portu a čtyři vstupní linky (otevřený kolektor) řídicího portu podle následujícího schématu.

    Vstupy paralelního portu jsou zvoleny pro zjednodušení připojení. Signál Busy je MSB 7 stavového portu, za nímž následují signály Ack, Paper Out a Select stavového portu, které tvoří vysokou tetrádu. Čárky ukazují, které vstupy jsou hardwarem invertovány, tzn. +5V je čteno jako logická 0 a 0V je čteno jako logická 1. Stavový port má pouze jeden invertovaný vstup.

    Spodní tetráda je čtena z řídicího portu (Select Printer, Init, Auto Linefeed, Strobe). Zde se používají invertory s otevřeným kolektorem. To může vyžadovat 4,7 kΩ pull-up rezistory.

    Tetradový režim

    Režim Nibble je preferovaný způsob vkládání osmi bitů dat bez uvedení portu do invertovaného režimu a použití datových linek. Tento režim je nejjednodušší na implementaci. Pro střídavé čtení tetrád se používá multiplexor (čtyřnásobný 2:1). Kombinování tetrád do bajtů se provádí programově. Tato metoda je samozřejmě poněkud pomalejší než předchozí. Zde čtení jednoho bajtu vyžaduje více I/O příkazů a vyžaduje externí čip.

    Multiplexer 74LS157 funguje velmi jednoduše jako čtyři přepínače. Když vstup A/B = 0 (nízký), zvolí se vstupy A, tzn. vstup 1A je odeslán na výstup 1Y, vstup 2A na výstup 2Y atd. Když je vstup A/B 1 (vysoký), jsou vybrány vstupy B. Výstupy Y jsou připojeny ke stavovému portu paralelního portu, takže jsou tetrádou nejvyššího řádu stavového registru. I když takové spojení není nutné, program je poněkud zjednodušen.

    Použití paralelního portu IRQ

    Požadavek na přerušení paralelního portu se nepoužívá pro tisk v systému DOS. Přerušení jsou vhodná pro zařízení, jejichž doba aktivace není známa, jako je například snímač vysoké teploty. V tomto případě je efektivnější pracovat na přerušení, než pravidelně programově dotazovat senzor. Kromě toho jsou přerušení zvláště důležitá pro multitaskingový operační systém.

    Obvykle je požadavek na přerušení paralelního portu IRQ 5 nebo IRQ 7, ale může to být i jiný. Je možné, že přerušení jsou na kartě zcela deaktivována, pokud se používá pouze pro tisk. Přerušení paralelního portu lze povolit a zakázat pomocí bitu 4 řídicího registru - povolit IRQ přes Ack linku (Enable IRQ Via Ack Line). K povolenému přerušení dochází při přechodu z nízké do vysoké (náběžná hrana) signálu nAck. Některé karty však spouštějí přerušení při přechodu z vysoké do nízké.

    Režimy paralelního portu v systému BIOS

    Většina paralelních portů jsou nyní multimodové porty. Obvykle jsou programově nakonfigurovány do jednoho z několika režimů pomocí rutin systému BIOS. Typické režimy:

      Režim tiskárny, někdy označovaný jako výchozí nebo normální režim
      Standardní a obousměrný režim (SPP)
      Režim EPP1.7 a SPP
      Režim EPP1.9 a SPP
      Režim ECP
      Režim ECP a EPP1.7
      Režim ECP a EPP1.9

    Režim tiskárny je nejjednodušší režim - odpovídá pouze výstupu standardního paralelního portu. Postrádá obousměrnou schopnost, takže bit 5 řídicího portu nemá žádný vliv. Standardní a obousměrný režim (SPP) je obousměrný. V tomto režimu bit 5 řídicího portu obrátí směr portu, takže vstupní hodnotu lze číst přes datové linky.

    Režim EPP1.7 a SPP je kombinací režimů EPP 1.7 (Enhanced Parallel Port) a SPP. Tento režim provozu umožňuje přístup do registrů SPP (datové, stavové a řídicí registry) a také přístup do registrů EPP. Ve stejném režimu můžete změnit směr portu pomocí bitu 5 řídicího registru. První verze EPP 1.7 nemusí mít bit Timeout.

    Režim EPP1.9 a SPP podobný předchozímu, ale nyní používá EPP verze 1.9. Stále poskytuje přístup k registrům SPP, včetně bitu 5 řídicího portu. Tento režim se ale liší od Režim EPP1.7 a SPP přístupem k bitu Timeout na portu EPP.

    Režim ECP poskytuje port Extended Capabilities Port. Režim tohoto portu lze poté nastavit pomocí registru ECR (Extended Control Register) portu ECP. V tomto režimu však z BIOSu Režim EPP(100) nebude k dispozici.

    Režim ECP a EPP1.7 A Režim ECP a EPP1.9 poskytuje port s rozšířenými schopnostmi ECP, jako v předchozím režimu. nicméně Režim EPP v registru ECR portu ECP je nyní k dispozici. V Režim ECP a EPP1.7 máte k dispozici port EPP1.7 a Režim ECP a EPP1.9- Port EPP1.9.

    Uvažované režimy se konfigurují prostřednictvím systému BIOS. Uživatel může překonfigurovat svůj program, ale udělejte to Nedoporučeno. Softwarové registry na adresách 2FAh, 3F0h, 3F1h jsou určeny pouze pro přístup z BIOSu. Pro tyto konfigurační registry není stanoven žádný standard, proto je použijte aplikačního programu se stává špatně přenosným (přenosným).

    Mnohem lepší je vybrat si z BIOSu Režim ECP a EPP1.7 nebo Režim ECP a EPP1.9 a poté použijte rozšířený řídicí registr portu ECP k nastavení režimu paralelního portu. V režimu EPP1.7 došlo k několika problémům s generováním dat a adresových záblesků pro spuštění smyčky bez ohledu na stavy čekání, takže tento režim se v současné době nepoužívá. Nejlepší je nastavit paralelní port na Režim ECP a EPP1.9.

    Režimy paralelního portu a rozšířený registr řízení portu ECP

    Dříve bylo ukázáno, že se doporučuje nastavit paralelní port na Režim ECP a EPP1.9 a poté použijte rozšířený řídicí registr portu ECP k výběru různých režimů provozu. Registry portů ECP jsou standardizovány společností Microsoft.

    bitů Funkce
    7:5
    000 Standardní režim
    001 Bytový režim
    010
    011 Režim ECP FIFO
    100 Režim EPP
    101 Rezervováno
    110 Testovací režim FIFO
    111 Režim konfigurace
    4 Bit přerušení ECP
    3 Bit povolení DMA
    2 Servisní bit ECP
    1 FIFO je plné (Full)
    0 FIFO prázdné (prázdné)

    Při instalaci Režim ECP nová sada registrů je k dispozici na Base + 400h. Jejich podrobný popis je uveden v materiálu o portu ECP, zde však potřebujeme pouze rozšířený řídicí registr na adrese Base + 402h. Formát tohoto registru je uveden v tabulce vlevo. Všimněte si, že registry ECP nejsou dostupné pro port se základní adresou 3BCh.

    Nás zatím zajímají pouze tři nejvýznamnější bity rozšířeného řídicího registru, které určují režim činnosti. Existuje sedm možných režimů provozu, ale ne všechny porty podporují všechny režimy. Některé porty například nejsou podporovány Režim EPP. Následující tabulka poskytuje podrobnější informace o provozních režimech.

    Provozní režimy

    Standardní režim
    Bytový režim
    Paralelní port Režim FIFO
    Režim ECP FIFO
    Režim EPP /Rezervováno Podle Rozšířené možnosti Port Protocol a ISA Interface Standard
    RezervovánoPři rezervaci. - Podle
    Testovací režim FIFO
    Režim konfigurace

    Pokud je v BIOSu nastaven režim ECP nebo je karta nakonfigurována propojkou na ECP, doporučuje se před použitím inicializovat port ECP do předdefinovaného stavu. Při použití SPP je první věcí, kterou musíte udělat, je nastavit port na standardní režim. Nelze předpokládat, že port již bude ve standardním (SPP) režimu.

    V některých režimech mohou registry SPP zmizet nebo nemusí fungovat správně. Při použití SPP musíte nastavit registr ECR do standardního režimu.

    Rozšířený paralelní port (EPP)

    Vylepšený paralelní port(Vylepšený paralelní port - CHYBOVAT) byl vyvinut společnostmi Intel, Xircom a Zenith Data Systems. Porty EPP byly nejprve definovány ve standardu EPP 1.7 a později zahrnuty do standardu IEEE 1284 (1994). Port EPP má dva standardy EPP 1.7 a EPP 1.9. Jsou mezi nimi rozdíly, které mohou ovlivnit činnost zařízení (viz níže). Rychlost přenosu dat je od 500 KB/s do 2 MB/s. Toho je dosaženo tím, že handshaking, strobing a další operace jsou generovány obvody portu, a ne programově, jako v rozhraní Centronics.

    Hobbyisté obvykle používají port EPP častěji než port Extended Capabilities Port (ECP). Port EPP se liší od portu ECP v tom, že port EPP generuje a řídí všechny přenosy do/z periferie. Na druhou stranu port ECP vyžaduje, aby periferie potvrdila zpětný kanál a zvládla handshake. Toho se s obyčejným těžko dosáhne jednoduchá schémata a vyžaduje vyhrazený řadič nebo periferní čip ECP.

    Hardware

    V režimu EPP jsou každému řádku přiřazeny různé funkce a symboly, jak ukazuje následující tabulka.

    Kontakt signál SPP signál EPP Zadejte výstup Funkce
    1 stroboskopNapsat VýstupNízká úroveň na tomto řádku označuje zápis a vysoká úroveň označuje čtení
    2-9 Údaje 0-7 Údaje 0-7Zadejte výstup Obousměrná datová sběrnice.
    10 Ack PřerušitVchod Break line. K přerušení dochází na kladné (stoupající) hraně.
    11 Zaneprázdněný PočkejteVchod Slouží k potvrzení. Cyklus EPP může začít na nízké úrovni a skončit na vysoké úrovni.
    12 Došel papír/konec NáhradníVchod
    13 Vybrat NáhradníVchod Rezervováno – nepoužívá se v EPP handshake.
    14 Automatický posun řádku datový bleskVýstup Když je nízká, indikuje přenos dat.
    15 Chyba/chyba NáhradníVchod Rezervováno – nepoužívá se v EPP handshake.
    16 Inicializovat resetovatVýstup Resetujte s nízkou aktivitou.
    17 Vyberte položku Tiskárna Adresa StrobeVýstup Když je nízká, indikuje přenos adresy.
    18-25 Země ZeměGNDZemě

    Signály Paper Out, Select a Error nejsou v EPP handshake definovány a uživatel může použít odpovídající řádky podle svého uvážení. Stavy těchto řádků lze kdykoli zjistit načtením stavového registru. Bohužel neexistují žádné záložní východy, což může způsobit určité potíže.

    EPP port handshake

    EPP handshaking musí být respektován pro správnou komunikaci pomocí EPP portu. Vzhledem k tomu, že všechny operace jsou prováděny v obvodech, handshaking by měl používat pouze hardware, nikoli software, jako je tomu u portu SPP. K zahájení cyklu EPP musí program provést pouze jednu I/O operaci s odpovídajícím registrem EPP (další podrobnosti viz níže).

    Cyklus zápisu dat EPP

    1. Program zapisuje do datového registru EPP (Základ + 4).
    2. NWrite se sníží, což indikuje operaci zápisu.
    3. Data jsou umístěna na datových řádcích 0-7.
    4. Pokud je Wait nízké (můžete spustit smyčku), zazní nData Strobe.

    6. Stroboskop nData je odstraněn.
    7. Cyklus zápisu dat EPP končí.

    Cyklus zápisu adresy EPP

    1. Program zapíše adresu do registru adres EPP (Základ + 3).
    2. Signál zápisu se sníží, aby indikoval operaci zápisu.
    3. Adresa je umístěna na datových řádcích 0-7.
    4. Pokud je Wait nízké (můžete spustit smyčku), zazní Address Strobe.
    5. Počítač čeká na potvrzení - vysoká úroveň na nWait (můžete ukončit cyklus).
    6. Odstraněn stroboskop nAdresa stroboskop.
    7. Cyklus zápisu adresy EPP končí.

    Cyklus čtení dat EPP

    1. Program načte datový registr EPP (Základ + 4).
    2. Pokud je Wait nízké (můžete spustit smyčku), zazní nData Strobe.


    5. Stroboskop nData je odstraněn.
    6. Cyklus čtení dat EPP končí.

    Cyklus čtení adresy EPP

    1. Program načte registr adres EPP (Základ + 3).
    2. Stroboskop nAddr se spustí, pokud je Wait nízká (můžete spustit smyčku).
    3. Počítač čeká na potvrzení – vysoko na nWait.
    4. Data se čtou z pinů paralelního portu.
    5. Stroboskop nAddr je odstraněn.
    6. Cyklus čtení adresy EPP končí.

    Poznámka Při implementaci handshakingu EPP 1.7 (před IEEE 1284) lze vysílat datové a adresní záblesky pro spuštění smyčky bez ohledu na stav čekání. Ve standardu EPP 1.9 smyčka běží pouze v případě, že je Wait nízká. EPP 1.7 i EPP 1.9 vyžadují vysokou dobu čekání na ukončení smyčky.

    Registry softwaru portu EPP

    Port EPP má také novou sadu registrů, z nichž tři jsou zděděny ze standardního paralelního portu SPP. V následující tabulce jsou uvedeny nové a existující registry.

    Jak vidíte, první tři adresy jsou úplně stejné jako u registrů portů SPP a fungují podobně. Při použití portu EPP tedy můžete vyvádět data na adrese Base + 0 stejným způsobem jako v SPP. Když připojujete tiskárnu a používáte režim kompatibility, musíte zkontrolovat, zda je port zaneprázdněn, a poté spustit a odstranit záblesk pomocí řídicího a stavového portu a poté počkat na potvrzení potvrzení.

    Pokud potřebujete komunikovat se zařízením kompatibilním s EPP, stačí načíst přenášená data do datového registru EPP na adrese Base + 4 a karta vygeneruje všechny požadované signály handshake. Podobně, pokud potřebujete přidělit adresu zařízení, měli byste použít registr adres EPP na adrese Base + 3.

    Adresové a datové registry EPP jsou čitelné i zapisovatelné, takže ke čtení dat ze zařízení lze použít stejné registry. Karta tiskárny EPP však musí zahájit cyklus čtení, protože nData Strobe i nAddress Strobe jsou výstupy. Zařízení může signalizovat požadavek na čtení s přerušením a způsobit, že rutina služby přerušení (ISR) provede operaci čtení.

    Stavový port má jednu drobnou úpravu. Bit 0, který je rezervován v sadě registrů portů SPP, se nyní stal bitem časového limitu portu EPP. Tento bit je nastaven, když nastane časový limit portu EPP. K tomu dochází, když signál na lince nWait není odstraněn přibližně 10 µs (v závislosti na portu) po vydání signálů IOW nebo IOR. Na sběrnici ISA jsou k dispozici vstupní a výstupní signálové linky IOW a IOR pro zápis a čtení.

    Režim EPP je velmi závislý na časování sběrnice ISA. Když je proveden cyklus čtení, port musí provést příslušný handshake čtení/zápis a vrátit data v tomto cyklu sběrnice ISA. To se samozřejmě nestane v jednom cyklu ISA, takže port používá signál IOCHRDY (I/O Channel Ready) na sběrnici ISA pro vstup do čekacích stavů, dokud se cyklus nedokončí. Co se nyní stane, když je spuštěno čtení nebo zápis portu EPP a není připojeno žádné periferní zařízení?. Port nikdy neobdrží potvrzení (nWait) a bude stále vyžadovat nevyřízené stavy a počítač je zablokován. Proto je na portu EPP udržován časovač (watchdog), který je nastaven na přibližně 10 µs.

    Tři registry na adresách Base+5, Base+6 a Base+7 lze použít pro 16- a 32bitové čtení a zápis, pokud je port podporuje. To může snížit počet I/O operací. Paralelní port může přenášet pouze osm bitů najednou, takže 32bitové nebo 16bitové slovo zapsané paralelně je rozděleno na bajty a přenášeno přes osm datových linek portu.

    Funkce programování portů EPP

    Port EPP má pouze dva hlavní registry a příznak časového limitu. Co je potřeba nakonfigurovat? Před spuštěním jakéhokoli cyklování portu EPP čtením a zápisem dat a adresových portů EPP je nutné port správně nakonfigurovat. Když je EPP nečinný, musí mít linky nAddress Strobe, nData Strobe, nWrite a nReset neaktivní (vysoké). Některé porty vyžadují toto nastavení před spuštěním jakéhokoli cyklu EPP. Prvním úkolem je tedy ručně inicializovat tyto řádky pomocí registrů portů SPP. Chcete-li to provést, napište kód XXXX0100 do řídicího portu.

    Na některých kartách, pokud je paralelní port v invertovaném režimu, není možné dokončit cyklus zápisu EPP. Proto se před použitím portu EPP doporučuje nastavit jej do přímého režimu. Resetování bitu 5 v řídicím registru by mělo vést ke správné činnosti.

    Bit Timeout portu EPP jsme již probrali. Když je tento bit nastaven, port nemusí fungovat správně. Proto se doporučuje vždy číst FFh v adresovém nebo datovém cyklu. Tento bit musí být resetován pro spolehlivý provoz a musí být neustále monitorován.

    Rozšířený port (ECP)

    Enhanced Mode byl vyvinut společnostmi Hewlett-Packard a Microsoft, aby byl implementován jako a Rozšířené možnosti Port Protocol a ISA Interface Standard. Tento protokol používá další obvody ke generování signálů handshake stejným způsobem jako v režimu EPP a pracuje při vyšší rychlosti než port EPP. Tento režim však funguje lépe pod Windows, protože může k přenosu dat používat kanály přímého přístupu do paměti (DMA). Využívá také vyrovnávací paměť FIFO pro přijímaná a přenášená data.

    Další funkcí ECP je komprese dat v reálném čase. Kódovací algoritmus Run Length Encoding (RLE) poskytuje kompresní poměr až 64:1. To je užitečné pro skenery a tiskárny, kde je velká část dat reprezentována opakujícími se řetězci.

    Port ECP podporuje metodu adresování kanálů. Není určen pro použití v řetězových zařízeních, ale umožňuje adresovat více zařízení v rámci jednoho zařízení. Příkladem je mnoho moderních faxů, které obsahují paralelní port pro propojení s počítačem. Fax lze rozdělit na samostatná zařízení, jako je skener, modem/fax a tiskárna, a každá součást může být adresována samostatně, i když jiná zařízení nemohou přijímat data kvůli plné vyrovnávací paměti.

    Hardware

    Ačkoli porty tiskárny ECP používají stejný konektor D25 jako standardní paralelní port (SPP), port ECP přiřazuje různé funkce pinů (stejně jako port EPP). Proto rozhraní portu ECP používá jinou metodu handshake.

    Port ECP je zpětně kompatibilní s porty SPP a EPP. Při provozu v režimu SPP fungují jednotlivé linky stejně jako na portu SPP a nazývají se Strobe, Auto Linefeed, Init, Busy atd. Při provozu v režimu EPP fungují linky podle metody popsané v protokolu portu EPP a používá se jiná metoda handshake. Když je port v režimu ECP, jsou linky definovány následovně.

    Kontakt signál SPP signál ECP Zadejte výstup Funkce
    1 Stroboskop HostCLKVýstup Nízká úroveň na tomto řádku znamená, že v hostiteli jsou platná data. Když je tento signál odstraněn, musí být k zachycení dat v zařízení použita kladná hrana hodin.
    2-9 Údaje 0-7 Údaje 0-7Zadejte výstup Obousměrná datová sběrnice.
    10 Ack PeriphCLKVchod Nízká úroveň na tomto řádku znamená, že zařízení má platná data. Když je tento signál odstraněn, musí být k zachycení dat v hostiteli použita náběžná hrana hodin.
    11 Zaneprázdněný PeriphAckVchod V opačném směru vysoká úroveň označuje datový cyklus a nízká úroveň označuje cyklus instrukcí. V dopředném směru funguje jako PeriphAck.
    12 Došel papír/konec nAckReverseVchod Zařízení potvrdí nízký požadavek na zpětný chod.
    13 Vybrat Vlajka XVchod Vlajka rozšiřitelnosti.
    14 Automatický posun řádku Hostitel AckVýstup V dopředném směru vysoká úroveň označuje datový cyklus a nízká úroveň označuje příkazový cyklus. V opačném směru funguje jako HostAck.
    15 Chyba/chyba PeriphRequestVchod Instalováno zařízením nízká úroveň indikuje dostupnost inverzních dat.
    16 Inicializovat nReverseRequestVýstup Nízká úroveň indikuje přenos dat v opačném směru.
    17 Vyberte položku Tiskárna 1284Výstup Vysoká úroveň znamená, že hostitel je v režimu přenosu 1284. Nízká úroveň tento režim ukončí.
    18-25 Země ZeměGNDZemě

    Signály na řádcích HostAck a PeriphAck indikují, zda jsou na datové sběrnici 0-7 data nebo příkaz. Když jsou tyto linky vysoké, na datové sběrnici jsou data (piny 2-9). Pokud je implementován příkazový cyklus, pak bude odpovídající řádek nízký; pokud například hostitel vydá příkaz, bude řádek HostAck nízký a pokud zařízení vydá příkaz, řádek PeriphAck bude nízký.

    Příkazový cyklus může být jeden ze dvou - čítač RLE nebo adresa, jak je určeno bitem 7 datových linek (pin 9). Pokud je bit 7 0, pak zbytek dat (bity 0-6) je čítač délky RLE, který se používá v kompresním algoritmu. Ale pokud bit 7 obsahuje 1, pak data v bitech 0-6 jsou adresa kanálu. Pokud jeden bit chybí, číslo může být pouze hodnota mezi 0 a 127.

    handshake portu ECP

    Navázání spojení portu ECP se liší od navázání spojení portu SPP. Nejviditelnější rozdíl je v tom, že port ECP může kdykoli přenášet data jakýmkoliv směrem, což vyžaduje další signalizaci. Dále je diskutováno handshaking ECP portu pro dopředný a zpětný směr.

    Přímý datový cyklus ECP


    2. Hostitel pak signalizuje datový cyklus vydáním nízkého signálu HostAck.

    4. Periferní zařízení vydá své platné potvrzení dat vydáním signálu PeriphAck.
    5. Hostitel vydává vysoký signál HostClk. Náběžná hrana se používá k zachycení dat v periferii.
    6. Periferní zařízení potvrdí bajt zrušením potvrzení signálu PeriphAck.

    Přímý příkazový cyklus ECP

    1. Host umístí data na datové linky.
    2. Hostitel poté zobrazí příkazový cyklus odstraněním HostAck.
    3. Hostitel indikuje platnost dat tím, že sníží signál HostClk.
    4. Periferní zařízení vydá potvrzení o platných datech generováním signálu PeriphAck.
    5. Hostitel odstraní signál HostClk High. Náběžná hrana se používá k zachycení dat v periferii.
    6. Zařízení vydá bajtové potvrzení vymazáním signálu PeriphAck.

    Inverzní smyčka dat ECP




    4. Zařízení poté vybere datový rámec vydáním vysokého signálu PeriphAck.




    Inverzní smyčka instrukce ECP

    1. Hostitel potvrdí signál nReverseRequest low, aby požádal o zpětný kanál.
    2. Periferní zařízení potvrdí požadavek na inverzní kanál vydáním nízkého signálu nAckReverse.
    3. Zařízení umístí data na datové linky.
    4. Zařízení poté vybere příkazový cyklus vydáním signálu PeriphAck Low.
    5. Zařízení zobrazuje platná data s nízkým signálem PeriphClk.
    6. Hostitel vydá své platné potvrzení dat s vysokým signálem HostAck.
    7. Zařízení nastaví signál PeriphClk na vysokou úroveň. Náběžná hrana se používá k potvrzení dat hostiteli.
    8. Hostitel vydá potvrzení o byte snížením hodnoty HostAck.

    Porovnání ECP a SPP port handshaking

    Handshaking portu SPP se skládá z pouhých pěti kroků:

    1. Zapište bajt na datový port.
    2. Zkontrolujte, zda není tiskárna zaneprázdněna. Pokud je tiskárna zaneprázdněná, nepřijme žádná data, takže všechna zapisovaná data budou ztracena.
    3. Generujte nízkoúrovňový Strob signál (pin 1). Sděluje tiskárně, že na datových linkách jsou platná data (piny 2-9).
    4. Po asi 5 µs vygenerujte vysokou úroveň stroboskopického signálu.
    5. Zaškrtněte políčko Potvrdit potvrzení ze zařízení.

    Na druhou stranu, handshaking ECP portu vyžaduje více kroků. Proto se zdá, že port ECP bude pomalejší než port SPP. To však není tento případ, protože řízení všech stupňů potvrzování je realizováno v obvodu. Pokud by bylo handshake implementováno softwarově, bylo by výrazně pomalejší než handshake portu SPP.

    RLE kódování

    Již dříve bylo krátce zmíněno, že protokol portu ECP obsahuje jednoduchý algoritmus pro kompresi kódování s délkami běhu (Run Length Encoding - RLE). Poskytuje maximální kompresní poměr až 64:1 a funguje tak, že odesílá opakované bajty jako počty skoků a jednu kopii bajtu. Čítač řezů určuje, kolikrát se má opakovat další bajt.

    Je-li například vysílán řetězec 25 "A", pak musí být nejprve přenesen bajt čítače segmentů rovný 24, následovaný byte "A". Přijímací zařízení, když přijímá počet Run Length Count, musí rozšířit (opakovat) další bajt tolikrát, kolikrát je určeno čítačem.

    Bajt čítače délky segmentu se musí lišit od ostatních bajtů v datové cestě. Odesílá se jako příkaz na adresu FIFO portu. Byty odeslané do tohoto registru mohou být počítadlo délky nebo adresa. Liší se nejvýznamnějším bitem 7. Pokud bit 7 obsahuje 1, pak zbývajících sedm bitů (0-6) je adresa kanálu. Pokud je bit 7 nastaven na 0, pak spodních sedm bitů je čítač délky řezu. V tomto případě jsou adresy kanálů a čítače délky skoků omezeny na sedm bitů (hodnoty od 0 do 127).

    Registry softwaru portu ECP

    V následující tabulce jsou uvedeny registry portů ECP. První tři registry jsou stejné jako registry portů SPP. Všimněte si však vzhledu bitu povolení obousměrného portu (bit 5 řídicího portu). Tento bit udává aktuální směr portu ECP a ovlivňuje bity FIFOPFull FIFOPEmpty v registru ECR (viz níže).

    Adresa Název portu Číst psát
    Základ + 0 Datový port (SPP)Napsat
    Adresa ECP FIFO (režim ECP)Číst psát
    Základ + 1Stavový port (všechny režimy) Číst psát
    Základ + 2Ovládací port (všechny režimy) Číst psát
    Základní + 400h Data FIFO (režim FIFO paralelního portu) Číst psát
    Data FIFO (režim ECP) Číst psát
    FIFO test (Testovací režim)Číst psát
    Konfigurační registr A (režim konfigurace) Číst psát
    Základna + 401hKonfigurační registr B (režim konfigurace) Číst psát
    Základna + 402h Rozšířený řídicí registr (používaný všemi režimy) Číst psát

    Rozšířený kontrolní registr (ECR)

    Bit Funkce
    7:5 Vyberte aktuální provozní režim
    000 Standardní režim
    001 Bytový režim
    010 Paralelní port Režim FIFO
    011 Režim ECP FIFO
    100 Režim EPP
    101 Rezervováno
    110 Režim kontroly FIFO
    111 Režim konfigurace
    4 Bit přerušení ECP
    3 Bit povolení DMA
    2 Servisní bit ECP
    1 Plná FIFO
    0 FIFO Prázdný

    Nejdůležitější registr portů ECP je registr Extended Control Register. ECR), tak se nejprve podíváme na jeho práci. Tento registr určuje, v jakém režimu bude port ECP pracovat, a také nastavuje stav vyrovnávací paměti FIFO. Funkce tohoto registru jsou uvedeny v následující tabulce.

    Tři nejvýznamnější bity rozšířeného řídicího registru určují režim činnosti. Existuje sedm možných režimů provozu, ale ne všechny porty podporují všechny režimy. Některé porty například nejsou podporovány Režim EPP. Následující tabulka poskytuje podrobnější informace o provozních režimech.

    Standardní režim Nastavení tohoto režimu způsobí, že port ECP bude fungovat jako standardní paralelní port bez obousměrné funkce.
    Bytový režim Funguje jako SPP v obousměrném režimu. Bit 5 nastaví port do inverzního režimu.
    Paralelní port Režim FIFO V tomto režimu budou všechna data zapsaná do datového FIFO přenášena do periferního zařízení pomocí SPP handshake. Potřebné potvrzení je implementováno v obvodu. Tento režim je užitečný pro zařízení bez ECP, jako jsou tiskárny. K dispozici jsou některé funkce ECP, jako jsou vyrovnávací paměti FIFO a generování in-circuit handshake, ale s SPP handshake spíše než ECP handshake.
    Režim ECP FIFOStandardní režim pro port ECP. Tento režim využívá ECP handshaking. - Když je režim ECP nastaven prostřednictvím systému BIOS a registr ECR je nastaven na režim ECP FIFO (011), mohou registry SPP zmizet.
    Režim EPP /Rezervováno Režim EPP je povolen, pokud je k dispozici. Pokud je v systému BIOS nastaven režim ECP, pak je více než pravděpodobné, že tento režim není k dispozici. Pokud je však BIOS nastaven na režim ECP a EPP1.x, bude EPP 1.x povolen. - Podle Rozšířené možnosti Port Protocol a ISA Interface Standard tento režim je specifický pro dodavatele.
    RezervovánoPři rezervaci. - Podle Rozšířené možnosti Port Protocol a ISA Interface Standard tento režim je specifický pro dodavatele.
    Testovací režim FIFOV tomto režimu budou všechna data zapsaná do registru Test FIFO umístěna do FIFO a všechna data načtená z registru Test FIFO budou načtena z vyrovnávací paměti FIFO. Stavové bity FIFO Full/Empty budou odrážet svou skutečnou hodnotu, takže v tomto režimu lze určit některé charakteristiky FIFO, jako je jeho hloubka.
    Režim konfiguraceV tomto režimu jsou na svých adresách dostupné dva konfigurační registry cnfgA a cnfgB.

    Jak bylo uvedeno výše, když je port nastaven na práci ve standardním režimu, chová se jako port SPP bez obousměrných přenosů dat. Pokud je vyžadován obousměrný přenos, je nutné nastavit bajtový režim. Paralelní port FIFO a ECP FIFO režimy používají obvody pro generování nezbytných signálů handshake. Jediný rozdíl mezi těmito dvěma je v tom, že režim FIFO paralelního portu používá handshake portu SPP a lze jej použít s tiskárnou SPP. Režim ECP FIFO využívá handshake portu ECP.

    Testovací režim FIFO lze použít k testování kapacity vyrovnávacích pamětí FIFO a také k ověření jejich správné funkce. V tomto režimu je každý bajt zapsaný do registru TEST FIFO (Base + 400h) umístěn do vyrovnávací paměti FIFO a jakýkoli bajt přečtený z tohoto registru je převzat z vyrovnávací paměti FIFO. To lze použít ve spojení s bity FIFO Full a FIFO Empty rozšířeného řídicího registru ECR k určení kapacity vyrovnávací paměti FIFO. Hloubka FIFO je obvykle kolem 16 bajtů.

    Hrají i další bity registru ECR důležitá role v provozu ESR portu. Bit přerušení (bit 4) umožňuje použití přerušení a bit povolení DMA (bit 3) umožňuje přímý přístup do paměti. Řídicí bit ECP (bit 2) udává, zda byl zahájen požadavek na přerušení. Pokud je přítomen, bude tento bit nastaven. Resetování tohoto bitu se v různých mikroobvodech provádí odlišně. Některé vyžadují reset bitu, tzn. zapište do něj 0 a ostatní se při čtení z registru vynulují.

    Bit FIFO Full (bit 1) a FIFO Empty (bit 0) indikují stav vyrovnávací paměti FIFO. Tyto bity jsou závislé na směru, takže je třeba vzít v úvahu bit 5 řídicího registru. Pokud je nastaven bit 0 (FIFO Empty), pak je vyrovnávací paměť FIFO prázdná, a pokud je nastaven bit 1, je vyrovnávací paměť FIFO plná. Pokud není nastaven žádný z těchto bitů, pak jsou ve FIFO data, ale vyrovnávací paměť ještě není plná. Tyto bity lze použít v testovacím režimu FIFO k určení kapacity vyrovnávací paměti FIFO.

    Registr konfigurace A (cnfgA)

    Konfigurační registr A (cnfgA) je jedním ze dvou konfiguračních registrů ECP portu. Konfigurační registry jsou dostupné pouze v konfiguračním režimu. Adresa registru cnfgA je základ + 400h. Formát registru cnfgA je uveden v následující tabulce.

    Bit Funkce
    7 1 Přerušení jsou spouštěna úrovní
    0 Přerušení jsou spouštěna hranou
    6:4 00h Přijímá slova o šířce max. 16 bitů
    01hPřijímá slova o šířce max. 8 bitů
    02hPřijímá slova o šířce max. 32 bitů
    03h:07hVyhrazeno pro rozšíření
    3 Rezervováno
    2 Obnova hostitele: Potrubí/bajt vysílače je součástí FIFO?
    0 V dopředném směru nemá jeden bajt v potrubí vysílače vliv na FIFO Full.
    1 V dopředném směru se jeden bajt v potrubí vysílače počítá jako součást FIFO Full.
    1:0 Obnova hostitele: V FIFO zůstaly nepřenesené bajty
    00 plné slovo
    01 1 platný bajt
    10 2 dva platné bajty
    11 3 platné bajty

    Konfigurační registr A si můžete přečíst pro více informací o ECP. Bit 7 udává, zda karta generuje přerušení úrovní nebo hranou. Záleží na typu sběrnice, kterou karta používá. Bity 6:4 ukazují šířku pneumatik uvnitř karty. Některé karty používají pouze 8bitovou datovou cestu, jiné 16bitovou nebo 32bitovou. Chcete-li z karty vytěžit maximum, musí program přečíst stav těchto bitů, aby je určil maximální velikost výstup slova do portu.

    Nejméně významné tři bity se používají pro obnovu hostitele. Aby se program zotavil z chyby, musí vědět, kolik bajtů bylo přeneseno, určením, zda v FIFO zbývají bajty. Některé implementace mohou považovat nevyřízené bajty v registru vysílače za součást stavu FIFO Full, zatímco jiné nikoli. Bit 2 definuje tu či onu situaci.

    Dalším problémem je, že výstup paralelních portů je široký pouze osm bitů a program může používat 16bitové nebo 32bitové I/O instrukce. V tomto případě může být odeslána část slova portu. Proto bity 0 a 1 indikují počet platných bajtů zbývajících ve FIFO a mohou být znovu vysílány.

    Registr konfigurace B (cnfgB)

    Konfigurační registr B, stejně jako konfigurační registr A, je dostupný pouze v konfiguračním režimu. Jeho adresa v tomto režimu je Base + 401h. Formát registru cnfgB je uveden v následující tabulce.

    Bit Funkce
    7 1 Komprimujte výstupní data pomocí algoritmu RLE
    0 Nekomprimujte data
    6 Stav přerušení – zobrazuje aktuální stav IRQ pinu
    5:3 Vybírá nebo zobrazuje stav linky IRQ
    000 Přerušení zvolené propojkou
    001 IRQ7
    010 IRQ 9
    011 IRQ 10
    100 IRQ 11
    101 IRQ 14
    110 IRQ 15
    111 IRQ 5
    2:0 Vybírá nebo zobrazuje stav kanálu DMA používaného kartou tiskárny
    000 Používá 8bitový kanál DMA vybraný propojkou
    001 Kanál 1 DMA
    010 Kanál 2 DMA
    011 Kanál 3 DMA
    100 Používá 16bitový kanál DMA vybraný propojkou
    101 Kanál 5 DMA
    110 Kanál 6 DMA
    111 Kanál 7 DMA

    Konfigurační registr B (cnfgB) může být kombinací přístupu pro čtení a zápis. Některé porty jsou programově nakonfigurovány pro nastavení zdrojů IRQ a DMA z registru. Ostatní se konfigurují přes BIOS nebo přes propojky na kartě, takže registr lze pouze číst.

    Bit 7 určuje, zda se mají nebo nemají komprimovat výstupní data pomocí algoritmu RLE: 1 - hostitel komprimuje data před přenosem, 0 - data jsou přenášena do zařízení nezpracovaná (nekomprimovaná). Bit 6 vrací stav pinu IRQ. Lze jej použít k diagnostice konfliktů, protože ukáže nejen stav IRQ paralelního portu, ale také druhého zařízení využívajícího tuto linku IRQ.

    Bity 5:3 indikují stav přiřazení portu linky IRQ a bity 2:0 indikují stav přiřazení portu kanálu DMA. Jak již bylo zmíněno, tato pole lze číst a zapisovat. Pro mizející desky propojek tyto bity jednoduše zobrazují zdroje jako "Jumpered" nebo správná čísla řádků. Samozřejmě je v tomto případě lze pouze číst.

    Vstupní - výstupní porty. Paralelní a sériová I/O zařízení

    I/O port

    Kanál pro přenos dat mezi zařízením a mikroprocesorem. Port je v mikroprocesoru reprezentován jako jedna nebo více adres paměti, ze kterých lze číst nebo zapisovat data.

    Paralelní port

    I/O konektor pro připojení zařízení s paralelním rozhraním. Většina tiskáren se připojuje k paralelnímu portu.

    Sériový port

    Počítačový port pro organizaci bajtů asynchronní komunikace. Sériový port se také nazývá komunikační nebo COM port.

    Asynchronní komunikace

    Forma přenosu dat, při které jsou informace přenášeny a přijímány v nepravidelných intervalech, jeden znak po druhém. Protože jsou data přijímána v nepravidelných intervalech, musí být přijímajícímu modemu odeslána zpráva, která mu umožní určit, kdy datové bity znaku začínají a končí. K tomu slouží startovací a zastavovací bity.

    Paralelní port (LPT)

    (25 - pinový konektor). Navrženo pro připojení tiskárny, skeneru a také externích zařízení pro ukládání a přenos informací (jednotky). Donedávna se vyznačoval poměrně vysokou rychlostí přenosu dat (asi 2 MB/s). LPT je zpravidla jediným konektorem na zadní straně počítače.

    Sériové porty (COM) (9 - a 25 - pinový konektor) jsou mnohem pomalejší (asi 112 kb/s). Na jejich úděl proto připadla podpora všemožných „neuspěchaných“ zařízení – například myši nebo modemu. Zpočátku byly na počítači čtyři COM porty, ale postupem času byly pouze dva. Myš upřednostnila před sériovým portem vlastní konektor PS / 2, sdílela jej s klávesnicí a na podílu COM portu zůstala pouze podpora pomalého modemu. Postupem času bude modem emigrovat na nový port USB - pak se port COM konečně a nenávratně stane minulostí.

    Jeden čas byly myš a klávesnice připojeny k různým konektorům: myš byla vedle modemu na portu COM a klávesnice měla svůj vlastní konektor, na rozdíl od čehokoli jiného. PS / 2 - port se poprvé objevil na běžných základních deskách v roce 1998. Připojit k němu něco jiného než myš a klávesnici nebude fungovat.

    Sériový port a USB rozhraní.

    Tato novinka, úspěšně debutující v roce 2000, byla označena za jednu z nejvýznamnějších inovací desetiletí. Jednou z hlavních výhod USB je, že k jednomu portu USB lze připojit 127 zařízení (na rozdíl od starých portů: ke každému bylo možné připojit pouze jedno zařízení). Všechna USB zařízení lze k počítači připojit „v řetězci“ – pokud má každý „link“ svůj USB port nebo USB hub pro více portů současně. Jediné pravidlo, které by se mělo při práci s USB dodržovat, je, že nejproduktivnější zařízení by měla být první v řetězci: tiskárna, skener, reproduktory, mechaniky. A na úplný konec – pomalá klávesnice a myš.

    Další důležitou vlastností USB je, že toto rozhraní umožňuje připojit jakékoli zařízení k počítači bez restartování systému.

    Rychlost první modifikace USB (jmenovitě všechna zařízení uvedená na trh před koncem roku 2000 patří k tomuto standardu) je asi 12 MB/s (ve skutečnosti řada zařízení připojených k USB pracuje mnohem nižší rychlostí - až 1,5 MB/s). Nová specifikace sběrnice USB 2.0 přijatá v dubnu 2000 plánovala zvýšit rychlost přenosu dat na 60 MB/s, ale nová zařízení, která tuto přenosovou rychlost podporují, vstoupila na trh až koncem roku. USB 2.0 kompatibilní se zařízeními usb starý formátu, ale budou pracovat stejnou rychlostí.

    infračervený port

    Optický port určený k propojení počítače s jinými počítači nebo zařízeními prostřednictvím infračerveného záření bez kabelů. Infračervené porty aplikovat na některé přenosné počítače, tiskárny a fotoaparáty.

    Port se nazývá „sériový“, protože informace jsou přes něj přenášeny jeden bit po druhém, sériově bit po bitu (na rozdíl od paralelního portu). Navzdory tomu, že některá počítačová rozhraní (například Ethernet, FireWire a USB) využívají i sériový způsob výměny informací, byl port standardu RS-232 přiřazen název „sériový port“.

    Účel

    Nejčastěji používaným standardem pro sériový port osobních počítačů je RS-232C. Dříve sloužil sériový port pro připojení terminálu, později pro modem nebo myš. Nyní se používá pro připojení, ke komunikaci s vestavěným počítačovým vývojovým hardwarem, satelitními přijímači, pokladny, programátory, se zařízeními pro zabezpečovací systémy objektů, ale i s mnoha dalšími zařízeními.

    Pomocí portu COM můžete propojit dva počítače pomocí tzv. "kabelu nulového modemu" (viz níže). Používá se od MS-DOS k přenosu souborů z jednoho počítače do druhého, v UNIXu pro terminálový přístup k jinému stroji a ve Windows (dokonce i moderní) pro ladicí program na úrovni jádra.

    Výhodou technologie je extrémní jednoduchost zařízení. Nevýhodou je nízká rychlost, velké velikosti konektorů a také často vysoké požadavky na odezvu OS a ovladačů a velký počet přerušení (jedno na polovinu hardwarové fronty, tedy 8 bajtů).

    Související videa

    Konektory

    Na základních deskách předních výrobců (například Intel) nebo hotových systémech (například IBM, Hewlett-Packard, Fujitsu Siemens Computers) je pro sériový port akceptován symbol COM nebo RS-232.

    Možnosti konektoru COM portu typu DE-9

    Nejčastěji používané jsou konektory ve tvaru D standardizované v roce 1969: 9- a 25-pin (DB-9 a DB-25, v tomto pořadí). Dříve se používaly také DA-31 a kulaté osmikolíkové DIN-8. Maximální přenosová rychlost pro typický port je 115200 baudů.

    Relevantnost

    Existují standardy pro emulaci sériového portu přes USB a přes Bluetooth (tato technologie byla z velké části navržena jako „bezdrátový sériový port“).

    Nicméně softwarová emulace tento přístav dnes široce používané. Takže například téměř všechny mobilní telefony emulují klasický COM port a modem pro tethering - počítačový přístup k internetu přes telefonní zařízení GPRS/EDGE/3G/4G. To využívá USB, Bluetooth nebo Wi-Fi k fyzickému připojení k počítači.

    „Hostům“ je také poskytována softwarová emulace tohoto portu virtuální stroje VMWare a Microsoft Hyper-V, hlavním účelem je připojit ladicí program na úrovni jádra Windows k "hostovi".

    Ve formě UART, který se liší napěťovými úrovněmi a absencí přídavných signálů, je přítomen téměř ve všech mikrokontrolérech, kromě těch úplně nejmenších, SoC, vývojových desek a je přítomen i na deskách většiny zařízení, ačkoliv konektor není na pouzdru zobrazen. Tato popularita je způsobena jednoduchostí tohoto rozhraní, a to jak z fyzického hlediska, tak snadným přístupem k portu pomocí softwaru ve srovnání s jinými rozhraními.

    Zařízení

    Konektor má kontakty:

    DTR (Data Terminal Ready - připravenost k příjmu dat) - výstup na počítači, vstup na modemu. Označuje, že počítač je připraven pracovat s modemem. Resetování této linky způsobí téměř úplný restart modemu původní stav, včetně zavěšení telefonu (některé řídicí registry po takovém resetu přežijí). V systému UNIX k tomu dochází, když všechny aplikace zavřely soubory na ovladači sériového portu. Myš používá tento vodič k napájení.

    DSR (Data Set Ready - připravenost k přenosu dat) - vstup na počítači, výstup na modem. Indikuje, že modem je připraven. Pokud je tento řádek na nule, pak v některých operačních systémech nebude možné otevřít port jako soubor.

    RxD (Receive Data - příjem dat) - vstup na počítači, výstup na modem. Proud dat vstupujících do počítače.

    TxD (Transmit Data - přenos dat) - výstup na počítači, vstup na modemu. Proud dat vycházející z počítače.

    CTS (Clear to Send - připravenost k přenosu) - vstup na počítači, výstup na modem. Počítač musí pozastavit přenos dat, dokud nebude tento vodič nastaven na jednu. Používá se v protokolu hardwarového řízení toku, aby se zabránilo přetečení v modemu.

    RTS (Request to Send - požadavek na přenos) - výstup na počítači, vstup na modemu. Modem musí pozastavit přenos dat, dokud nebude tento vodič nastaven na jeden. Používá se v protokolu řízení toku hardwaru, aby se zabránilo přetečení hardwaru a ovladače.

    DCD (Carrier Detect - přítomnost nosné) - vstup na počítači, výstup na modemu. Po navázání spojení s modemem na druhé straně nastavte modem na jedničku, při přerušení spojení vynulujte. Hardware počítače může způsobit přerušení, když k takové události dojde.

    RI (Ring Indicator - signál volání) - vstup na počítači, výstup na modemu. Nastavte modem na jedničku po detekci vyzváněcího signálu telefonát. Hardware počítače může způsobit přerušení, když k takové události dojde.

    SG (Signal Ground - signálová zem) - společný signálový vodič portu, není obecná půda, je zpravidla izolován od skříně počítače nebo modemu.

    V kabel nulového modemu jsou použity dva zkřížené páry: TXD/RXD a RTS/CTS.

    Zpočátku byl v IBM PC a IBM PC / XT portový hardware postaven na čipu UART 8250 od National Semiconductor, poté byl čip nahrazen 16450, který byl softwarově kompatibilní s předchozími, ale umožňoval rychlosti až 115 200 bitů. za sekundu, pak se objevil čip 16550 obsahující obousměrnou datovou vyrovnávací paměť FIFO, aby se snížilo zatížení řadiče přerušení. V současnosti je součástí SuperIO čipu na základní desce spolu s řadou dalších zařízení.

    Programový přístup k portu COM

    UNIX

    COM porty v operačním systému Unix (Linux) jsou soubory znakových zařízení. Obvykle jsou tyto soubory umístěny v adresáři /dev a jsou voláni

    • ttyS0, ttyS1, ttyS2 atd. na Linuxu
    • ttyd0, ttyd1, ttyd2 atd. (příp ttyu0, ttyu1, ttyu2 atd. od verze 8.0) ve FreeBSD
    • ttya, ttyb, ttyc atd. v Solarisu
    • ttyf1, ttyf2, ttyf3 atd. v IRIX
    • tty1p0, tty2p0, tty3p0 atd. v HP-UX
    • tty01, tty02, tty03 atd. v Digital Unix
    • ser1, ser2, ser3 atd. v QNX

    Pro programový přístup k COM portu je třeba otevřít odpovídající soubor pro čtení/zápis a volat speciální funkce tcgetattr (pro zjištění aktuálního nastavení) a tcsetattr (pro nastavení nových nastavení). Může být také nutné provést volání ioctl s určitými parametry. Poté při zápisu do souboru budou data posílána přes port a při čtení program přijímá již přijatá data z vyrovnávací paměti COM portu.

    Zařízení s názvem "ttyxx" se používají jako serverová zařízení, tedy aplikace, která se otevřela toto zařízení, obvykle očekává příchozí hovor z modemu. Klasickou výchozí aplikací je getty , která čeká na příchozí volání, poté nakonfiguruje COM port podle konfiguračních souborů, vypíše tam „login:“, přijme uživatelské jméno a jako dítě spustí příkaz „loginUserName“ se standardním vstupem. a výstup je přesměrován na COM port. Tento příkaz si zase vyžádá a zkontroluje heslo, a pokud je úspěšný, spustí (ne jako dítě, ale místo sebe voláním execve ve stejném procesu) výchozí uživatelský shell uvedený v souboru /etc/passwd.

    Tato technologie historicky vznikla v 70. letech 20. století, kdy se pod OS UNIX používaly počítače jako PDP-11 (v SSSR se řada nazývala SM computers) nebo VAX, umožňující připojení mnoha terminálů pro práci mnoha uživatelů. Terminály – a potažmo celé uživatelské rozhraní – byly propojeny přes sériové porty s možností připojení modemu místo terminálu a následného vytáčení počítače pomocí telefonu. Až dosud mají operační systémy typu UNIX zásobník terminálů a obvykle 3 implementace terminálu - sériový port, obrazovka v textovém režimu + konzola klávesnice a "zpětná smyčka" k jednomu z otevřít soubory ovládací aplikace (takto jsou implementovány telnetd, sshd a xterm).

    Klientská zařízení se sériovým portem pro volání ven se na mnoha (ale ne na všech) UNIXech nazývají cuaxx.

    Vzhledem k tomu, že sériový port v UNIXu je přístupný pouze přes zásobník terminálů, může být řídicím terminálem pro procesy a skupiny (odeslat SIGHUP při odpojení od modemu a SIGINT na Ctrl-C), podpora editace posledního řádku zadaného pomocí šipek na úroveň jádra atd. Vypnutí této funkce, aby se zařízení změnilo na „potrubí“ pro bajtový proud, vyžaduje volání ioctl.

    Okna

    Se sériovými porty ve Win32 se zachází jako se soubory. Funkce CreateFile se používá k otevření portu. Portů může být mnoho, proto se označují jako COM1, COM2 atd. v pořadí, v jakém jsou nalezeny ovladače zařízení. Prvních 9 portů je k dispozici také jako pojmenované kanály pro přenos dat (dostupné pod názvy "COM1", "COM2", ...), tato metoda přístupu je považována za zastaralou. Doporučuje se adresovat všechny porty jako soubory (pojmenované "\\.\COM1", "\\.\COM2", ... "\\.\COMx").

    Spolu s paralelním portem je port COM nebo sériový port jedním z tradičních počítačových vstupních/výstupních portů používaných u prvních počítačů. Ačkoli je port COM v moderních počítačích používán jen omezeně, informace o něm mohou být užitečné pro mnoho uživatelů.

    Sériový port, stejně jako paralelní, se objevil dlouho před objevením osobních počítačů architektury IBM PC. V prvních osobních počítačích se COM port používal pro připojení periferií. Rozsah jeho použití byl však poněkud odlišný od rozsahu paralelního portu. Pokud se paralelní port používal hlavně pro připojení tiskáren, pak COM port (mimochodem předpona COM je jen zkratka pro slovo komunikace) se obvykle používal pro práci s telekomunikačními zařízeními, jako jsou modemy. K portu však můžete připojit například myš, ale i další periferní zařízení.

    COM port, hlavní aplikace:

    1. Připojení terminálu
    2. ~ externí modemy
    3. ~ tiskárny a plotry
    4. ~ myši
    5. Přímé propojení dvou počítačů

    V současné době je rozsah COM portu výrazně omezen zavedením rychlejšího a kompaktnějšího a mimochodem také sériového USB rozhraní. Externí modemy určené pro připojení k portu, stejně jako „COM“ myši, se téměř přestaly používat. Ano, a jen zřídka teď někdo propojí dva počítače pomocí kabelu nulového modemu.

    Řada specializovaných zařízení však stále používá sériový port. Najdete ho na mnoha základních deskách. Faktem je, že oproti USB má COM port jednu důležitou výhodu - podle standardu sériového přenosu dat RS-232 dokáže pracovat se zařízeními na vzdálenost několika desítek metrů, přičemž dosah USB kabelu, např. pravidlo, omezeno na 5 metrů.

    Princip fungování sériového portu a jeho rozdíl od paralelního

    Na rozdíl od paralelního (LPT) portu přenáší sériový port data bit po bitu po jedné lince, nikoli více linek současně. Bitové sekvence jsou seskupeny do datových běhů počínaje počátečním bitem a končícím stop bitem a sudými paritními bity používanými pro kontrolu chyb. Odtud pochází další anglický název, který má sériový port – Serial Port.

    Sériový port má dvě linky, kterými jsou přenášena skutečná data - jedná se o linky pro přenos dat z terminálu (PC) do komunikačního zařízení a naopak. Kromě toho existuje několik dalších ovládacích linií. Sériový port je obsluhován speciálním čipem UART, který je schopen podporovat relativně vysokou rychlost přenosu dat dosahující 115 000 baudů (bajtů/s). Je pravda, že stojí za zmínku, že skutečná rychlost výměny informací závisí na obou komunikačních zařízeních. Mezi funkce regulátoru UART navíc patří převod paralelního kódu na sériový a naopak.

    Port používá elektrické signály srovnávací vysoké napětí - až +15 V a -15 V. Úroveň logické nuly sériového portu je +12 V a úroveň logické jedna je -12 V. Takto velký úbytek napětí zajišťuje vysoký stupeň odolnosti proti rušení přenášená data. Na druhou stranu vysoké napětí používané v sériovém portu vyžaduje komplexní řešení obvodů. I tato okolnost přispěla k poklesu obliby přístavu.

    Sériové rozhraní RS-232

    Provoz sériového portu na PC je založen na komunikačním standardu pro sériová zařízení RS-232. Tato norma popisuje proces výměny dat mezi telekomunikačním zařízením, jako je modem a počítačový terminál. Definuje standard RS-232 elektrické charakteristiky signály, jejich účel, trvání, stejně jako velikost konektorů a pinout pro ně. Zároveň RS-232 popisuje pouze fyzická vrstva proces přenosu dat a nevztahuje se na použité přenosové protokoly, které se mohou lišit v závislosti na použitém komunikačním zařízení a softwaru.

    Standard RS-232 byl vytvořen v roce 1969 a jeho Nejnovější verze, TIA 232, byl vydán v roce 1997. RS-232 je nyní považován za zastaralý, ale většina operačních systémů jej stále podporuje.

    V moderních počítačích je konektor sériového portu 9pinový konektor DB-9 samec, ačkoli standard RS-232 popisuje také 25pinový konektor DB-25, který se často používal na starších počítačích. Konektor DB-9 bývá umístěn na základní desce PC, i když u starších počítačů by mohl být na speciální multikartě zasunuté do rozšiřujícího slotu.

    9pinová patice DB-9 na základní desce

    DB-9 konektor na kabelu zařízení připojeného k portu

    Na rozdíl od paralelního portu jsou konektory na obou stranách obousměrného sériového kabelu totožné. Kromě linek pro přenos samotných dat obsahuje port několik servisních linek, kterými lze přenášet řídicí informace mezi terminálem (počítačem) a telekomunikačním zařízením (modem). Ačkoli teoreticky stačí k fungování sériového portu pouze tři kanály – příjem dat, přenos dat a uzemnění, praxe ukázala, že přítomnost servisních linek zefektivňuje, spolehlivě a ve výsledku zrychluje komunikaci.

    Účel konektorových linek sériového portu DB-9 podle RS-232 a jejich korespondence s piny konektoru DB-25:

    Kontaktujte DB-9 anglické jméno ruské jméno Kontaktujte DB-25
    1 Detekce datového nosiče Byl zjištěn dopravce 8
    2 Přenášet data Přenesená data 2
    3 Příjem dat Přijatá data 3
    4 Datový terminál připraven Připravenost terminálu 20
    5 Přízemní Země 7
    6 Soubor dat připraven Připravenost vysílače 6
    7 Žádost o odeslání Žádost o zaslání dat 4
    8 Vymazat k odeslání Přenos dat povolen 5
    9 Prstencový indikátor Indikátor kroužku 22

    Konfigurace a přerušení

    Protože počítač může mít několik sériových portů (až 4), systém jim přidělí dvě hardwarová přerušení - IRQ 3 (COM 2 a 4) a IRQ 4 (COM 1 a 3) a několik přerušení BIOSu. Mnoho komunikačních programů, ale i vestavěných modemů využívá ke své práci přerušení a adresní prostor COM portů. V tomto případě se obvykle nepoužívají skutečné porty, ale tzv. virtuální porty, které emuluje samotný operační systém.

    Stejně jako u mnoha dalších komponent základní deska, parametry portů COM, zejména hodnoty přerušení BIOS odpovídající hardwarovým přerušením, lze konfigurovat prostřednictvím rozhraní Nastavení systému BIOS. Za tohle, takový možnosti BIOSu jako COM port, zabudovaný sériový port, adresa sériového portu atd.

    Závěr

    Sériový port PC není v současné době široce používaným médiem pro I/O informace. Protože však existuje velké množství zařízení, především pro telekomunikační účely, navržených pro práci s nimi sériový port, a také kvůli některým výhodám sériového datového protokolu RS-232 by sériové rozhraní ještě nemělo být odepsáno jako absolutně zastaralý pozůstatek architektury osobních počítačů.

    Aby bylo možné přenášet informace do jakéhokoli zařízení nebo je přijímat z tohoto zařízení, musí počítač specificky organizovat proces výměny dat.

    Organizace operací souvisejících se vstupem a výstupem informací znamená následující:

      dodržování stejného kódu přenášených dat (tj. „mluvení stejným jazykem“);

      koordinace rychlostí přenosu a příjmu informací (neboli „dialog stejným tempem“);

      jednota formátu výměny dat (to znamená způsob, jak je rozdělit na fragmenty přenášené v jednom cyklu);

      standardní protokol pro speciální řídicí signály (příkazy, které jsou „srozumitelné“ pro přijímací a vysílací zařízení).

    Aby byly splněny všechny tyto požadavky, má počítač specializované vstupně/výstupní řadiče určené pouze k organizaci práce při výměně informací s vnějším světem. Tato výměna je realizována prostřednictvím speciálních "brán" (kanálů), tzv porty.

    Výměna (tj. vstup a výstup) dat mezi počítačem a periferním zařízením probíhá ve dvou fázích: přenos informací z počítače do periferního zařízení a příjem informací z periferního zařízení. Taková organizace práce je nutná k eliminaci vzniklých chyb (například při přetečení přijímací vyrovnávací paměti periferního zařízení nebo k externímu rušení) a k okamžitému informování systému o stavu vstupního/výstupního procesu.

    Na rozdíl od paměť s náhodným přístupem, může procesor také adresovat další oblast, známou jako I/O adresní prostor. Každý I/O port má jedinečnou sadu I/O adres. Mikroprocesor obsahuje dvě instrukce: IN a OUT, které se používají ke čtení a zápisu dat do I/O adresního prostoru, a také další instrukce, které řídí I/O porty (tyto instrukce budou probrány při studiu assembleru).

    I/O porty se podle způsobu přenosu dělí na paralelní a sériové.

    V paralelní port(Paralelní port) v jednom směru je současně přenášeno 8 bitů (1 byte) informací najednou. Konektor paralelního portu tedy obsahuje osm linek pro přenos dat a na počítači s obousměrným paralelním portem se dalších osm linek používá pro příjem dat.

    Pro paralelní port neexistuje žádný mezinárodní standard, ale de facto standardem je specifikace zveřejněná výrobcem periferií Centronics (proto bývá označována jako standard Centronics).

    Rozhraní Centronics v počítači využívá pro výměnu dat 25pinový "matkový" konektor (pinové zdířky pro kabelové kolíky).

    Existují následující typy paralelních portů:

      Standard;

      vylepšený paralelní port EPP (Enhanced Parallel Port);

      Port ECP (Extended Capability Port).

    Standardní paralelní port je určen pouze pro jednosměrný přenos dat z počítače do tiskárny. Poskytuje maximální rychlost přenosu dat 120 až 200 KB/s.

    PřístavEPP Je obousměrný, to znamená, že zajišťuje přenos 8 bitů dat v obou směrech. To šetří CPU od nutnosti provádět pomalé instrukce jako IN a OUT, což umožňuje programu přímo se zabývat přenosem dat. Port EPP přenáší a přijímá data téměř 6krát rychleji než standardní paralelní port, a to především díky přítomnosti vyrovnávací paměti. Speciální režim (pomocí přímého přístupu do paměti - DMA) umožňuje portu EPP přenášet bloky dat přímo z RAM do sériového portu a obcházet procesor. Pomocí příslušného softwaru může port EPP přijímat a přenášet data rychlostí až 2 MB/s. Stejně jako rozhraní SCSI vám port EPP umožňuje řetězit až 64 periferií.

    Další rozvoj přístavu EPP byl přístavECP. Má stejné možnosti jako port EPP, ale počet zařízení se zvýšil na 128. Port ECP navíc implementoval tak důležitou funkci, jako je komprese dat.

    Pro kompresi dat se používá metoda RLE (Run Length Encoding), při které se dlouhá sekvence identických znaků přenáší ve dvou bytech: jeden bajt určuje opakující se znak, druhý počet opakování. Standard ECP umožňuje kompresi a dekompresi dat jak v softwaru (pomocí ovladače), tak v hardwaru (pomocí schématu portů).

    V současné době jsou zahrnuty standardy portů EPP a ECP StandardIEEE 1284 . Tento standard definuje čtyři režimy provozu: nibble, byte, EPP a ECP. Kromě funkcí portů EPP a ECP umožňuje standard IEEE 1284 tiskárně odeslat signál, když dojde k poplachu.

    Přestože operační systém poskytuje pro paralelní porty tři logická jména - LPT1 (synonymum PRN), LPT2 a LPT3, počítač je obvykle dodáván s jedním paralelním portem (v moderních počítačích je řadič paralelního portu umístěn na základní desce)

    Paralelní port se nejčastěji používá pro připojení tiskárny. Můžete k němu ale připojit i další zařízení, jako jsou skenery, externí jednotky, páskové jednotky a jednotky CD. Paralelní port lze také použít pro výměnu dat mezi dvěma počítači.

    Paralelní port poskytuje poměrně vysokou přenosovou rychlost, protože tento přenos se provádí byte po byte. Při dlouhé délce kabelu nebo při nepříliš intenzivní výměně dat je však výhodnější sériový port.

    Sériový port(Sériový port) přenáší pouze 1 bit informace najednou v jednom směru. Přes tento port lze přenášet data jak z PC do externího zařízení, tak i naopak.

    Sériové porty počítače obvykle odpovídají mezinárodnímu standardu RS-232C (Reference Standard 232 verze C), takže můžete připojit jakékoli zařízení, které je také orientováno na tento standard (například myš, modem, sériová tiskárna nebo sériový port jiného počítač) k tomuto portu. Toto rozhraní používá 9 komunikačních kanálů: jeden z nich se používá pro přenos informací z počítače, druhý - pro příjem dat z periferního zařízení. Zbývajících 7 kanálů se používá k řízení samotného procesu výměny dat.

    Sériový port se skládá z čipu UART (Universal Asynchronous Receiver/Transmitter) a některých podpůrných komponent. Tento čip převezme datové bajty ze sběrnice počítače, převede je na bitový řetězec, přidá potřebné rámcové bity a poté provede přenos dat a provede opak příjmu datového řetězce.

    Moderní čipy UART jsou vybaveny vyrovnávací pamětí a poskytují rychlost přenosu dat až 115 Kbps.

    Data v sériovém přenosu jsou oddělena servisními pakety, jako je start bit a stop bit. Tyto bity označují začátek a konec přenosu sériových datových bitů. Tento způsob přenosu umožňuje synchronizaci mezi přijímající a vysílající stranou a také vyrovnávání rychlosti výměny dat.

    Pro identifikaci a rozpoznání chyb během sériového přenosu může být navíc součástí balení paritní bit. Hodnota paritního bitu je určena binárním součtem všech přenesených datových bitů. V režimu sudé parity je hodnota paritního bitu 0, pokud je součet bitů sudý, a v opačném případě 1. Paritní bity mají inverzní (reverzní) hodnoty (respektive 1 nebo 0), pokud je paritní bit lichý (Odd Parity).

    Váš počítač je standardně dodáván se dvěma sériovými porty. V moderních počítačích jsou řadiče sériového portu, stejně jako řadič paralelního portu, umístěny na základní desce. Rozdíl mezi konektorem sériového portu a paralelním konektorem je ten, že tento konektor má kolíky, nikoli zásuvky (konektor „otce“). Starší počítače používaly jeden 25pinový a jeden 9pinový konektor, moderní počítače používají dva 9pinové konektory. Délka kabelu sériového portu je omezena na 18 m. Hlavním zařízením připojeným k sériovému portu je modem.

    Některé počítače, zejména ty zaměřené na komunikační aplikace, mohou mít sériové porty založené na jiných standardech (jako je RS-449A nebo RS-613), které poskytují vyšší přenosové rychlosti na delší vzdálenosti.