Na základnej doske výstup lpt. Čo je to "LPT" port a na čo slúži? Príprava PCB

Už na úsvite objavenia sa prvých počítačov mali tvorcovia za úlohu pripojiť k nim rôzne zariadenia. Toto sa stalo obzvlášť dôležité, keď počítače prestali zaberať celé miestnosti, ale začali sa zmestiť na stôl, to znamená, že sa stali osobnými. Koniec koncov, počítač nie je len prostriedkom na vykonávanie výpočtov, ale aj zariadením, ktorého používateľ môže vykonávať veľa úloh. rôzne funkcie: tlač textu alebo fotografií, správa rôzne zariadenia, prehrávať filmy a hudbu, spájať sa s ostatnými používateľmi z celého sveta pomocou počítačovej siete. To všetko je možné, keď sú k počítaču pripojené externé zariadenia, ktoré sa všeobecne nazývajú periférne zariadenia, pomocou špeciálnych zjednotených konektorov nazývaných porty.

PC porty

Porty osobný počítač(inak sa nazývajú aj rozhrania) sú špeciálne zariadenia umiestnené na základná doska počítač, prípadne k nemu pripojené prídavné dosky, ktoré sú určené na prenos dát medzi počítačom a externými zariadeniami (tlačiareň, myš, monitor, webkamera a pod.). Všetky porty možno podmienečne rozdeliť do 2 veľkých skupín:

  • Interné - na pripojenie zariadení vo vnútri počítača (pevné disky, grafické karty, rozširujúce karty).
  • Externé - pre pripojenie externých periférií (skener, monitor, klávesnica, fotoaparát, flash disk).

V tomto článku sa budeme zaoberať jedným z typov externých portov, konkrétne portom LPT, jeho princípom fungovania, pripojenými zariadeniami a modernými aplikáciami.

Vzhľad LPT portu

Spočiatku LPT-port (nazýva sa aj bol vyvinutý len na pripojenie tlačiarní k PC, to sa odráža aj v jeho názve - Line Printer Terminal, line printer terminal. No neskôr sa toto rozhranie začalo používať na pripojenie ďalších zariadení : skenery, disky a dokonca aj počítače medzi sebou.

LPT port vyvinula spoločnosť Centronics, ktorá sa zaoberala výrobou ihličkové tlačiarne. Ale po 10 rokoch ho IBM začalo používať na pripojenie svojho vysokorýchlostné zariadenia. Dostalo sa to do bodu, keď bolo viacero možností toto rozhranie od rôznych výrobcov periférií.

V pôvodnej verzii bol tento port jednosmerný, to znamená, že mohol prenášať údaje iba jedným smerom: z počítača do periférneho zariadenia. Toto obmedzenie ale používateľom čoskoro prestalo vyhovovať, keďže sa na trh začali masovo dostávať zariadenia s možnosťou prenosu dát oboma smermi. Pre to rôznych výrobcov ponúkali svoje vylepšenia – obojsmerné, ECP, EPP a iné. Až do prijatia medzinárodného štandardu IEEE 1284 v roku 1994.

Schéma portu LPT

Port LPT sa nazýva paralelný, pretože prenos údajov cez neho sa vykonáva cez niekoľko vodičov súčasne, to znamená paralelne. Toto rozhranie má 8-bitovú dátovú zbernicu, 5-bitovú signálovú zbernicu a 4-bitovú stavovú zbernicu.

Nižšie je pinout portu LPT.

Princíp fungovania LPT portu

V najjednoduchšej konfigurácii by na implementáciu princípu paralelného rozhrania stačilo iba jedenásť vodičov, a to: 1 vodič na šasi (zem), 2 potvrdzovacie vodiče a 8 dátových vodičov. Ale podľa všeobecne akceptovaného štandardu IEEE 1284 má každý z ôsmich dátových vodičov (2-9) samostatné uzemnenie.

Počas prenosu dát si obe zariadenia musia navzájom oznamovať informácie o svojom stave. Toto je realizované pomocou pinov 18 a 35, ktoré sú napájané napätím 0 V alebo 5 V.

Na vodiči 1 sa odošle špeciálny signál STROBE, ktorý indikuje, že počítač nastavil dátový bajt na linke a tlačiareň môže začať tlačiť.

Pin 11 odošle do počítača signál BUSY, ktorý indikuje, že zariadenie vykonáva akciu (zaneprázdnené), pričom spracováva informácie, ktoré sú vo vyrovnávacej pamäti.

Kolíky 12-14 nesú signály, ktoré poskytujú riadiace signály o stave tlačiarne a konfliktoch v jej vybavení.

Cez vodič 12 sa do PC prenáša informácia, že v tlačiarni nie je papier. Počítač odpovie odoslaním signálov na riadky SELECT a ERROR a zastaví tlač.

Cez vodič 13 sa do počítača prenášajú informácie o stave tlačiarne - je zapnutá a pripravená alebo vypnutá a nie je pripravená.

Kolík 14 vysiela do tlačiarne signál o automatickom posune riadku.

Na kontakte 31 (16) sa vyšle signál na prepnutie tlačiarne do jej počiatočného stavu a vyrovnávacia pamäť údajov sa vymaže, to znamená, že z pamäte tlačiarne sa vymažú všetky údaje.

Pin 32 (15) prenáša všetky chybové hlásenia počas prenosu dát. Signály prenášané na tejto linke ovplyvňujú všetky ostatné kontakty a môžu zastaviť tlač. Bežnou chybou tlačiarne je napríklad Time Out, ku ktorému dochádza, keď je tlačiareň zaneprázdnená rovnakým typom spracovania údajov a nemôže komunikovať s PC prostredníctvom signálu BUSY, že nie je pripravená na príjem nových údajov. Po určitom čase sa do počítača cez linku ERROR prenesie chyba Time Out a neprenesú sa žiadne nové dáta. V opačnom prípade by pri absencii signálu ERROR došlo k ďalšiemu prenosu dát, čo by viedlo k zaveseniu celého systému.

Kontakt 36 (17) prenáša informáciu o pripravenosti tlačiarne na prevádzku napríklad po odstránení chyby.

Prevádzkové režimy portu LPT

Existuje niekoľko režimov prevádzky portu LPT, ktoré umožňujú používanie štandardu IEEE 1284:

  • SPP (Standard Parallel Port) je jednosmerný port, ktorý dobre spolupracuje s rozhraním Centronics.
  • NibbleMode - využitie tohto portu je možnosť organizácie obojsmernej výmeny dát v režime SPP pomocou riadiacich liniek (4 bity) na prenos dát z periférneho zariadenia do ovládača.
  • Byte Mode je režim pre obojsmernú výmenu dát, ktorý sa používa pomerne zriedka. Používal sa v niektorých starších ovládačoch pred prijatím štandardu IEEE 1284.
  • EPP (Enhanced Parallel Port) - na vývoji tohto portu pracovalo niekoľko známych spoločností naraz: Intel, Xircom a Zenith Data Systems. Svojou činnosťou ide o obojsmerný port, ktorý prenáša dáta rýchlosťou až 2 MB/s.
  • ECP (Extended Capabilities Port) - táto možnosť portu sa objavila ako výsledok práce dvoch spoločností: HP a Microsoft. Už má pridané vlastnosti, napríklad možnosť hardvérovej kompresie dát, prítomnosť vyrovnávacej pamäte a možnosť pracovať v režime DMA. Podporuje aj obojsmernú výmenu dát (symetrickú), ktorej rýchlosť môže byť až 2,5 MB/s.

Nastavenie LPT portu

Nastavenie portu LPT prebieha v dvoch fázach: predbežná konfigurácia hardvéru portu a aktuálne prepínanie režimov portu aplikačným softvérom.

Spôsob a možnosti konfigurácie portu LPT závisia od jeho umiestnenia a typu vykonania. Porty umiestnené na rozširujúcich kartách sa zvyčajne konfigurujú pomocou prepojok na samotných kartách, zatiaľ čo porty umiestnené priamo na základnej doske počítača sa konfigurujú prostredníctvom nastavení systému BIOS.

Voľba režimov priamo alebo cez BIOS sama osebe nevedie k zvýšeniu rýchlosti výmeny dát medzi PC a perifériami, ale slúži na to, aby si vodič mohol zvoliť optimálny prevádzkový režim. Ale samotní ovládače moderných zariadení automaticky nastavujú najefektívnejšie režimy prevádzky paralelného portu, takže manuálne nastavenie vo väčšine prípadov už nie je potrebný.

Typy implementácií portov LPT

Predtým väčšina výrobcov základných dosiek umiestňovala radiče LPT portov na svoje produkty alebo na zadnú stranu základnej dosky. Bolo tam iné miesto. V niektorých prípadoch bolo vhodné umiestniť ovládač na samotnú dosku – konektor na pripojenie externého držiaka LPT-portu. Ale od nástupu rýchlejších rozhraní na prenos dát je základných dosiek so spájkovanými LPT portami čoraz menej. Teraz dokonca nie každý výrobca má takéto dosky vo svojom sortimente. A potom prídu na pomoc rozširujúce karty pripojené k modernejším rozhraniam:

  • PCI - LPT port. Adaptér medzi portom LPT a modernejším slotom PCI.
  • PCI2 - LPT port (PCI-Ex. 2.0). Adaptér medzi portom LPT a konektorom PCI-Ex.2.0
  • USB - LPT port. Adaptér medzi LTP portom a modernou verziou široko používaného USB konektora.

Moderná aplikácia LPT portu

Vďaka schopnosti paralelného prenosu dát takéhoto portu sa v 70. a 80. rokoch ukázal ako jedno z najrýchlejších počítačových rozhraní. Preto sa dokonca používal na prepojenie 2 počítačov navzájom. Rovnaká vlastnosť však tiež obmedzuje maximálnu dĺžku kábla v dôsledku rušenia susedných vodičov. Dĺžka nesmie presiahnuť 5 m, v opačnom prípade skreslenie signálu presiahne skreslenie povolené pre správne rozpoznanie údajov.

S príchodom rýchlejších rozhraní sa význam LPT portu stratil. Druhý dych mu dali rádioamatéri, ktorí ho využívajú na ovládanie zhromaždené obvody(osvetlenie v dome, svetelná hudba a iné zariadenia).

vyššie odborné vzdelanie

"Štátna technická univerzita Komsomolsk-on-Amur"

Katedra priemyselnej elektroniky

Testovanie LPT portu osobného počítača

Pokyny pre laboratórne práce v sadzbe

"Nástroje na ladenie mikroprocesorových systémov" pre študentov odboru 210100 "Elektronika a nanoelektronika"

Komsomoľsk na Amure 2013

Testovanie LPT portu osobného počítača: Pokyny pre laboratórnu prácu na predmete "Nástroje na ladenie mikroprocesorových systémov" pre študentov odboru 210100 "Elektronika a nanoelektronika" / Comp. CM. Kopytov. - Komsomolsk-on-Amur: štát Komsomolsk-on-Amur. tech. un-t, 2013. - 19 s.

Zvažuje sa paralelné rozhranie Centronics, signály a softvérová podpora LPT portu osobného počítača, sú uvedené odporúčania na jeho testovanie.

Navrhované usmernenia sú určené pre študentov smeru 210100.

Vydané na objednávku redakčnej a vydavateľskej rady Štátnej technickej univerzity Komsomolsk-on-Amur.

Dohodnuté s normalizačným oddelením.

Recenzent V.A. Egorov

Cieľ: preštudujte si hlavné vlastnosti štandardného portu LPT. Osvojiť si princípy programom riadenej výmeny informácií cez paralelný port. Naučte sa kontrolovať jeho výkon.

1 Základné informácie

1.1 Popis paralelného rozhrania

Historicky bolo do osobného počítača (PC) zavedené paralelné rozhranie na pripojenie tlačiarne (odtiaľ skratka LPT - Line Printer - riadková tlačiareň). Neskôr sa však paralelné rozhranie začalo používať na pripojenie ďalších periférnych zariadení (PU). Základná verzia portu umožňuje prenos dát len ​​jedným smerom (z PC do PU), neskôr však bolo vyvinutých množstvo štandardov pre obojsmerný prenos dát.

V moderných kancelárskych počítačoch spravidla nie je k dispozícii port LPT, ale inštaláciou rozširujúcej karty s viacerými portami môžete takýto port získať.

Adaptér paralelného rozhrania je súbor registrov umiestnených v adresnom priestore I/O zariadení. Počet registrov závisí od typu portu, ale tri z nich sú štandardné a vždy prítomné. Sú to dátový register, stavový register a riadiaci register. Adresy registrov sa počítajú od základne, ktorej štandardné hodnoty sú 3BCh, 378h, 278h. Port môže používať hardvérové ​​prerušenie (IRQ7 alebo IRQ9). Mnoho moderných systémov vám umožňuje zmeniť režim portu, adresu a IRQ z nastavenia systému BIOS (Base Input Output System).

Port LPT má externú 8-bitovú dátovú zbernicu, 5-bitovú zbernicu stavového signálu a 4-bitovú zbernicu riadiaceho signálu. Je zrejmé, že port je asymetrický - 12 riadkov funguje pre výstup a iba 5 pre vstup.

Pri počiatočnom Spustenie systému BIOS sa pokúša odhaliť paralelný port a robí to primitívnym a nie vždy správnym spôsobom - testovací bajt pozostávajúci zo striedajúcej sa sady núl a jednotiek (55h alebo AAh) sa prenesie na možné základné adresy portov, potom sa načíta sa vykonáva na rovnakej adrese a ak sa čítaný bajt zhoduje so zapísaným, má sa za to, že na tejto adrese bol nájdený LPT port. Systém BIOS nedokáže určiť adresu portu LPT4. Pre prácu s PU poskytuje BIOS prerušenie INT 17h, ktoré poskytuje možnosť prenášať dáta (bajt po byte), inicializovať PU a prijímať informácie o jej stave.

Koncept Centronics označuje sadu signálov, komunikačný protokol a 36-kolíkový konektor, ktoré boli predtým nainštalované v tlačiarňach. Účel signálov a kontakty PU konektora, na ktorý sú vyvedené, sú uvedené v tabuľke 1.

Tabuľka 1 - Signály rozhrania Centronics

Smer

Účel

Dátový stroboskop. Počítač je prenášaný, dáta sú fixované nízkou úrovňou signálu.

Dátové linky. D0 je najmenej významný bit.

Acknowledge – potvrdzovací impulz bajtu (požiadavka na prijatie ďalšieho). Môže byť použitý na generovanie prerušenia.

Zaneprázdnený. Príjem dát je možný len pri nízkej úrovni signálu

"1" signalizuje koniec papiera

"1" znamená, že tlačiareň je zapnutá (GP - pripravenosť prijímača), zvyčajne +5 V cez odpor z PU zdroja)

Automatický posuv riadku. Ak je "0", potom PU po prijatí znaku CR (carriage return) vykoná funkciu LF - line feed

Chyba PU (off-line, došiel papier, toner, Vnútorná chyba)

Inicializácia (skok na začiatok riadku, resetovanie všetkých parametrov na predvolené hodnoty)

Výber tlačiarne. Ak je "1", tlačiareň neakceptuje iné signály rozhrania

spoločný drôt

Poznámka: stĺpec "T" - aktívna úroveň signálu: "1" - vysoká aktívna úroveň, "0" - nízka aktívna úroveň. Stĺpec "Smer" - smer prenosu vo vzťahu k tlačiarni: I - Vstup (vstup), O - Výstup (výstup).

Signál Auto LF sa takmer vôbec nepoužíva, ale jeho nesprávna hodnota spôsobuje, že tlačiareň pri tlači v dvoch prechodoch buď preskakuje riadky, tlačí riadky na seba alebo duplikuje riadky.

Domácim analógom rozhrania Centronics je IRPR-M. Okrem neho je tu rozhranie IRPR (zastarané), ktoré sa líši protokolom výmeny, absenciou signálu „Error“ a inverziou dátových liniek. Okrem toho sú na všetky vstupné linky IRPR pripojené dvojice zakončovacích odporov: 220 Ohm až +5 V a 330 Ohm na spoločný vodič. To preťažuje väčšinu moderných adaptérov rozhrania PC.

Protokol na výmenu údajov cez rozhranie Centronics je znázornený na obrázku 1.

Obrázok 1 - Protokol na výmenu dát cez rozhranie Centronics

Prenos začína tým, že zdroj skontroluje chybový signál. Ak je nastavený, výmena sa nevykoná. Potom sa skontroluje stav signálu Busy. Ak sa rovná "0", potom zdroj pokračuje v prenose dátového bajtu. Na prenos bajtu zdroj vloží dátový bajt na linku D0-D7 a vydá signál Strobe#. Prijímač na signále Strobe# (ďalej znak "#" za názvom signálu označuje, že signál má nízku aktívnu úroveň) načítava dáta z dátovej zbernice a nastavuje Busy signál na dobu jeho spracovania. Na konci spracovania prijímač vydá signál ACK# a odstráni signál Busy.

Ak zdroj dlhší čas (6 - 12 sek.) neprijíma ACK#, rozhodne o chybe "time-out" zariadenia. Ak po prijatí bajtu nie je prijímač z akéhokoľvek dôvodu pripravený na príjem dát, neodstráni signál Busy. O implementácia softvéru výmene pomocou zadaného protokolu, je žiaduce obmedziť čakaciu dobu na odstránenie Busy (zvyčajne 30 - 45 sekúnd), inak sa program môže zablokovať.

Štandardný paralelný port sa nazýva SPP (Standard Parallel Port). Port SPP je jednosmerný, na jeho základe je softvérovo implementovaný výmenný protokol Centronics. Port poskytuje možnosť generovať IRQ na impulze ACK# na vstupe. Signály portov sú vyvedené na štandardný konektor DB-25S (samica), ktorý je umiestnený priamo na doske adaptéra alebo je k nej pripojený plochým káblom (ak je adaptér integrovaný so základnou doskou).

Názvy signálov zodpovedajú názvom signálov rozhrania Centronics (tabuľka 1) a obrázok konektora adaptéra rozhrania zo strany počítača je znázornený na obrázku 2.

Tabuľka 2 - Konektor a kábel štandardného portu LPT

Slučkový drôt

10, 22, 14, 16, 18, 20, 22, 24, 26

Poznámka. I/O – smer prenosu: I – vstup; O - výstup; O(I) - výstup, ktorého stav je možné za určitých podmienok prečítať, O/I - výstupné riadky, ktorých stav sa načítava pri čítaní z príslušných portových registrov. * - Vstup ACK# je pripojený k napájaniu +5 V cez odpor 10 kΩ. Deje sa tak, aby sa predišlo falošným prerušeniam. Prerušenie je generované zostupnou hranou signálu na vstupe ACK#.

Obrázok 2 - Konektor adaptéra rozhrania Cetronics DB-25S

Nevýhodou štandardného LPT portu (SPP) je nízka rýchlosť prenosu dát (100 - 150 kB/s), zaťaženie procesora pri prenose dát a nemožnosť obojsmernej výmeny bajt po byte. Existuje technika obojsmernej výmeny „amatérskeho rádia“, ktorá spočíva v nastavení „1“ pre vstup dát na vedeniach D0-D7 a vo využití mikroobvodov s otvoreným kolektorom ako vysielača, ktorý s otvoreným tranzistorom dokáže „pumpovať“ napätie logickej jednotky na úroveň cca 1,5 - 1,7 V. Prúd je obmedzený na 30 mA. Ako je zrejmé z úrovní signálu, nezodpovedajú úrovniam TTL, takže veľa portov v tomto režime nefunguje alebo je nestabilných. Okrem toho môže byť táto metóda nebezpečná pre adaptér portu, ktorý bude fungovať so svojimi aktuálnymi limitmi.

štandard IEEE 1284, prijatom v roku 1994, definuje pojmy SPP, EPP a ECP. Norma definuje 5 komunikačných režimov, spôsob vyjednávania režimu, fyzické a elektrické rozhrania. Podľa IEEE 1284 sú cez paralelný port možné nasledujúce komunikačné režimy:

Režim kompatibility - jednosmerný (výstupný) pomocou protokolu Centronics. Tento režim zodpovedá štandardnému portu SPP;

Nibble Mode – vloženie bajtu v dvoch cykloch (každý 4 bity), pomocou stavového riadku. Tento režim výmeny je možné použiť na ľubovoľných adaptéroch;

Byte Mode - zadajte celý bajt pomocou na príjem dátovej linky. Tento režim funguje len na portoch, ktoré umožňujú výstup čítania (obojsmerný alebo PS/2 typ 1);

Režim EPP (Enhanced Parallel Port) - obojsmerná výmena dát, pri ktorej sú riadiace signály rozhrania generované hardvérom počas cyklu prístupu k portu (čítanie alebo zápis na port). Efektívne pri práci s externými pamäťovými zariadeniami, LAN adaptérmi;

ECP (Extended Capability Port) Mode - obojsmerná výmena s možnosťou hardvérovej kompresie dát cez Metóda RLE(Run Length Encoding), použitie vyrovnávacích pamätí FIFO a DMA. Riadiace signály rozhrania sú generované hardvérom. Efektívne pre tlačiarne a skenery.

V moderných strojoch s LPT portom na základnej doske sa režim portu - SPP, EPP, ECP alebo ich kombinácia nastavuje v BIOS Setup. Režim kompatibility je plne kompatibilný s SPP a je často predvolene nastavený. Všetky ostatné režimy rozširujú funkčnosť rozhrania a zvyšujú jeho výkon. Okrem toho štandard špecifikuje, ako dohodnúť režim dostupný pre PC aj periférne zariadenie.

Fyzické a elektrické rozhranie. Norma IEEE 1284 definuje fyzikálne vlastnosti prijímačov a vysielačov signálu. Je nevyhnutné, aby sa počas prenosu používali logické úrovne TTL.

Norma IEEE 1284 definuje tri typy používaných konektorov: A (DB-25S), B (Centronics-36), C (nový malý 36-pinový konektor). Káble rozhrania môžu mať 18 až 25 vodičov (v závislosti od počtu vodičov GND). Obyčajné káble môžu fungovať len ďalej nízke rýchlosti s dĺžkou nie väčšou ako 2 metre. Vylepšené tienené káble so signálovými vodičmi prepletenými bežnými vodičmi môžu mať dĺžku až 10 metrov. Takéto káble sú označené ako "IEEE Std 1284 - 1994 Compliant".

Práca s paralelným portom na nízkej úrovni(t.j. na úrovni priameho prístupu k radiču portov) sa používa pri riešení rôznych úloh výmeny informácií s neštandardnými zariadeniami, na písanie ovládačov tlačiarne a množstvo ďalších úloh. Priama práca s ovládačom vám umožňuje implementovať akýkoľvek výmenný protokol so zariadením a používať portové linky podľa vlastného uváženia.

Radič portov sa nachádza v adresnom priestore I/O zariadení a pristupuje sa k nemu pomocou príkazov IN a OUT assembleru. Informácie o portoch LPT1 až LPT3 možno získať prečítaním premenných systému BIOS uvedených v tabuľke 3.

Tabuľka 3 - Premenné systému BIOS pre porty LPT

Názov portu

Adresa v systéme BIOS

Variabilný typ

Popis

Základná adresa portu LPT1. Ak je premenná 0, port LPT1 sa nenašiel

Časový limit konštantný

Základná adresa portu LPT2. Ak je premenná 0, port LPT2 sa nenašiel

Časový limit konštantný

Základná adresa portu LPT3. Ak je premenná 0, port LPT3 sa nenašiel

Časový limit konštantný

Základná adresa portu LPT4. Ak je premenná 0, port LPT4 sa nenašiel

Časový limit konštantný

BIOS hľadá porty na základných adresách: 3BCh, 378h, 278h. Port LPT4 BIOS nemôže nájsť:

378h - paralelný adaptér LPT1;

278h - paralelný adaptér LPT2;

3BCh - paralelný adaptér LPT3.

Štandardný port má tri 8-bitové registre umiestnené na susedných adresách, začínajúc od základnej (základnej) adresy. Zoznam týchto registrov je uvedený v tabuľke 4.

Tabuľka 4 - Štandardné registre LPT portov

Register údajov (DR). Dáta zapísané do tohto registra sú vyvedené na výstupné linky rozhrania D0-D7. Výsledok čítania tohto registra závisí od zapojenia adaptéra a zodpovedá buď predtým zaznamenaným údajom alebo signálom na linkách D0-D7, ktoré nie sú vždy rovnaké. Pri štandardnom zahrnutí platí prvá možnosť - načítané dáta sa rovnajú predtým zapísaným.

Stavový register (SR). Ide o 5-bitový vstupný port, ktorý prijíma stavové signály z externého zariadenia. Umožňuje iba čítanie. Účel bitov tohto registra je uvedený v tabuľke 5.

Tabuľka 5 - Bity stavového registra SR

názov

Účel

Inverzné zobrazenie stavu obsadenej linky (11). Na nízkej úrovni na riadku 11 (Obsadené) - bit je "1" - PU je pripravená prijať ďalší bajt

Zobrazte stav riadku ACK# (10).

"0" - potvrdenie prijatia,

"1" - normálny stav

Zobrazte stav riadka konca papiera (12).

"0" - norma, "1" - v PU nie je papier

Zvoľte zobrazenie stavu linky (13).

"0" - PU nie je zvolené, "1" - PU je zvolené

(inverzne)

Zobrazenie stavu linky Chyba (15).

"0" - chyba PU, "1" - normálny stav

Príznak prerušenia ACK# (len PS/2).

Nastavte na nulu, ak ACK# spôsobilo hardvérové ​​prerušenie. "1" - po resete alebo po načítaní stavového registra

Nepoužité (rezerva)

Riadiaci register (CR). Riadiaci register je 4-bitový výstupný port, ktorý možno čítať a zapisovať. Bity 0, 1, 3 sú invertované, t.j. "1" v týchto bitoch riadiaceho registra zodpovedá "0" na zodpovedajúcich portoch. Priradenia bitov riadiaceho registra sú uvedené v tabuľke 6. Bit 5 používajú len obojsmerné porty.

Tabuľka 6 - Bity riadiaceho registra CR

názov

Účel

Bit riadenia smeru portu.

"1" - vstupný režim, "0" - výstupný režim

ACK# riadiaci bit generovania prerušenia. "1" - povoliť záložné prerušenie ACK# (10)

Riadkové ovládanie SLCT IN# (17).

"1" – prevádzka tlačiarne je povolená.

Riadkový ovládač INIT# (16). "1" - normálny stav, "0" - hardvérový reset PU

Automatické ovládanie linky LF# (14). "1" - aktivácia režimu "Auto LF", "0" - normálny stav

Riadenie stroboskopu# (1). "1" - stroboskop údajov, "0" - normálny stav

Programovanie rozhrania. Ak chcete vyvíjať aplikačné programy, musíte vybrať programovací jazyk. Ak potrebujete jednoduchý, rýchly a kompaktný program, ktorý neobsahuje zložité výpočtové operácie, potom je lepšie zvoliť na jeho písanie nízkoúrovňový jazyk (assembly language). Assembler patrí do skupiny strojovo orientovaných jazykov, t.j. každá rodina mikroprocesorov má svoj vlastný jazyk.

Ak sa majú vykonávať zložité výpočty alebo ak sa nevyžaduje vysoký výkon programu, mal by sa zvoliť jazyk na vysokej úrovni. Objektové kódy vyplývajúce z prekladu programov napísaných vo vysokoúrovňovom jazyku zvyčajne zaberajú oveľa viac miesta v pamäti počítača a sú vykonávané pomalšie ako programy v assembleri. Často sa používa prístup, keď sú výkonovo kritické časti programu napísané v assembleri a výpočtové postupy sú napísané v jazyku vysokej úrovne, napríklad v Pascal alebo C.

Zvážte prácu s registrami rozhrania CENTRONICS v jazyku PASCAL alebo assembleri:

X - číslo typu "byte" (0..255). Napríklad pri odoslaní 170 10 = = 10101010 2 na linkách d0–d7 bude na pinoch d1, d3, d5, d7 prítomný jeden signál (označenie pinov začína d0). Číslo 170 zostane na kolíkoch konektora, kým tam nepošlete ďalšie číslo (môže to urobiť iný program) alebo nevypnete počítač. Všimnite si, že adresa portu v príkaze je v šestnástkovej sústave a odoslaná v desiatkovej sústave. Ak namiesto príkazu Pascal

Port[$378]:=170;

žiadate

kde d je premenná, potom premenná nadobudne hodnotu posledného bajtu odoslaného na port alebo pri prepnutí do režimu príjmu hodnotu bajtu odoslaného na port externým zariadením.

Príklad čítania stavového registra v Pascale:

Premenná d zobrazí stav portu po vykonaní programu. Povedzme, že premenná vrátila hodnotu 126 10 . AT binárna forma vyzerá to ako 01111110 2 . Spodné (pravé) tri bity (nula, prvý a druhý) sa nepoužívajú a sú takmer rovné 1, 1 a 0. Tretí bit je 1, čo znamená, že ERROR je vysoké. Rovnaká situácia na SELECT, Paper End, ACK a BUSY (nezabudnite, že signál BUSY je invertovaný).

Tu je príklad fragmentu programu, ktorý číta bajty z dátových riadkov D0-D7:

Port[$37A]:=32 ; hodnota 32 "zapne" tú v piatej

d:=Port[378 $] ; bit, čím sa port prepne do režimu vstupu

Ako je zrejmé z vyššie uvedených príkladov, programovanie LPT portu je veľmi jednoduchá úloha, ktorá značne uľahčuje prácu softvérového vývojára zariadení s diskutovaným rozhraním.

1.2 Testovanie portu LPT

Testovanie portu LPT je možné vykonať pomocou jednoduchej zástrčky, ktorú je možné vykonať pomocou tabuľky 7.

Tabuľka 7 - Tabuľka stub obvodov na testovanie LPT portu

Smer

Smer

Zástrčka je vyrobená zo samčieho konektora DB-25M prispájkovaním prepojok medzi kontakty uvedené v tabuľke.

Program používaný v laboratóriu test- lpt navrhnuté v . Pôvodne bol program určený na testovanie portu LPT. V skutočnosti sa však ukázalo, že s jeho pomocou je veľmi pohodlné ladiť nové zariadenia pripojené k portu LPT, ako aj nájsť chyby pri opravách rôznych digitálnych zariadení. Okrem toho je tento program vynikajúci študijná príručka pre začínajúcich programátorov a návrhárov obvodov. Je napísaný v programovacom jazyku C++. Po spustení programu sa na obrazovke monitora zobrazí okno prevádzky programu, ako je znázornené na obrázku 3.

Obrázok 3 - Okno programu Test-lpt

V strede tohto okna je konektor LPT portu s priradením pinov a zobrazením úrovne logického signálu na každom z nich. V tabuľke 1 nájdete popis signálov konektora DB-25F paralelného portu LPT.

V registroch prístupných zápisom môžete ľubovoľne meniť informácie, pričom stav portu bude automaticky poslúchať akcie užívateľa programu a zmenia sa aj logické úrovne na konektore. Výber registra podľa záznamu sa vykonáva pomocou kľúča TAB. Takto môžete ovládať port LPT v statickom režime a ladiť externé zariadenia, ktoré sú k nemu pripojené. Keďže niektoré bity registrov sú v samotnom počítači invertované, do programu bola zavedená maska ​​na invertovanie týchto bitov pri čítaní a zápise, aby sa eliminoval zmätok. Preto sú tieto registre označené apostrofom, ako napríklad SR“.

Riadky pomoci sú umiestnené v spodnej časti okna programu. Keď stlačíte kláves F10 Môžete vyvolať až päť pomocných obrazoviek pre port LPT. Obsahujú informácie o účele signálov portov, ich zhode s kolíkmi konektora, funkciách prerušenia portu, algoritme na tlač znaku, adresách a účele všetkých registrov portov a ďalšie užitočné informácie.

Klávesy Fl - F3 vám umožňujú vybrať číslo používaného portu LPT od 1 do 3, ak je v počítači k dispozícii. V opačnom prípade sa zobrazí hlásenie o nedostupnosti príslušného portu LPT a výber sa neuskutoční.

1.3 Použitie portu LPT pre I/O signály

Ako príklad použitia portu LPT na ovládanie externého zariadenia zvážte pripojenie unipolárneho krokového motora k počítaču.

Krokový motor (SM) je elektromechanické zariadenie, ktoré premieňa elektrické impulzy na diskrétne mechanické pohyby. Krokové motory majú niektoré jedinečné vlastnosti, vďaka ktorým sú mimoriadne jednoduché na používanie alebo sú v niektorých oblastiach dokonca nevyhnutné.

Krokové motory patria do triedy bezkomutátorových motorov priamy prúd. Ako každý bezkomutátorový motor sú vysoko spoľahlivé a majú dlhú životnosť, vďaka čomu sú vhodné pre aplikácie s kritickou spoľahlivosťou. V porovnaní s bežnými jednosmernými motormi vyžadujú krokové motory oveľa zložitejšie riadiace obvody na vykonanie všetkého spínania vinutí pri bežiacom motore.

Jednou z hlavných výhod krokových motorov je schopnosť vykonávať presné polohovanie a riadenie rýchlosti bez spätnoväzbového snímača. To je veľmi dôležité, pretože takéto senzory môžu stáť oveľa viac ako samotný motor. To je však vhodné len pre systémy, ktoré pracujú s nízkym zrýchlením a s relatívne konštantnou záťažou. Súčasne sú spätnoväzbové systémy schopné pracovať s vysokými zrýchleniami a dokonca aj s premenlivým charakterom zaťaženia. Ak zaťaženie krokového motora prekročí jeho krútiaci moment, potom sa stratí informácia o polohe rotora a systém vyžaduje kalibráciu napríklad pomocou koncového spínača alebo iného snímača. Systémy spätnej väzby túto nevýhodu nemajú.

Pri navrhovaní špecifických systémov si musíte vybrať medzi konvenčným a krokovým motorom. Ak sa vyžaduje presné polohovanie a presné riadenie rýchlosti a požadovaný krútiaci moment a otáčky sú v prijateľných medziach, krokový motor je najekonomickejším riešením. Na zvýšenie krútiaceho momentu možno rovnako ako pri bežných motoroch použiť redukčný prevod. Pre krokové motory však nie je vždy vhodná prevodovka. Na rozdiel od kartáčovaných motorov, kde sa krútiaci moment zvyšuje s rýchlosťou, má krokový motor väčší krútiaci moment pri nízkych rýchlostiach. Krokové motory majú navyše oveľa nižšie maximálne otáčky v porovnaní s kolektorovými motormi, čo obmedzuje maximálny prevodový pomer a tým aj zvýšenie krútiaceho momentu pomocou prevodovky. Hotové krokové motory s prevodovkami vyrába priemysel v malých objemoch. Ďalšou skutočnosťou, ktorá obmedzuje použitie prevodovky, je jej vlastná vôľa.

SD majú nasledovné Vlastnosti:

1. Uhol natočenia rotora je určený počtom impulzov, ktoré sú aplikované na motor.

2. Motor poskytuje plný krútiaci moment pri zastavení (keď sú vinutia pod napätím).

3. Presné polohovanie a opakovateľnosť. Dobré krokové motory majú presnosť 3-5% veľkosti kroku. Táto chyba sa nehromadí z kroku na krok.

4. Schopnosť rýchleho štartu / zastavenia / spätného chodu.

5. Vysoká spoľahlivosť vďaka absencii kefiek, životnosť krokového motora je vlastne určená životnosťou ložísk.

6. Jedinečná závislosť polohy od vstupných impulzov poskytuje polohovanie bez spätnej väzby.

7. Možnosť dosiahnutia veľmi nízkych otáčok pre záťaž pripevnenú priamo na hriadeli motora bez medziprevodovky.

8. Dá sa pokryť pomerne veľký rozsah otáčok, rýchlosť je úmerná frekvencii vstupných impulzov.

Krokové motory majú tiež obmedzenia:

1. Fenomén rezonancie je im vlastný.

2. Možná strata kontroly polohy v dôsledku prevádzky s otvorenou slučkou.

3. Spotreba energie neklesá ani bez záťaže.

4. Ťažko pracovať pri vysokých rýchlostiach.

5. Nízky špecifický výkon.

6. Pomerne zložitá schéma ovládania.

Existujú unipolárne a bipolárne krokové motory. Prvé majú štyri vinutia s jednou spoločnou svorkou a štyrmi riadiacimi svorkami, na ktoré sú v sérii privedené napätia rovnakej polarity. Tieto majú iba dve vinutia so štyrmi vodičmi, ktorých polarita napätia sa musí zmeniť.

Ak zatvoríte všetky výstupy prevádzkyschopného motora k sebe a pokúsite sa otočiť jeho hriadeľ, potom by sa hriadeľ mal otáčať s ťažkosťami v porovnaní s tým, ako sa otáča s otvorenými výstupmi.

Pre zosúladenie nízkovýkonových TTL výstupov LPT portu s nízkym odporom vinutia krokového motora je vhodné použiť budiaci čip ULN2003, ktorý obsahuje sedem výkonných tranzistorových spínačov typu n-p-n zostavených podľa Darlingtonovho obvodu. Každý kľúč je schopný ovládať záťaž s odberom prúdu do 500 mA. Mikroobvod má rezistory v základnom obvode, čo umožňuje priamo pripojiť jeho vstupy ku konvenčným digitálnym mikroobvodom. Všetky žiariče sú spojené dohromady a vyvedené na spoločný kolík E. Kolektory tranzistorových spínačov sú pripojené na kolík CLMP cez usmerňovacie diódy, čo umožňuje tomuto mikroobvodu ovládať indukčné záťaže s minimom vonkajších komponentov. V našom stánku boli použité iba štyri tranzistorové spínače.

Schéma elektrického zapojenia krokového motora je znázornená na obrázku 4.

Obrázok 4 - Schéma zapnutia krokového motora

Výstupy krokového motora sú pripojené k bitom D0 - D3 dátového registra paralelného portu cez čip ULN2003. Paralelne so vstupmi ovládača sú k bitom D0 - D3 pripojené červené LED diódy s odpormi obmedzujúcimi prúd. To umožňuje v režime ladenia a pri nízkych otáčkach sledovať poradie dodávania impulzov do vinutí motora.

Zvyčajne je pred prácou so zariadením využívajúcim pohon krokovým motorom potrebné nastaviť pohyblivú zostavu do východiskovej polohy. Na získanie spätnej väzby polohy v najjednoduchšom prípade sa používa koncový spínač, napríklad optočlen so štrbinou, ktorý obsahuje vlajku pripevnenú k pohyblivému uzlu. V stojane je vlajka upevnená priamo na hriadeli rotora motora. Toto riešenie uľahčuje určenie nielen počiatočnej polohy hriadeľa, ale aj počtu krokov na plnú rotáciu rotora.

Úlohu snímača spätnej väzby plní fototranzistor optočlena. Je na ňom postavený jednoduchý kľúč so spoločným emitorom, ktorého výstupný prúd je navyše zosilnený dvoma kľúčovými stupňami na tranzistoroch KT315. Zosilnený signál fototranzistora sa kvôli prehľadnosti rozsvieti na zelenú LED a prechádza na bit S3 (pin 15 konektora) registra stavu portu.

Algoritmus na ovládanie krokového motora je pomerne jednoduchý. Na kolíkoch portu je potrebné vytvoriť špeciálnu sekvenciu impulzov. Táto sekvencia je uvedená v tabuľke 8.

Tabuľka 8 - Kombinácia impulzov pre otáčanie hriadeľa motora

Číslo kroku


Postupnosť uvedená v tabuľke implementuje polovičný uhol natočenia hriadeľa o jeden krok. Ak použijete kombinácie iba pre kroky 1, 3, 5 a 7, potom dostaneme plný uhol natočenia hriadeľa o jeden krok.

Rozdiel medzi algoritmami (plný a polovičný uhol natočenia hriadeľa o jeden krok) je v tom, že v druhom prípade je rýchlosť otáčania dvakrát nižšia, zatiaľ čo uhol natočenia hriadeľa motora sa v každom kroku zníži o polovicu, tj zvyšuje sa rozlišovacia schopnosť.schopnosť systému. Taktiež v druhom prípade je spotreba energie približne dvojnásobná a navyše je motor schopný vyvinúť dvojnásobný krútiaci moment.

Na zmenu smeru otáčania hriadeľa motora je potrebné vytvoriť uvedené sekvencie v opačnom poradí.

Nasleduje krátky príklad spusteného programu Turbo C operačný systém MS DOS. Tento program spôsobí, že sa krokový motor otočí smerom dopredu v režime plného uhla o jeden krok.

Zvážte ďalší príklad riadiaceho programu krokového motora v jazyku symbolických inštancií. Tento program skúma snímač spätnej väzby a automaticky nastaví hriadeľ motora do pôvodnej počiatočnej polohy. Taktiež vykoná úplné otočenie rotora pri jeho spustení, aby zistil počet krokov na otáčku. Výsledný parameter umožňuje jednoznačne určiť požadovaný počet krokov na otočenie do požadovaného uhla. Na zobrazenie číselných hodnôt na obrazovke vo forme vhodnej pre operátora sa použili podprogramy na konverziu kódov zo zdroja.

; Ovládanie krokového motora cez LPT port

MODEL MALÝ ; pamäťový model

STACK 100h ; veľkosť segmentu zásobníka 100h

ÚDAJE ; dátový segment

TEXT1 DB "Počet krokov na otáčku - ",0DH,0AH, "$"

RESULT DB "", 0DH, 0AH, "$" ; počet krokov na otáčku v ASCII

TEXT2 DB "Nastavte počet krokov v smere hodinových ručičiek - ",0DH,0AH, "$"

TEXT3 DB "Nastavte počet krokov proti smeru hodinových ručičiek - ",0DH,0AH, "$"

TEXT4 DB "Nastavte čas jedného kroku v µs (od 2000 do 65000) - ", 0DH, 0AH, "$"

err_msg db "Zadané zlé číslo"

crlf db 0Dh,0Ah,"$"

tlmivý roztok db 6; maximálna veľkosť vstupnej vyrovnávacej pamäte

bdĺžka db ? ; veľkosť vyrovnávacej pamäte po prečítaní

bobsah DB 10 DUP(0) ; obsah vyrovnávacej pamäte

ST_MCS DW 0; vysoký bajt mikrosekúnd

ML_MCS DW 10000; nízky bajt mikrosekúnd

COUNT_T DW 1 ; plné otáčkové počítadlo krokov

COUNT_L DW 0 ; počítadlo krokov vľavo

COUNT_R DW 0 ; počítadlo krokov vpravo

CHYBA DB 0 ; príznak chyby

KÓD ; segment kódu

hlavný proces; začiatok hlavného postupu

mov ds, sekera ; nastaviť register DS

MOV DX, OFFSET TEXT1

INT 21H; výstup správy

MOV AL, 00010001B

H1: ROL AL, 1; nastavte hriadeľ do pôvodnej polohy

MOV DX, 378H; adresa registra údajov LPT

ČAS HOVORU; oneskorenie kroku

MOV DX, 379H; adresa registra stavu LPT

TEST AL, 08H; analýza stavu fototranzistora

JNZ H1; opakujte, ak nezačnite

H2: ROR AL,1; krok doprava, aby ste odstránili záves

INC COUNT_T ; akumulačné počítadlo krokov

MOV AX, COUNT_T ; prekódujte do ASCII a vypíšte kroky

MOV DX, OFFSET TEXT2

INT 21H ;výstup správ

CALL DEC2HEX ; zadajte počet krokov vľavo a

;previesť z ASCII na binárne

MOV COUNT_L, AX ; uložte počet krokov vľavo

MOV DX, OFFSET TEXT3

INT 21H; výstup správy

CALL DEC2HEX ; zadajte počet krokov vpravo a prekódujte z ASCII na binárne

JNZ FIN; koniec, ak zadáte nesprávne číslo

MOV COUNT_R, AX ; uložte počet krokov doprava

MOV DX, OFFSET TEXT4

INT 21H; výstup správy

CALL DEC2HEX ; zadajte čas kroku a

; previesť z ASCII na binárne

JNZ FIN; koniec, ak zadáte nesprávne číslo

MOV ML_MCS, AX ; ušetriť čas kroku

MOV AL, 00010001B

H3: ROL AL, 1; otočte motor doľava

H4: ROR AL, 1; otočte motor doprava

FIN: mov ah, 4ch ; Funkcia ukončenia programu DOS

int 21h; dokončiť program

hlavný koniec ; koniec hlavného postupu

; desiatkové ASCII číslice v ES:DI končiace na "$"

MOV DI,OFFSET VÝSLEDOK ; adresa výsledku

MOV BX, 10 ; rozdeľovač

XOR CX, CX ;Počítajte číslice do 0

DIVLP: XOR DX, DX

DIV BX ;vydeľte číslo 10

ADD DL, "0" ;pridajte nulu k zvyšku ASCII

PUSH DX ; stlačte číslo na zásobník

INC CX ;prírastok číslic počítadla

TEST AX, AX ; a ak je ešte niečo na zdieľanie,

JNZ DIVLP ;pokračovať v delení

STOSB ;pripojte ho na koniec riadku v ES:DI

LOOP STORE ;pokračujte pre všetky CX číslice

;MOV BYTE PTR ES:, "$" ;pripojte "$" na koniec riadku

MOV DX, OFFSET RESULT ; na adresu riadku DX

INT 21H ;linkový výstup

TIME PROC BLÍZKO ; oneskorenie v mikrosekundách

; Podprogram DEC2HEX prevádza desiatkové na hexadecimálne

DEC2HEX PROC BLÍZKO ; Zubkov, p. 152

mov dx, offset crlf

int 21h; preklad riadkov

; prevod ASCII čísla z vyrovnávacej pamäte na binárne číslo v AX

xordi,di; DI = 0 - číslo bajtu vo vyrovnávacej pamäti

xorax,ax; AX = 0 - aktuálna výsledná hodnota

mov si,cx ; SI - dĺžka vyrovnávacej pamäte

movcl,10; CL = 10, multiplikátor pre MUL

mov bl,byte ptr bobsah

sub bl "0" ; číslica = číselný kód - kód znaku "0"

jb asc_error ; ak bol kód znaku menší ako kód "0",

cmpbl,9; alebo viac ako "9"

ja asc_error ; ukončite program s chybovým hlásením

mul cx ; inak: vynásobte aktuálny výsledok 10,

pridať ax, bx ; pridajte k nemu nové číslo,

inc di; zvýšiť počítadlo

cmpdi,si ; ak je počítadlo+1 menšie ako počet znakov -

jb asc2hex ; pokračovať (počítadlo počíta od 0)

ret; ukončenie podprogramu (výsledok v AX)

asc_error: MOV ERROR, 1 ; príznak chyby

mov dx,offset err_msg

int 21h; zobrazí chybové hlásenie

ret; a ukončite podprogram

koniec hlavného; koniec programu s hlavným vstupným bodom

pushad ; zatlačte všetky bežné registre do zásobníka

mov ecx, ; nahrajte požadovaný počet kliešťov RDTSC

; Vypočítajte nebezpečnú hranicu počítadla

mov ebx,0ffffffffh ; 2 32 -1

sub ebx, ecx ; odpočítajte frekvenciu procesora

RDTSC; čítať počítadlo cyklov procesora

cmp eax, ebx ; porovnajte aktuálnu RDTSC s nebezpečnou hranicou

dec ecx; odpočítať to, čo už bolo namerané cyklom od toho, čo je potrebné; počet kliešťov

jae varovný_bord ; ak viac - slučka, ktorej sa treba vyhnúť

; prechod cez 0

mov ebx, eax ; Stiahnuť ▼ pôvodná hodnota počítadlo cyklov

; Počkajte na ecx kliešte (ecx = frekv mínus kliešte už prešli)

pridať ebx, ecx; získajte koncovú hodnotu počítadla

RDTSC; získať aktuálnu hodnotu počítadla

DB 0FH, 31H; Kód príkazu RDTSC

cmp eax, ebx ; porovnajte aktuálnu a koncovú hodnotu

jb tp; zatiaľ čo prúd je menší - slučka

popad ; vyberte všetky bežné registre zo zásobníka

Lpt port, často označovaný ako paralelný, je jedným z najstarších PC portov. Aj keď v súčasnosti takýto port nie je ani zďaleka dostupný na všetkých základných doskách, stále má určitú distribúciu, a preto mnohí používatelia počítačov a kancelárskych zariadení, najmä tlačiarní, majú veľký záujem dozvedieť sa, čo to je.

Najprv musíte pochopiť, čo znamená skratka lpt port. Pod LPT sa teda rozumie skratka kombinácie viacerých anglické slová, a to: Line Print Terminal. V preklade do ruštiny znamená LPT terminál riadkovej tlačiarne. Už podľa názvu je jasné, že je primárne určený do tlačiarne. Ale z teoretického hľadiska sa na LPT dajú pripojiť aj niektoré ďalšie zariadenia. Na tento účel sa používa špeciálny adaptér - adaptér lpt. Treba dodať, že v kruhoch používateľov má akceptovaný aj iný názov – port tlačiarne.

Vo všeobecnosti má port lpt pomerne dlhú históriu vývoja. Vyvinuli ho pracovníci spoločnosti Centronics, ktorá sa začiatkom 70. rokov minulého storočia špecializovala na výrobu ihličkových tlačiarní. Začiatok 80. rokov daný port Tlačiareň sa stala široko používanou spoločnosťou IBM, ktorá ju používala na svojich počítačoch. V tomto desaťročí sa port lpt dokonca dokázal stať štandardnou možnosťou potrebnou na pripojenie zariadení vysoké rýchlosti dostupné v týchto rokoch.

Spočiatku bolo rozhranie LPT prezentované v niekoľkých rôznych vydaniach. Zároveň bol v pôvodnej verzii jednosmerný, t.j. s jeho pomocou bolo možné prenášať informácie výlučne do periférneho zariadenia. Samozrejme, takáto situácia mnohým používateľom nevyhovovala, pretože. už v tých rokoch sa vyrábali tlačové zariadenia, ktoré vyžadovali prenos dát v dvoch smeroch. Preto museli vývojári po nejakom čase rozhranie LPTl niekoľkokrát vylepšiť. Tento proces trval až do predstavenia jeho štandardu s názvom IEEE 1284. Vývojári tak predstavili finálnu schému portov. nový štandard mal podporu pre niekoľko rôznych režimov prevádzky. Navyše bol kompatibilný s predchádzajúcimi štandardmi. Vo svojej finálnej verzii mohlo rozhranie tlačiarne podporovať na tú dobu pomerne vysokú rýchlosť prenosu dát, ktorá dosahovala 5 Mb/s!

Ako funguje paralelný port?

Paralelný LPT dostal svoj názov vďaka tomu, že prenos dát v kábli, ktorý je k nemu pripojený, sa uskutočňuje paralelne, na čo sa súčasne používa niekoľko vodičov. Práve tým sa výrazne líši od sumca, čo je konzistentné. Počet vodičov v kábli, ktorý sa pripája k LPT, je zvyčajne osem. Okrem toho môže obsahovať niekoľko liniek na prenos riadiacich signálov. Použitie com portu má teda v porovnaní s LPT množstvo silných obmedzení a nevýhod.

Napriek tomu, že port Centronics slúžil väčšinou na organizáciu spojenia medzi tlačiarňou a PC, bol využívaný aj na iné účely. Napríklad pomocou LPT môžu byť dva osobné počítače priamo prepojené navzájom - zvyčajne sa na to používa kábel Interlink. Až kým sieťové karty Ethernet nebol veľmi používaný, tento typ pripojenia bol veľmi populárny. Samozrejme, nemohol poskytnúť používateľom skutočne vysoké rýchlosti prenosu dát, ale napriek tomu bol tento spôsob prepojenia dvoch počítačov v tých rokoch takmer jediný možný. Treba dodať, že existujú dokonca špeciálne klávesy elektronický typ, ktoré sú navrhnuté špeciálne pre pripojenie k paralelnému portu.

O vlastnostiach prevádzky LPT

Ako je uvedené vyššie, na rozdiel od com má LPT podporu pre paralelný prenos dát. V prvých modeloch osobných počítačov patril k najrýchlejším. Jeho rozhranie, vzhľadom na možnosť prenosu informácií po niekoľkých linkách, je v mnohých ohľadoch svojou architektúrou podobné zberniciam používaným v PC. Ale práve táto okolnosť obmedzuje dĺžku kábla, ktorá nemôže presiahnuť 5 metrov. V opačnom prípade bude spojenie medzi počítačom a tlačiarňou neustále rušiť.

Na organizáciu normálneho prenosu dát je zvyčajne potrebných 10 signálnych liniek. Čo sa týka zvyšných liniek, tie slúžia kvôli kompatibilite s káblovým štandardom Centronics. Maximálne nastavenie napätia, ktoré sa vzťahuje na signálne linky LTP, je zvyčajne +5 V.

Port konektor a kábel Centronics

Ak hovoríme o konektore paralelného portu, tak ten sa nachádza na samotnej základnej doske, aj keď až do polovice 90. rokov minulého storočia sa tento prvok zvyčajne nachádzal na tzv. multikartu, ktorá bola vložená do rozširujúceho slotu. Výstupom LPT je 25-pinový konektor DB25.

Ak chcete vytvoriť spojenie medzi osobným počítačom a kancelárskym tlačovým zariadením pomocou osobného portu, musíte použiť kábel Centronics. Konektor dostupný na kancelárskych zariadeniach je zároveň 36-pinový. Hlavnou črtou tohto kábla je teda prítomnosť dvoch rôznych konektorov na oboch stranách.
Berte tiež do úvahy, že pomerne často sa konektor Centronics nazýva konektor kábla, ktorý je určený pre základnú dosku osobného počítača, ale v skutočnosti je to konektor pre tlačiareň - t.j. jeden, ktorý obsahuje 36 kolíkov. Čo sa týka konektora určeného priamo pre LPT, volá sa Amphenolstacker. Takéto rozdiely v menách musia byť známe, aby sa všetky veci nazývali pravými menami.

Výsledok

Na záver môžeme povedať, že paralelný port Line Print Terminal je PC rozhranie, ktoré je už dosť zastarané. Napriek veľkej distribúcii v posledných desaťročiach minulého storočia dnes tento port nemá veľkú podporu zo strany mnohých spoločností, ktoré vyrábajú výpočtovú techniku, kancelársku techniku ​​a softvér. Napriek tomu sa LPT stále úspešne používa na mnohých zastaraných modeloch počítačov a tlačiarní. Pomerne často je však potrebný adaptér com-lpt na organizáciu spojenia medzi počítačom a starou tlačiarňou. Dnes ich možno v zásade nájsť v predaji, ale s potrebnými znalosťami a zručnosťami môžete takýto adaptér spať úplne sami.

Paralelné rozhrania sa vyznačujú tým, že na prenos bitov v slove používajú samostatné signálové vedenia a bity sa prenášajú súčasne. Paralelné rozhrania využívajú logické úrovne TTL (tranzistor-tranzistor logic), ktoré obmedzujú dĺžku kábla z dôvodu nízkej odolnosti rozhrania TTL voči šumu. Neexistuje žiadna galvanická izolácia. Na pripojenie tlačiarní sa používajú paralelné rozhrania. Prenos dát môže byť jednosmerný (Centronics), ako aj obojsmerné (Bitronika). Niekedy sa na komunikáciu medzi dvoma počítačmi používa paralelné rozhranie - ukazuje sa sieť "vyrobená na kolene" (LapLink). Protokoly rozhrania budú diskutované nižšie. centronics,štandard IEEE 1284, ako aj porty PC, ktoré ich implementujú.

1.1. Rozhranie Centronics a port LPT

Na pripojenie tlačiarne cez rozhranie Centronics bol predstavený na PC paralelný port - takto sa objavil názov LPT-port (Line PrintTer - riadková tlačiareň). Aj keď sa už cez tento port nepripájajú len riadkové tlačiarne, názov „LPT“ zostal.

1.1.1. Rozhranie Centronics

koncepcie Centronics sa vzťahuje na sadu signálov a komunikačný protokol a 36-kolíkový konektor na tlačiarňach. Účel signálov je uvedený v tabuľke. 1.1, a časové diagramy výmeny s tlačiarňou - na obr. 1.1.

Rozhranie Centronics podporované paralelnými tlačiarňami. Jeho domácim náprotivkom je rozhranie IRPR-M.

Tradičný, tiež známy ako štandardný port LPT SPP(Standard Parallel Port) je jednosmerný port, cez ktorý je softvérovo implementovaný výmenný protokol. centronika. Port generuje hardvérové ​​prerušenie na impulze na vstupe Ack#. Signály portu sú vyvedené na konektor DB-25S(samica) namontovaný priamo na doske adaptéra (alebo systémovej doske) alebo k nej pripojený pomocou plochého kábla. Názov a účel signálov konektora portu (tabuľka 1.2) zodpovedá rozhraniu centronika.

Signál I/O* Kontakt Účel
Stroboskop# ja 1 Dátový stroboskop. Dáta sú zachytené pri nízkej úrovni signálu
Údaje ja 2-9 Dátové linky. Dáta 0 (pin 2) - LSB
Ack# O 10 Acknowledge - bajtový potvrdzovací impulz (požiadavka na prijatie ďalšieho). Môže sa použiť na generovanie žiadosti o prerušenie
Zaneprázdnený O 11 Zaneprázdnený. Príjem dát je možný len pri nízkej úrovni signálu
papierový koniec O 12 Vysoká úroveň signalizuje koniec papiera
Vyberte O 13 Signalizuje, že tlačiareň je zapnutá (zvyčajne je prepojená odporom s obvodom +5 V v tlačiarni)
AutoLF# ja 14 Automatický posuv riadku. Na nízkej úrovni tlačiareň dostala znak CR(Carriage Return - vrátenie vozíka), automaticky vykoná funkciu Lf(Posuv riadkov - posuv riadkov)
Chyba# O 32 Error: End of Paper, OFF-Line Status alebo Internal Printer Error
Init# ja 31 Inicializácia (reset na predvolený režim parametrov, návrat na začiatok riadku)
Vyberte ln# ja 36 Výber tlačiarne (nízka úroveň). Pri vysokej úrovni tlačiareň nevníma iné signály rozhrania
GND - 19-30, 33 Spoločný vodič rozhrania

Ryža. 1.1. Prenos dát cez protokol Centronics

Kontaktujte DB-25S Číslo vodiča v kábli Účel
I/O* Reg. Trocha** Signál
1 1 O/I CR.0\ Stroboskop#
2 3 O(I) DR.0 Údaje 0
3 5 O(I) DR.1 Údaje 1
4 7 O(I) DR.2 Údaje 2
5 9 O(I) DR.3 Údaje 3
6 11 O(I) DR.4 Údaje 4
7 13 O(I) DR.5 Údaje 5
8 15 O(I) DR.6 Údaje 6
9 17 O(I) DR.7 Údaje 7
10 19 ja*** SR.6 Ack#
11 21 ja SR.7 Zaneprázdnený
12 23 ja SR.5 Koniec papiera (PE)
13 25 ja SR.4 Vyberte
14 2 O/I CR.1\ AutoLF#
15 4 ja SR.3 chyba*
16 6 O/I CR.2 Init#
17 8 O/I CR.3\ Vyberte ln#
18-25 10, 12, 14, 16, 18, 20, 22, 24, 26 - - -
* I/O nastavuje smer prenosu (vstup/výstup) signálu portu. O/I označuje výstupné linky, ktorých stav sa číta z výstupných portov; (I) - výstupné riadky, ktorých stav je možné čítať len za špeciálnych podmienok (pozri nižšie).
** Symbol "\" označuje invertované signály (1 v registri zodpovedá nízkej úrovni vedenia).
*** Vstup Ack# je prepojený s odporom (10kΩ) na napájanie +5V.

1.1.2. Tradičný LPT port

Adaptér paralelného rozhrania je sada registrov umiestnených v I/O priestore. Registre portov sú adresované relatívne k základnej adrese portu, ktorej predvolené hodnoty sú 3BCh, 378h a 278h. Port môže zvyčajne použiť riadok požiadavky na hardvérové ​​prerušenie IRQ7 alebo IRQ5. Prístav má externé 8-bitový dátová zbernica, 5-bitový zbernica stavového signálu a 4-bit zbernica riadiaceho signálu

BIOS podporuje až štyri (niekedy až tri) porty LPT (LPT1-LPT4) so ​​službou prerušenia INT 17 hod, ktoré prostredníctvom nich zabezpečujú komunikáciu s tlačiarňou cez rozhranie Centronics. Pomocou tejto služby BIOS vykoná znakový výstup (volaním pripravenosti, bez použitia hardvérových prerušení), inicializáciu rozhrania a tlačiarne a dotazovanie stavu tlačiarne.

Štandardný port má tri 8-bitové registre, umiestnené na susedných adresách v I/O priestore, počnúc základnou adresou portu ZÁKLADNA (3BCh, 378h alebo 278h).

Data Register (DR) - register údajov, adresa=BASE. Údaje zapísané do tohto portu stiahnutý na výstupné linky DATA rozhrania. Dáta načítané z tohto registra v závislosti od obvodu adaptéra zodpovedajú buď predtým zapísaným údajom alebo signálom na rovnakých linkách, ktoré nie sú vždy rovnaké. Ak sa do portu zapíše bajt s jednotkami vo všetkých čísliciach a nejaký kód sa aplikuje na výstupné linky rozhrania cez mikroobvody s výstupom „otvorený kolektor“ (alebo niektoré vodiče sú pripojené k uzemneniu obvodu pomocou kľúčov), potom tento kód možno čítať z rovnakého dátového registra. Na mnohých starších modeloch adaptérov je teda možné implementovať vstupný port diskrétneho signálu, výstupné obvody vysielača informácií však budú musieť „bojovať“ s výstupným prúdom logickej jednotky výstupných vyrovnávacích pamätí adaptéra. Obvody TTL takéto riešenia nezakazujú, ale ak je externé zariadenie zapnuté, ich výstupný prúd nemusí stačiť na vytvorenie logickej 0. Moderné adaptéry však často majú na výstupe zakončovací odpor s odporom až 50 ohmov. obvod. Výstupný prúd skrat výstup na zem zvyčajne nepresahuje 30 mA. Jednoduchý výpočet ukazuje, že v prípade skratu kontaktu konektora so zemou, keď je na výstupe „jednička“, na ňom klesne napätie 1,5 V, ktoré bude vstupným obvodom prijímača vnímané ako „jednička“. . Takže táto metóda vstupu nebude fungovať na všetkých počítačoch.

Na niektorých adaptéroch portov je výstupná vyrovnávacia pamäť deaktivovaná prepojkou na karte. Potom sa port zmení na obyčajný vstupný port.

Stavový register (SR) - stavový register; predstavuje 5-bitový vstupný port stavové signály tlačiarne (bit SR.4-SR.7), adresa==BASE+1. Trocha S.R. 7 invertovaný - nízka úroveň signálu zodpovedá jednej bitovej hodnote v registri a naopak.

Priradenie bitov stavového registra (počty kolíkov konektora sú uvedené v zátvorkách):

  • SR.7 - Zaneprázdnený - inverzné zobrazenie stavu linky Busy (11): keď je linka nízka, nastaví sa jedna bitová hodnota - povolenie na výstup ďalšieho bajtu.
  • SR.6-Ack(Acknowledge) - zobrazuje stav riadku Ack# (10).
  • SR.5 - PE(Koniec papiera) – zobrazuje stav riadku Koniec papiera (12). Jediná hodnota zodpovedá vysokej úrovni riadku - signál o konci papiera v tlačiarni.
  • SR.4 - Select - zobrazuje stav riadku Select (13). Jedna hodnota zodpovedá vysokej úrovni riadku - signál na zapnutie tlačiarne.
  • SR.3 - Chyba - zobrazenie stavu chybového riadku (15). Hodnota nula zodpovedá nízkej úrovni riadku - signál akejkoľvek chyby tlačiarne.
  • SR.2-PIRQ- Príznak prerušenia Ack# (len port PS/2). Bit je nastavený na nulu, ak signál Ack# spôsobil hardvérové ​​prerušenie. Hodnota jednotky sa nastavuje hardvérovým resetom a po načítaní stavového registra.
  • SR- rezervované.

Riadiaci register (CR) - riadiaci register, adresa=BASE+2. Rovnako ako register údajov, aj toto 4-bitový výstupný port je zapisovateľný a čitateľný (bity 0-3), ale jeho výstupná vyrovnávacia pamäť je zvyčajne typu s otvoreným kolektorom. To vám umožňuje správne používať riadky tohto registra ako vstup pri ich programovaní na vysokú úroveň. Bity 0, 1, 3 sú invertované.

Priradenie bitov riadiaceho registra:

  • CR- rezervované.
  • CR.5 - Smer - bit riadenia smeru (len pre porty PS/2). Zápisom jeden prepne dátový port do režimu vstupu. Pri čítaní je stav bitu nedefinovaný.
  • CR.4 - AcklntEn(Ack Interrupt Enable) - jediná hodnota umožňuje prerušenie pri poklese signálu na riadku Ack# - signál na vyžiadanie ďalšieho bajtu.
  • CR.3 - Vyberte ln - jedna bitová hodnota zodpovedá nízkej úrovni na výstupe Vyberte ln # (17) - signál, ktorý umožňuje tlačiarni pracovať cez rozhranie centronika.
  • CR.2 - Init - nulová hodnota bitu zodpovedá nízkej úrovni na výstupe Init#(16) - signál resetovania hardvéru tlačiarne.
  • CR.1 - Auto LF - jedna bitová hodnota zodpovedá nízkej úrovni na výstupe Auto LF # (14) - signál je zapnutý automatický preklad linky (LF- Line Feed) po prijatí bajtu návratu vozíka (CR). Niekedy sa nazýva signál a bit AutoFD alebo AutoFDXT.
  • CR.0 - Stroboskop - bitová hodnota jedna zodpovedá nízkej úrovni na výstupe stroboskopu # (1) - výstupného stroboskopického signálu.

Žiadosť o hardvérové ​​prerušenie(zvyčajne IRQ7 alebo IRQ5) generované zostupnou hranou signálu na kolíku 10 konektora rozhrania (Ack#) pri inštalácii CR.4=1. Aby sa predišlo falošným prerušeniam, kolík 10 je odporom pripojeným na koľajnicu +5 V. Prerušenie sa vygeneruje, keď tlačiareň potvrdí predchádzajúci bajt. Ako už bolo spomenuté, BIOS toto prerušenie nevyužíva a neobsluhuje.

Postup pre výstup bajtu cez rozhranie Centronics zahŕňa nasledujúce kroky (v zátvorkách je požadovaný počet operácií procesorovej zbernice):

  1. Výstup bajtu do dátového registra (1 cyklus IOWR#).
  2. Vstup zo stavového registra a kontrola pripravenosti zariadenia (bit SR.7- obsadzovací signál). Tento krok sa opakuje, kým nebude pripravený alebo kým nedôjde k vypršaniu časového limitu softvéru (minimálne 1 cyklus IORD#).
  3. Keď je pripravený, dátový stroboskop sa nastaví do riadiaceho registra výstupom a stroboskop sa odstráni nasledujúcim výstupom (2 IOWR# cykly). Normálne, aby sa prepínal iba jeden bit (strobe), riadiaci register je vopred načítaný, čo pridáva ďalší cyklus IORD#.

Je vidieť, že na výstup jedného bajtu je potrebných 4-5 I/O operácií s registrami portov (v najlepšom prípade, keď je pripravenosť zistená prvým čítaním stavového registra). Z toho vyplýva hlavná nevýhoda výstupu cez štandardný port - nízky výmenný kurz pri značnom zaťažení procesora. Port je možné pri plnom zaťažení procesora pretaktovať na rýchlosti 100-150 KB/s, čo na tlač na laserovej tlačiarni nestačí. Ďalšou nevýhodou - funkčnou - je náročnosť použitia ako vstupného portu.

Štandardný port je asymetrický - ak existuje 12 riadkov (a bitov), ​​ktoré fungujú normálne pre výstup, iba 5 stavových riadkov funguje pre vstup. Ak sa vyžaduje symetrická obojsmerná komunikácia, všetky štandardné porty sú schopné výmena kúskov - režim okusovania. Tento režim, tiež tzv Hewlett Packard Bitronics, Súčasne sa prenášajú 4 bity dát, piaty riadok slúži na handshaking. Každý bajt sa teda prenesie v dvoch cykloch a každý cyklus vyžaduje najmenej 5 I/O operácií.

1.1.3. Rozšírenia paralelného portu

Nedostatky štandardného portu čiastočne eliminovali nové typy portov, ktoré sa objavili v počítačoch PS / 2.

Obojsmerný port 1 (paralelný port typu 1)-rozhranie zavedené v PS/2. Takýto port môže okrem štandardného režimu fungovať vo vstupnom režime alebo obojsmernom režime. Výmenný protokol je generovaný softvérom a do registra riadenia portov je zavedený špeciálny bit, ktorý označuje smer prenosu CR.5:0 - dátová vyrovnávacia pamäť funguje pre výstup, 1 - pre vstup. Nezamieňajte tento port, tiež tzv vylepšený obojsmerný, s ERR. Tento typ Port sa zakorenil v konvenčných počítačoch.

Port priameho prístupu k pamäti (paralelný port DMA typu 3) používa sa v modeloch PS / 2 57, 90, 95. Bol predstavený na zvýšenie priepustnosti a odľahčenie procesora pri výstupe na tlačiareň. Programu pracujúcemu s portom stačilo nastaviť v pamäti blok dát, ktoré sa majú vypísať, a potom vypísať podľa protokolu Centronics vyrobené bez účasti spracovateľa.

Neskôr sa objavili ďalšie adaptéry portov LPT, ktoré implementujú protokol výmeny Centronics hardvér - Rýchly Centronics. Niektoré z nich používali vyrovnávaciu pamäť údajov FIFO - Režim FIFO s paralelným portom. Keďže porty od rôznych výrobcov neboli štandardizované, vyžadovali si použitie vlastných špeciálnych ovládačov. Programy využívajúce priame riadenie štandardných registrov portov ich nedokázali využívať efektívnejšie. Takéto porty boli často súčasťou multikarty VLB. Existujú varianty so zbernicou ISA vrátane vstavaných.

1.2. štandard IEEE 1284

Štandardné paralelné rozhranie IEEE 1284, prijatý v roku 1994 definuje prístavy SPP, EPP a ESR. Norma definuje 5 komunikačných režimov, spôsob vyjednávania režimu, fyzické a elektrické rozhrania. Podľa IEEE 1284 sú cez paralelný port možné nasledujúce komunikačné režimy:

  • Režim kompatibility - jednosmerný (výstup) protokolom centronika. Tento režim zodpovedá štandardnému portu SPP.
  • Režim okusovania - bajtový vstup v dvoch cykloch (každý 4 bity), pričom na príjem sa používa stavový riadok. Tento režim výmeny je možné použiť na ľubovoľných adaptéroch.
  • Bajtový režim - vstup celého bajtu pomocou na príjem dátovej linky. Tento režim funguje len na portoch, ktoré umožňujú výstup na čítanie. (Obojsmerne alebo PS/2 typ 1).
  • Režim EPP(Vylepšený paralelný port) (Režim EPP) - obojsmerná výmena dát. Riadiace signály rozhrania sú generované hardvérom počas cyklu prístupu k portu. Efektívne pri práci s externými pamäťovými zariadeniami a LAN adaptérmi.
  • Režim ECP(Port s rozšírenými možnosťami) (režim ECP) ​​- obojsmerná výmena dát s možnosťou hardvérovej kompresie dát podľa metódy RLE(Run Length Encoding) a použitie FIFO vyrovnávacích pamätí a DMA. Riadiace signály rozhrania sú generované hardvérom. Efektívne pre tlačiarne a skenery.

V počítačoch s LPT portom na základnej doske sa režim - SPP, EPP, ECP alebo ich kombinácia nastavuje v BIOS Setup. Režim kompatibility je plne konzistentný so štandardným portom SPP. Ďalšie režimy sú podrobne uvedené nižšie.

1.2.1. Fyzické a elektrické rozhrania

Norma IEEE 1284 definuje fyzikálne vlastnosti prijímačov a vysielačov signálu. Štandardné špecifikácie portov nešpecifikovali typy výstupných obvodov, limitné hodnoty pre záťažové odpory a kapacitu zavedenú obvodmi a vodičmi. Pri relatívne nízkych výmenných kurzoch šírenie týchto parametrov nespôsobovalo problémy s kompatibilitou. Avšak pokročilé (funkčne aj z hľadiska prenosovej rýchlosti) režimy

vyžadujú presné špecifikácie. IEEE 1284 definuje dve úrovne kompatibility rozhrania. Prvá úroveň(Úroveň I) je definovaná pre zariadenia, ktoré sú pomalé, ale využívajú obrátenie údajov. Druhá úroveň(Úroveň II) je definovaná pre zariadenia pracujúce v pokročilých režimoch s vysokou rýchlosťou a dlhými káblami. Komu vysielače platia tieto požiadavky:

  • Úroveň signálu bez zaťaženia by nemala prekročiť -0,5 ... +5,5 V.
  • Úrovne signálu pri zaťažovacom prúde 14 mA musia byť aspoň +2,4 V pre vysokú úroveň (Von) a nie vyššia ako +0,4 V pre nízku úroveň (Vol) pri DC.
  • Výstupná impedancia Ro nameraná na konektore by mala byť 50±5 ohmov na úrovni Voh~Vol. Na zaistenie danej impedancie použite sériové odpory vo výstupných obvodoch vysielača. Prispôsobenie impedancie vysielača a kábla znižuje prechodový šum.
  • Rýchlosť vzostupu (klesania) pulzu by mala byť v rozmedzí 0,05-0,4 V/ns.

Požiadavky na prijímače:

  • Prípustné špičkové hodnoty signálu -2,0...+7,0 V.
  • Spúšťacie prahy nesmú byť vyššie ako 2,0 V (Vh) pre vysokú úroveň a nie nižšie ako 0,8 V (Vl) pre nízku úroveň.
  • Prijímač musí mať hysteréziu v rozsahu 0,2 ... 1,2 V (špeciálne mikroobvody majú hysteréziu -).
  • Vstupný prúd mikroobvodu (vtokový a výstupný) by nemal presiahnuť 20 μA, vstupné vedenia sú pripojené na napájaciu zbernicu +5 V s odporom 1,2 kΩ.
  • Vstupná kapacita nesmie presiahnuť 50pF.

Keď sa objavila špecifikácia ECP, Microsoft odporučil použitie dynamických terminátorov na každom riadku rozhrania. V súčasnosti sa však dodržiava špecifikácia IEEE 1284, ktorá nepoužíva dynamické terminátory. Odporúčané schémy vstupných, výstupných a obojsmerných obvodov sú na obr. 1.2.

Štandard IEEE 1284 definuje tri typy konektory. Typy A (DB-25) a B (Centronics-36) sa používajú v tradičných prepojovacích kábloch tlačiarne, typ OD - nový malý 36-pinový konektor.

Ryža. 1.2. Koncové obvody liniek rozhrania IEEE 1284:

a - jednosmerný, b - obojsmerný

Tradičné káble rozhrania majú 18 až 25 vodičov v závislosti od počtu vodičov v obvode GND. Tieto vodiče môžu alebo nemusia byť skrútené. Neexistovali žiadne prísne požiadavky na tienenie káblov. Takéto káble pravdepodobne nebudú spoľahlivo fungovať pri prenosovej rýchlosti 2 Mb/sa dĺžke viac ako 2 m. Norma IEEE 1284 upravuje vlastnosti kábla. Všetky signálne vedenia musia byť skrútené samostatnými spätnými (spoločnými) vodičmi.

  • Každý pár musí mať impedanciu 62 ± 6 ohmov vo frekvenčnom rozsahu 4-16 MHz.
  • Úroveň presluchu medzi pármi by nemala presiahnuť 10 %.
  • Kábel musí mať tienidlo (fóliu) pokrývajúce aspoň 85 % vonkajšieho povrchu. Na koncoch kábla musí byť obrazovka krúžkovaná a pripojená ku kolíku konektora.

Káble, ktoré spĺňajú tieto požiadavky, sú označené nápisom "Vyhovuje lEEEStd 1284-1994". Môžu mať dĺžku až 10 metrov, typové označenia sú uvedené v tabuľke. 1.3.

1.2.2. Komunikačné režimy

IEEE 1284 definuje päť výmenné režimy, z ktorých jeden plne zodpovedá výstupom štandardného protokolu centronika. Norma definuje spôsob, akým môže softvér určiť režim dostupný pre hostiteľa (PC) a PU (alebo pripojený druhý počítač). Režimy neštandardných portov implementujúcich protokol výmeny Centronics hardvér (Rýchly Centronics, režim FIFO s paralelným portom), môžu alebo nemusia byť režimy IEEE 1284, napriek prítomnosti vlastností v nich EPP a ESR.

Pri popise režimov výmeny sa objavujú tieto pojmy:

  • Hostiteľ - počítač s paralelným portom.
  • PU - periférne zariadenie pripojené k tomuto portu.
  • Ptr - v zápise signálov označuje vysielajúci PU.
  • priamy kanál - dátový výstupný kanál z hostiteľa do PU.
  • Spätný kanál - dátový vstupný kanál do hostiteľa z PU.

Nibble Input Mode – režim Nibble

Navrhnuté pre obojsmernú výmenu. Môže pracovať na všetkých štandardných portoch. Prístavy majú 5 vstupných riadkov stavy, pomocou ktorých môže PU posielať hostiteľovi bajty v tetrádach (nibble - nibble, 4 bity) v dvoch krokoch. Signál Ack#, ktorý spôsobuje prerušenie, ktoré je možné použiť v tomto režime, zodpovedá bitu 6 stavového registra, čo sťažuje softvéru manipuláciu s bitmi pri zostavovaní bajtu. Signály portov sú uvedené v tabuľke. 1.4, časové diagramy - na obr. 1.3.

Ryža. 1.3. Prijímajte dáta v režime okusovania

Príjem dátového bajtu v režime nibble pozostáva z nasledujúcich fáz:

  1. PU reaguje umiestnením tetrády na vstupné riadky stavu.
  2. PU signalizuje pripravenosť tetrád nastavením nízkej úrovne na linke PtrClk.
  3. Hostiteľ nastaví riadok HostBusy na vysokú úroveň, aby naznačil, že je zaneprázdnený prijímaním a spracovaním notebooku.
  4. Kroky 1-5 sa opakujú pre druhú tetradu, po ktorej môže PU signalizovať dostupnosť dát pre hostiteľa (Selekt) a dopredný kanál obsadený (Busy); spustiť prerušenie (ACK).
Kontakt signál SPP I/O Trocha Popis
14 AutoFeed# O CR.1\ HostBusy - signál handshake. Nízka úroveň znamená pripravenosť prijať tetrádu, vysoká úroveň potvrdzuje prijatie tetrády
17 SelectIn# O CR.3\
10 Ack# ja SR.6 PtrClk. Nízka úroveň znamená, že tetráda je pripravená, vysoká úroveň znamená odpoveď na signál HostBusy
11 Zaneprázdnený ja SR.7 Prijať dáta bit 3, potom bit 7
12 RE ja SR.5 Prijať dáta bit 2, potom bit 6
13 Sdecec ja SR.4 Prijať dáta bit 1, potom bit 5
15 Chyba# ja SR.3 Prijať dáta bit 0, potom bit 4

Režim nibble výrazne zaťažuje procesor, keďže signály CR a SR sú generované softvérom, a preto nie je možné zvýšiť výmenný kurz nad 50 Kb/s. Jeho nepochybnou výhodou je, že funguje na všetkých portoch. Používa sa v prípadoch, keď je dátový tok malý (napríklad na komunikáciu s tlačiarňami). Pri komunikácii s LAN adaptérmi, externými pevnými diskami a CD-ROM si však príjem veľkého množstva dát vyžaduje poriadnu dávku trpezlivosti zo strany používateľa.

Obojsmerný bajtový režim – bajtový režim

V tomto režime sú dáta prijímané pomocou obojsmerného portu, ktorého výstupná dátová vyrovnávacia pamäť je možné deaktivovať nastavením C/?.5=1 bit. Rovnako ako predchádzajúce, aj tento režim je riadený programovo – všetky potvrdzovacie signály analyzuje a nastavuje vodič. Signály portov sú popísané v tabuľke 1. 1.5, časové diagramy - na obr. 1.4.

Kontakt signál SPP Názov v bajtovom režime I/O Trocha Popis
1 Stroboskop# HostClk O CR.0\ Impulz (nízky) potvrdí prijatie bajtu na konci každého cyklu
14 AutoFeed# zaneprázdnený O CR.1\ Potvrdzovací signál. Nízka úroveň znamená, že hostiteľ je pripravený prijať bajt; vysoká úroveň je nastavená na príjem bajtu
17 SelectIn# 1284 aktívnych O CR.3\ Vysoká indikuje komunikáciu v režime IEEE 1284 (nízka v režime SPP)
16 Init# Init# O CR.2 Nepoužité; nastavená na vysokú
10 Ack# PtrClk ja SR.6 Nastavte nízku hodnotu, aby ste označili platnosť údajov v dátových riadkoch. Nastavte nízku hodnotu ako odpoveď na signál HostBusy
11 Zaneprázdnený PtrBusy ja SR.7\ Stav presmerovania odkazu je zaneprázdnený
12 PE AckDataReq* 1 SR.5
13 Vyberte xflag* ja SR.4 Príznak rozšíriteľnosti
15 Chyba# DataAvail#* ja SR.2 Nastavuje PU na označenie prítomnosti spätného prenosového kanála
2-9 Údaje Údaje I/O DR Obojsmerný (dopredný a spätný) dátový kanál

Ryža. 1.4. Prijímajte dáta v bajtovom režime

Fázy príjmu dátových bajtov:

  1. Hostiteľ signalizuje svoju pripravenosť na prijímanie údajov stiahnutím linky HostBusy.
  2. PU odpovie umiestnením dátového bajtu na dátový riadok.
  3. PU signalizuje platnosť bajtu nastavením riadku PtrClk na nízku hodnotu.
  4. Hostiteľ poháňa riadok HostBusy vysoko, aby naznačil, že je zaneprázdnený prijímaním a spracovaním bajtu.
  5. PU reaguje nastavením PtrClk linky na vysokú úroveň.
  6. Hostiteľ potvrdí príjem bajtu impulzom HostClk.
  7. Kroky 1-6 sa opakujú pre každý ďalší bajt.

Byte režim vám umožňuje zvýšiť rýchlosť spätného kanála na rýchlosť dopredného kanála v štandardnom režime. Môže to však fungovať iba na obojsmerných portoch.

Režim EPP

Protokol EPP(Enhanced Parallel Port - vylepšený paralelný port). od spoločnosti Intel, Xircom a Zenith Data Systems dávno pred prijatím IEEE 1284. Je navrhnutý na zlepšenie výkonu komunikácie na paralelnom porte. EPP bola realizovaná v r Čipová súprava Intel 386SL (čip 82360) a následne prijatý mnohými spoločnosťami ako voliteľný protokol paralelného portu. Verzie protokolu implementované pred prijatím IEEE 1284 sa líšia od súčasného štandardu (pozri nižšie).

Protokol EPP poskytuje štyri typy výmenných cyklov:

  • záznam údajov;
  • čítanie údajov;
  • zadanie adresy;
  • čítanie adresy.

Účel cyklov zapisovania a čítania údajov je zrejmý. Cykly adries sa používajú na prenos adresy, kanála a riadiacich informácií. Cykly výmeny údajov sa líšia od cyklov adries v použitých zábleskových signáloch. Priradenie signálov portov EPP a ich spojenie so signálmi SPP sú vysvetlené v tabuľke. 1.6.

Kontakt signál SPP Názov v ERR I/O Popis
1 Stroboskop" Napíšte # O Nízky - cyklus zápisu, vysoký - cyklus čítania
14 AutoLF# DataStb# O Dátový stroboskop. Nastavte nízky počet dátových cyklov
17 Výber AddrStbft O Stroboskop adresy. Nastavte nízke adresy v cykloch
16 Init# Reset# O Resetovať (nízka úroveň prepne PU do režimu kompatibility)
10 Ack# INTR# ja PU prerušenie
11 Zaneprázdnený počkaj# ja Potvrdzovací signál. Nízka úroveň umožňuje začiatok cyklu (nastavenie stroboskopu na nízku úroveň), prechod na vysokú úroveň umožňuje koniec cyklu (odstránenie stroboskopu)
2-9 Údaje AD I/O Obojsmerná adresová/dátová zbernica
12 papierový koniec AckDataReq* ja
13 Vyberte xflag* ja Používa sa podľa uváženia periférneho vývojára
15 Chyba# DataAvail#* ja Používa sa podľa uváženia periférneho vývojára
* Signály fungujú v zodpovedajúcom poradí (pozri nižšie).

Port EPProzšírená sada registrov(Tabuľka 1.7), ktorý zaberá 5-8 susedných bajtov v I/O priestore.

Registrovať meno Zaujatosť Režim R/W Popis
Dátový port SPP +0 SPP/EPP W register údajov SPP
Port stavu SPP +1 SPP/EPP R Register stavu SPP
Riadiaci port SPP +2 SPP/EPP W kontrolný register SPP
EPP AddressPort +3 EPP R/W Register adries EPP.Čítanie alebo zápis do nej generuje pridružený cyklus čítania alebo zápisu adresy EPP
Dátový port EPP +4 EPP R/W EPP dátový register.Čítanie (zápis) generuje súvisiaci cyklus čítania (zápisu). EPP
Neurčené +5...+7 EPP N/A Môže byť použitý pre 16-/32-bitové I/O na niektorých radičoch

Na rozdiel od softvérovo riadených režimov opísaných vyššie, vonkajšie signály Porty EPP pre každý cyklus výmeny sú tvorené hardvérom na jednu operáciu zápisu alebo čítania do registra portov. Na obr. 1.5 je schéma cyklus zápisuúdaje znázorňujúce cyklus externej výmeny, vnorené do cyklu zápisu systémovej zbernice procesora (niekedy sa tieto cykly nazývajú súvisiace). Cyklus zápisu adresy sa líši od dátového cyklu iba v externom blesku rozhrania.

Cyklus zaznamenávania údajov pozostáva z nasledujúcich fáz:

  1. Program vykoná výstupnú slučku (IOWR#) na port 4 (EPP dátový port).
  2. Adaptér nastaví signál Write* (nízky) a údaje sa umiestnia na výstupnú zbernicu portu LPT.
  3. Keď je Wait# nízka, dátový impulz je nastavený.
  4. Port čaká na potvrdenie od SP (prenos Wait# na vysokú úroveň).
  5. Dátový stroboskop je odstránený - vonkajší cyklus EPP je dokončený.
  6. Cyklus výstupného procesora sa končí.
  7. PU nastaví Wait# na nízku hodnotu, čo znamená, že je možné spustiť ďalší cyklus.

Ryža. 1.5. Cyklus zápisu údajov EPP

Príklad adresy čítacieho cyklu znázornené na obr. 1.6. Cyklus čítania údajov sa líši iba použitím iného zábleskového signálu.


Ryža. 1.6. Cyklus čítania adresy EPP

Prirodzene, PU by nemala "zavesiť" procesor na cyklus výmeny zbernice. Toto je zaručené mechanizmom časového limitu PC, ktorý prinúti ukončiť každý výmenný cyklus trvajúci viac ako 15 µs. V množstve implementácií EPP timeout rozhrania sleduje samotný adaptér - ak PU do určitého času (5 µs) nereaguje, cyklus sa zastaví a do dodatočného (neštandardizovaného) registra stavu adaptéra sa zapíše chyba.

Zariadenia rozhrania ERR, tie, ktoré boli vyvinuté pred IEEE 1284, sa líšia na začiatku cyklu: stroboskop DataStb# alebo AddrStb# je nastavený bez ohľadu na stav WAIT#. To znamená, že PU nemôže oddialiť začiatok ďalšieho cyklu (hoci ho môže natiahnuť na požadovanú dobu). Táto špecifikácia je tzv SWAP 1.7(navrhnutý spoločnosťou Xircom). Práve ona bola použitá v ovládači 82360. Periférne zariadenia kompatibilné s ERR 17, s ovládačom bude fungovať dobre EPP 1284, ale periférie sú štandardné ERR 1284 môže odmietnuť prácu s ovládačom ERR 1.7.

OD program Z pohľadu vyzerá regulátor portu EPP jednoducho (pozri tabuľku 1.7). K trom štandardným registrom portov boli pridané dva registre s odchýlkami 0, 1 a 2 od adresy základného portu. (Port adresy EPP a dátový port EPP),čítanie a zápis, čo spôsobuje generovanie pridružených vonkajších slučiek.

Účel registrov štandardného portu je zachovaný pre kompatibilitu portu fPP s PU a softvérom určeným na použitie softvérovo riadenej výmeny. Keďže signály handshaking sú generované adaptérom v hardvéri, pri zápise do riadiaceho registra spoločný podnik bity 0, 1 a 3 zodpovedajúce signálom Strobeft, AutoFeed# a Selecting musia byť nastavené na nulu. Softvérový zásah by mohol narušiť sekvenciu handshake. Niektoré adaptéry majú špeciálnu ochranu (EPP Protect), ak je povolené, softvérová úprava týchto bitov je zablokovaná.

Použitie registra údajov EPP umožňuje preniesť blok údajov pomocou jednej inštrukcie REP INSB alebo REP OUTSB. Niektoré adaptéry umožňujú 16-/32-bitový prístup do evidencie údajov ERR. V tomto prípade adaptér jednoducho dešifruje adresu s posunom v rozsahu 4-7 ako adresu dátového registra ERR, ale procesor je informovaný o bitovej hĺbke 8 bitov. Potom 16- alebo 32-bitový prístup k adrese dátového registra EPP automaticky vygeneruje dva alebo štyri cykly zbernice na prírastkových adresách počínajúc offsetom 4. Tieto cykly budú prebiehať rýchlejšie ako rovnaký počet jednotlivých cyklov. To poskytuje výkon až 2 MB / s, čo je dostatočné pre adaptéry LAN, externé jednotky, páskové jednotky a disky CD-ROM. Cykly adries EPP sa vždy vykonávajú iba v jednobajtovom režime.

Dôležitá vlastnosť EPP spočíva v tom, že prístup procesora k PU sa vykonáva v reálnom čase - nedochádza k ukladaniu do vyrovnávacej pamäte. Vodič je schopný monitorovať stav a vydávať príkazy v presne známych časoch. Cykly čítania a zápisu sa môžu náhodne striedať alebo ísť v blokoch. Tento typ výmeny je vhodný pre PU rozlišujúce veľké a malé písmená alebo PU pôsobiace v reálny čas, - sieťové adaptéry, zariadenia na zber a ovládanie informácií atď.

Režim ECP

Protokol ESR(Extended Capability Port) bol navrhnutý spoločnosťami Hewlett Packard a Microsoft na komunikáciu s PU, ako sú tlačiarne alebo skenery. Páči sa mi to ERR, tento protokol poskytuje vysokovýkonnú obojsmernú komunikáciu medzi hostiteľom a PU.

Protokol ESR v oboch smeroch poskytuje dva typy cyklov:

  • cykly zapisovania a čítania údajov;
  • cykly čítania a zápisu.

Cykly príkazov sú rozdelené do dvoch typov: prenos adresy kanála a prenos počítadla. RLC(Run-Length Count).

Na rozdiel od ERR, spolu s protokolom ESR okamžite sa objavil štandard pre softvérový (registrový) model jeho adaptéra, uvedený v dokumente „The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard“ od spoločnosti Microsoft. Tento dokument definuje vlastnosti protokolu, ktoré nie sú špecifikované štandardom IEEE 1284:

  • kompresia dát hostiteľským adaptérom pomocou metódy RLE;
  • FIFO vyrovnávacia pamäť pre kanály vpred a vzad;
  • aplikácia DMA a softvérový vstup/výstup.

Kompresia v reálnom čase metódou RLE(Run-Length Encoding) dosahuje kompresný pomer 64:1 pri prenose bitových máp, ktoré majú dlhé reťazce opakujúcich sa bajtov. Kompresiu je možné použiť iba vtedy, ak ju podporuje hostiteľ aj PU.

ECP kanálové adresovanie používa sa na adresovanie viacerých logických zariadení v rámci jedného fyzického zariadenia. Napríklad kombinácia fax/tlačiareň/modem, ktorá sa pripája len k jednému paralelnému portu, môže súčasne prijímať fax a tlačiť na tlačiarni. V režime SPP, ak tlačiareň nastaví obsadzovací signál, kanál bude zaneprázdnený údajmi, kým ho tlačiareň neprijme. V režime ESR softvérový ovládač je jednoducho adresovaný inému logický kanál ten istý prístav.

Protokol ESR predefinuje signály SPP(Tabuľka 1.8).

Kontakt signál SPP Názov v ESR I/O Popis
1 Stroboskop# HostClk O Používa sa v spojení s PeriphAck na prenos v smere dopredu (výstup)
14 AutoLF# HostAck O Označuje typ slučky (príkaz/dáta) v smere dopredu. Používa sa v spojení s PeriphClk na vysielanie v opačnom smere
17 Výber 1284 aktívnych O Vysoká úroveň označuje výmenu v režime IEEE 1284 (v SPP nízky level)
16 Init# ReverseRequest* O Nízka úroveň prepne kanál na vysielanie v opačnom smere.
10 Ack# PeriphQk ja Používa sa v spojení s HostAck na prenos v opačnom smere
11 Zaneprázdnený PeriphAck ja Používa sa v spojení s HostClk na prenos v opačnom smere. Označuje typ príkazu/údajov pri prenose v opačnom smere
12 papierový koniec AckReverse# ja Znížené ako potvrdenie signálu ReverseRequest#
13 Vyberte xflag* ja Príznak rozšíriteľnosti
15 Chyba# PeriphRequest#* ja Nastavuje ho PU na označenie dostupnosti (prítomnosti) spätného prenosového kanála *
2-9 Údaje Údaje I/O Obojsmerný dátový kanál
* Signály fungujú v zodpovedajúcom poradí (pozri nižšie).

Adaptér ESR generuje aj externé protokolové handshake signály v hardvéri, ale jeho činnosť sa výrazne líši od režimu ERR.

Na obr. Obrázok 1.7a znázorňuje diagram dvoch priamych prenosových cyklov: po dátovom cykle nasleduje príkazový cyklus. Typ cyklu nastavená úrovňou na riadku HostAck: v dátovom cykle - vysoká, v príkazovom cykle - nízka. V príkazovej slučke môže bajt obsahovať adresu kanála alebo RLE počítadlo. Rozlišovacím znakom je bit 7 (najdôležitejší): ak je nula, potom bity 0-6 obsahujú počítadlo RLE(0-127), ak je jeden, potom adresa kanála. Na obr. Obrázok 1.76 zobrazuje pár cyklov postback.

Ryža. 1.7. Prenos v režime ECP: a- priamy, b - spätný

Na rozdiel od výmenných diagramov ERR, na obr. 1.7 nezobrazuje signály cyklov systémovej zbernice procesora. V tomto režime je výmena programu s PU rozdelená na dva relatívne nezávislé procesy, ktoré sú prepojené cez vyrovnávaciu pamäť FIFO. Výmenu ovládača s vyrovnávacou pamäťou FIFO je možné vykonať pomocou DMA aj softvérového I/O. Výmenu PU s vyrovnávacou pamäťou vykonáva adaptér v hardvéri ESR. Vodič v režime ESR nedisponuje informáciami o presnom stave procesu výmeny, tu však väčšinou záleží len na tom, či je ukončený alebo nie.

priamy prenosúdaje na externom rozhraní pozostávajú z nasledujúcich krokov:

  1. Hostiteľ vloží dáta na kanálovú zbernicu a nastaví príznak dátového cyklu (vysoký) alebo príkaz (nízky) na riadku HostAck.
  2. Hostiteľ spustí riadok HostClk na nízku úroveň, aby naznačil, že údaje sú platné.
  3. PU reaguje nastavením línie PeriphAck na vysokú úroveň.
  4. Hostiteľ riadi riadok HostClk vysoko a tento okraj možno použiť na zachytenie údajov v PU.
  5. SP zníži úroveň PeriphAck, aby naznačil, že je pripravený prijať ďalší bajt.

Pretože prevod do ESR prebieha cez vyrovnávacie pamäte FIFO, ktoré môžu byť prítomné na oboch stranách rozhrania, je dôležité pochopiť, v akom štádiu možno dáta považovať za prenesené. Údaje sa berú do úvahy prenesené v kroku 4, keď sa línia HostClk zvýši. V tomto momente sa upravia počítadlá odoslaných a prijatých bajtov. V protokole ESR existujú podmienky, ktoré spôsobia zastavenie výmeny medzi krokmi 3 a 4. Potom by sa tieto údaje nemali považovať za prenesené.

Z obr. 1.7 ukazuje ďalší rozdiel ESR od ERR. Protokol EPP umožňuje vodičovi striedať cykly prevodov vpred a vzad bez toho, aby požadoval potvrdenie zmeny smeru. AT ESR zmena smeru musí byť dohodnuté: hostiteľ požaduje reverz nastavením ReverseRequest#, po ktorom musí čakať na potvrdenie signálom AckReverse#. Keďže predchádzajúca slučka mohla byť vykonaná priamym prístupom, musí vodič počkať na dokončenie alebo prerušenie priameho prístupu, uvoľniť vyrovnávaciu pamäť FIFO, určiť presnú hodnotu počítadla prenesených bajtov a až potom požiadať o spätný chod.

Spätný prevodúdaje pozostávajú z nasledujúcich krokov:

  1. Hostiteľ požaduje zmenu smeru kanála stiahnutím riadku ReverseRequest# na nízku úroveň.
  2. CP umožňuje zmenu smeru nastavením linky AckReverse# na nízku hodnotu.
  3. PU vloží dáta na kanálovú zbernicu a nastaví príznak dátového cyklu (vysoká) alebo príkaz (nízka) na linke PeriphAck.
  4. PU zníži úroveň PeriphClk, aby naznačil, že údaje sú platné.
  5. Hostiteľ odpovie nastavením riadku HostAck na vysokú hodnotu.
  6. PU nastavuje líniu PeriphClk vysoko; túto hranu môže hostiteľ použiť na potvrdenie údajov.
  7. Hostiteľ spustí riadok HostAck na nízku úroveň, aby naznačil, že je pripravený prijať ďalší bajt.

Režimy a registre ECP portu *

* Tento režim nie je zahrnutý v špecifikácii spoločnosti Microsoft, ale považuje sa za EPP SMC ovládač FDC37C665/666 a mnoho ďalších.

Programovacie rozhranie a registre ESR pre adaptéry IEEE 1284 to definuje špecifikácia spoločnosti Microsoft. Sú definované režimy (tabuľka 1.9), v ktorých môže adaptér pracovať. Sú stanovené poľom režim Registrovať ECR(bity ).

Zaregistrujte model adaptéra ESR(Tabuľka 1.10) využíva vlastnosti architektúry štandardnej zbernice a ISA adaptérov - na dešifrovanie adries I/O portov sa používa iba 10 spodných riadkov adresovej zbernice. Preto napríklad volania na adresy Port, Port+400h, Port+800h... budú vnímané ako adresy na adresu prístav, ležiace v rozmedzí 0-3FFh. Moderné počítače a adaptéry dekódujú viac bitov adries, takže prístupy na adresy 0378h a 0778h budú adresované do dvoch rôznych registrov. Umiestnenie ďalších registrov ESR za štandardnými registrami portov (offset 400-402h) slúži na dva účely. Po prvé, tieto adresy nikdy nepoužívali tradičné adaptéry a ich ovládače a ich použitie v ESR nezúži dostupný priestor I/O adries. Po druhé, toto poskytuje kompatibilitu so starými adaptérmi na úrovni režimov 000-001 a možnosť určiť prítomnosť ECP adaptéra pokusom o prístup k jeho rozšíreným registrom.

Režim názov Popis
000 Režim SPP Štandardný (tradičný) režim
001 Obojsmerný režim Obojsmerný port (typ 1 pre PS/2)
010 Rýchly Centronics Jednosmerný pomocou FIFO a DMA
011 Režim paralelného portu ECP ECP
100 Režim paralelného portu EPP* Prepnúť do režimu EPP
101 rezervované -
110 testovací mód Testovanie FIFO a prerušení
111 konfiguračný režim Prístup ku konfiguračným registrom

Každý režim ECP zodpovedajú (a sú dostupné) ich funkčným registrom. Prepínanie režimov sa vykonáva zápisom do registra ECR.„Pohotovostné“ režimy, ktoré sú predvolene povolené, sú 000 alebo 001. V ktoromkoľvek z nich funguje režim vstupu nibble. Z týchto režimov môžete vždy prepínať do ľubovoľného iného, ​​ale z vyšších režimov (010-111) je prepínanie možné len na 000 alebo 001. Aby rozhranie fungovalo správne, pred opustením vyšších režimov musíte počkať na priamy prístup výmena na dokončenie a vymazanie vyrovnávacej pamäte FIFO.

AT režim 000 (SPP) port funguje ako štandardný jednosmerný softvérovo riadený S.P.P.

AT režim 001 (Bi-Di PS/2) port funguje ako obojsmerný port PS / 2 typu 1. Od režimu 000 sa líši možnosťou obrátenia dátového kanála po bitoch CR.5.

Režim 010 (Fast Centronics) určené len pre vysokovýkonný výstup FIFO pomocou DMA. Signály potvrdenia protokolu ceritromcs vyrobené hardvérom. Signál požiadavky na prerušenie je generovaný stavom vyrovnávacej pamäte FIFO, ale nie signálom Ask# (požiadavka na jeden bajt nie je "zaujatá" výstupným ovládačom rýchleho bloku).

Režim 011 je skutočný režim ESR, skôr opísané. Prúd dát a príkazov prenášaných do PU sa umiestňuje do vyrovnávacej pamäte FIFO cez registre ECPDFIFO a ECPAFIFO resp. Sú na výstupe z FIFO s príslušným príznakom cyklu (stav riadku HostAck). Prijatý dátový tok z PU sa získava z vyrovnávacej pamäte FIFO cez register ECPDFIFO. Prijímanie adresy v príkazovom cykle z PU nie je zabezpečené. Registrovať výmenu ECPDFIFO možno vykonať aj cez kanál DMA.

RLE kompresia pri prenose sa to robí softvérovo. Preniesť viac ako dva rovnaké bajty dát za sebou do registra ECPAFIFO zapíše sa bajt, v ktorom spodných 7 bitov obsahuje čítač RLC(RLC=127 zodpovedá 128 opakovaniam) a najvýznamnejší bit je nula. Potom v ECPDFIFO zapíše sa samotný bajt. Z toho je zrejmé, že výstup dát so súčasným použitím kompresie a DMA je nemožný. Po prijatí tohto páru bajtov (príkazový bajt a dátový bajt) PU vykoná dekompresiu. Pri príjme streamu z PU adaptér ESR dekompresiu vykoná hardvér a vloží už dekomprimované dáta do vyrovnávacej pamäte FIFO.

Režim 100 (EPP) - jeden zo spôsobov, ako zapnúť režim ERR.

Režim 110 (Testovací režim) navrhnutý na testovanie interakcie FIFO a prerušení. Dáta je možné prenášať do/z registra TFIFO s pomocou DMA resp programovo. Externé rozhranie nie je ovplyvnené výmenou. Adaptér vykonáva nečinné operácie pri maximálnej rýchlosti rozhrania (ako keby signály na podanie ruky prišli bez oneskorenia). Adaptér monitoruje stav vyrovnávacej pamäte a podľa potreby generuje signály požiadavky na prerušenie. Program teda môže určiť maximálnu šírku pásma kanála.

Režim 111 (režim konfigurácie) určené na prístup k konfiguračným registrom. Výber režimu chráni adaptér a protokol pred nesprávnymi zmenami konfigurácie počas výmeny.

Zaujatosť názov R/W Režimy ECP* názov
000 DR R/W 000-001 registra údajov
000 ECPAF1FO R/W 011 ECP adresa FIFO
001 SR R/W Všetky stavový register
002 CR R/W Všetky Kontrolný register
400 SDFIFO R/W 010 Paralelné údaje Pwt FIFO
400 ECPDFIFO R/W 011 Údaje ECP FIFO
400 TFIFO R/W 110 TestFIFO
400 CNFGA R 111 Konfiguračný register A
401 CNFGB R/W 111 Konfiguračný register B
402 ECR R/W Všetky Rozšírený kontrolný register
* Registre sú dostupné len v špecifikovaných režimoch (režim sa nastavuje bitmi 7-5 registra ECR).

Dátový register DR používa sa na prenos dát len ​​v programovo riadených režimoch (000 a 001).

Stavový register SR prenáša význam signálov na zodpovedajúcich riadkoch (ako napr SPP).

Riadiaci register CR má rovnaké priradenie bitov ako S.P.P. V režimoch 010, 011 sa zápis do bitov 0, 1 (signály AutoLF# a Strobe#) ignoruje.

Zaregistrujte ECPAFIFO slúži na umiestnenie informácií o cykloch príkazov (adresa kanála alebo počítadlo RLE, v závislosti od bitu 7) do vyrovnávacej pamäte FIFO. Z vyrovnávacej pamäte budú informácie vydávané v cykle výstupného príkazu.

registra SDFIFO používa sa na prenos údajov v režime 010. Údaje zapísané do registra (alebo odoslané cez kanál DMA) sa prenášajú cez vyrovnávaciu pamäť FIFO pomocou hardvérovo implementovaného protokolu centronika. V tomto prípade musí byť nastavený dopredný smer prenosu (bit CR.5=0).

Zaregistrujte DFIFO používa sa na výmenu údajov v režime 011 (ESR).Údaje zapísané do registra alebo načítané z registra (alebo prenášané cez kanál DMA) sa prenášajú cez vyrovnávaciu pamäť FIFO pomocou protokolu ESR.

TFIFO register poskytuje mechanizmus na testovanie vyrovnávacej pamäte FIFO v režime 110.

Zaregistrujte ECPCFGA umožňuje čítanie informácií o adaptéri (identifikačný kód v bitoch).

Zaregistrujte ECPCFGB ukladá informácie potrebné pre vodiča. Zápis do registra nemá vplyv na prevádzku portu.

ECR register - hlavný riadiaci register ESR.

Účel bitov registra ECR:

  • ECR -REŽIM ECP - nastaví režim ESR.
  • ECR.4 - ERRINTREN^t(Error Interrupt Disable) - deaktivuje prerušenia na signáli Error # (keď je hodnota bitu nula, na tomto riadku je generovaná požiadavka na prerušenie na zápornej hrane).
  • ECR.3 - DMAEN(DMA Enable) - umožňuje výmenu cez kanál DMA.
  • ECR.2 - SERVICEINTR(Prerušenie služby) – Zakáže prerušenia služby, ktoré sa generujú na konci cyklu DMA (ak je povolené), pri prahovej hodnote zaplnenia/podtečenia vyrovnávacej pamäte FIFO (ak sa nepoužíva DMA) a pri chybe pretečenia alebo podtečenia vyrovnávacej pamäte.
  • ECR.1 - FIFOFS(FIFO Full Status) - indikuje, že vyrovnávacia pamäť je plná; s FIFOFS=1 nie sú vo vyrovnávacej pamäti žiadne voľné bajty.
  • ECR.0-FIFOES(FIFO Empty Status) - indikuje úplné vyprázdnenie zásobníka; kombinácia FIFOFS=FIFOES=i znamená chybu pri práci s FIFO (horný alebo spodný prepad).

Keď je port v štandardnom alebo obojsmernom režime (000 alebo 001), prvé tri registre sú úplne rovnaké ako štandardné registre portov. To zaisťuje, že ovládač je kompatibilný so staršími adaptérmi a že staršie ovládače sú kompatibilné s novými adaptérmi.

Podľa rozhrania s programom sa ECP port podobá EPP: po nastavení režimu (zápis kódu do registra ECR) výmena dát so zariadením je zredukovaná na čítanie alebo zápis do príslušných registrov. Stav vyrovnávacej pamäte FIFO je monitorovaný buď registrom ECR, alebo na obsluhu prerušení služby z portu. Celý protokol handshake generuje adaptér v hardvéri. Komunikácia s ESR - port (okrem explicitného softvéru) je možný aj prostredníctvom priameho prístupu do pamäte (kanál DMA), ktorý je účinný pri prenose veľkých dátových blokov.

1.2.3. Vyjednávanie režimu IEEE 1284

PU v štandarde IEEE 1284 zvyčajne nevyžadujú, aby kontrolér implementoval všetky režimy poskytované štandardom. Na určenie režimov a metód ovládania konkrétneho zariadenia poskytuje norma poradie vyjednávania. Sekvencia je navrhnutá tak, že staršie zariadenia, ktoré nie sú určené na používanie IEEE 1284, na ňu nereagujú a ovládač zostane v štandardnom režime. Periférne zariadenie IEEE 1284 môže hlásiť svoje schopnosti a radič nastaví režim tak, aby vyhovoval hostiteľovi aj UE.

Počas fázy vyjednávania zapojí kontrolór dátovú linku bajt rozšíriteľnosti, vyžiadanie si potvrdenia na prepnutie rozhrania do požadovaného režimu alebo prijatie ID PU (tabuľka 1.11). Identifikátor sa prenáša do riadiacej jednotky v požadovanom režime (akýkoľvek režim spätného kanála, okrem ERR). PU používa signál Xflag (Vyberte v podmienkach SPP) na potvrdenie požadovaného režimu spätného kanála iného ako nibble. Režim Nibble podporujú všetky zariadenia IEEE 1284. Bit Žiadosť o prepojenie rozšírenia bude slúžiť na definovanie ďalších režimov v budúcich rozšíreniach normy.

Trocha Popis Povolené kombinácie bitov
7 Žiadosť o odkaz na rozšírenie – vyhradené 10000000
6 Požiadavka na režim EPP 01000000
5 Požiadavka na režim ESR s RLE 00110000
4 Požiadavka na režim ESR bez RLE 00010000
3 rezervované 00001000
2 Žiadosť ID zariadenia s odpoveďou v režime:
okusovať 00000100
byte 00000101
ESR bez RLE 00010100
ESR s RLE 0011 0100
1 rezervované 00000010
0 Žiadosť o režim Nibble 00000001
žiadny Žiadosť o bajtový režim 00000000

Poradie zhody(obr. 1.8) pozostáva z nasledujúcich krokov:

  1. Hostiteľ vydáva na dátových linkách bajt rozšíriteľnosti.
  2. Hostiteľ nastaví Selecting signal high a AutoFeed# low na označenie začiatku vyjednávacej sekvencie.
  3. PU reaguje nastavením Ack# low a Errorft, PaperEnd a Select high. Zariadenie, ktoré „nerozumie“ štandardu 1284, nebude reagovať a nepodniknú sa žiadne ďalšie kroky.
  4. Hostiteľ stiahne Strobe# na nízku úroveň, aby zapísal bajt rozšíriteľnosti do PU.
  5. Hostiteľ nastaví signály Strobeft a AutoLF# vysoko.
  6. PU reaguje nastavením signálov PaperEnd a Ergog na nízku úroveň, ak má PU spätné dátové spojenie. Ak požadovaný režim zariadenie podporuje, riadok Select je nastavený vysoko, ak nie je podporovaný, je nastavený nízko.
  7. PU nastaví riadok Ack# na vysokú úroveň, aby indikoval dokončenie vyjednávacej sekvencie, po ktorej ovládač nastaví požadovaný režim prevádzky.


Ryža. 1.8. Postupnosť vyjednávania režimu IEEE 1284

1.2.4. Vývoj štandardu IEEE 1284

Okrem hlavného štandardu IEEE 1284, ktorý už bol prijatý, sa v súčasnosti vyvíjajú nové štandardy, ktoré ho dopĺňajú. Tie obsahujú:

  • IEEE P1284.1"Štandard pre informačnú technológiu pre prenosovo nezávislé rozhranie tlačiarne/skenera (TIP/SI)". Tento štandard je vyvinutý na správu a údržbu skenerov a tlačiarní založených na protokole NPAP (Network Printing Alliance Protocol).
  • IEEE P1284.2"Štandard pre test, meranie a zhodu s IEEE Std. 1284" je štandard pre testovanie portov, káblov a zariadení na zhodu s IEEE 1284.
  • IEEE P12843"Štandard pre rozšírenia rozhrania a protokolu k portom periférnych zariadení a hostiteľských adaptérov kompatibilných s IEEE Std. 1284" je štandard pre ovládače a používanie zariadení aplikačným softvérom (softvérom). Špecifikácie systému BIOS sú už prijaté na používanie EPP DOS ovládače. Vyvíja sa štandard pre zdieľané používanie jedného portu reťazcom zariadení alebo skupinou zariadení pripojených cez multiplexer.
  • IEEE P1284.4"Štandard pre doručovanie údajov a logické kanály pre rozhrania IEEE Std. 1284" sa zameriava na implementáciu paketového protokolu na spoľahlivý prenos údajov cez paralelný port. Základom je protokol Hewlett-Packard MLC (Multiple Logical Channels), no kompatibilita s ním vo finálnej verzii štandardu nie je zaručená.

1.3. Používanie paralelných rozhraní a portov LPT

Paralelné rozhrania sa používajú v počítačoch rôznych rodín a tried, tu sa obmedzujeme na zváženie počítačov kompatibilných s IBM PC.

1.3.1. Používanie paralelných rozhraní

Bežnou aplikáciou portu LPT je prepojenie tlačiarne a plotra. Zastavme sa pri hardvérových aspektoch – režim portu a prepojovací kábel. Takmer všetky tlačiarne dokážu pracovať s portom in SPP, ale použitie pokročilých režimov má svoje výhody:

  • Obojsmerný režim (B-Di) nezlepšuje výkon, ale používa sa na hlásenie stavu a nastavení tlačiarne.
  • Režimy rýchlosti (Rýchly Centronics) zlepšiť výkon tlačiarne, ale môže vyžadovať kvalitný kábel (pozri nižšie). Tlačiareň nevyžaduje žiadne ďalšie „inteligentné“ schopnosti.
  • Režim ESR - potenciálne najefektívnejší, má systémovú podporu vo všetkých Verzie systému Windows. Niektoré tlačiarne nie sú plne implementované (môže chýbať hardvérová kompresia). ESR podpora modelov tlačiarní HP DeskJet bxx, LaserJet 4 a novších, moderné modely spoločnosťou Lexmark. Vyžaduje použitie kábla, ktorý vyhovuje frekvenčným vlastnostiam IEEE 1284.

Najjednoduchšia možnosť kábel na pripojenie tlačiarne - 18-žilový kábel s nekrútenými vodičmi. Používa sa na prácu v S.P.P. Pri dĺžkach nad 2 m je žiaduce, aby aspoň linky Strobe# a Busy boli prepletené samostatnými spoločnými vodičmi. Pre vysokorýchlostné režimy sa to môže ukázať ako nevhodné a poruchy sa môžu vyskytovať nepravidelne a len pri určitých sekvenciách prenášaných kódov. Zoznámte sa s káblami centronics, ktoré nemajú spojenie medzi kolíkom 17 konektora PC a kolíkom 36 konektora tlačiarne. Ak sa pokúsite pripojiť tlačiareň 1284 pomocou tohto kábla, zobrazí sa hlásenie, že musíte použiť „obojsmerný kábel“. Tlačiareň nemôže povedať systému, že podporuje pokročilé režimy, na čo sa spoliehajú ovládače tlačiarne.

Dobré elektrické vlastnosti majú ploché káble, v ktorých sa striedajú signálne obvody (riadiace signály) s bežnými vodičmi. Ale ich použitie ako externého rozhrania je nepraktické (žiadna druhá ochranná vrstva izolácie, vysoká zraniteľnosť) a neestetické (okrúhle káble vyzerajú lepšie).

Ideálnou možnosťou sú káble, v ktorých sú všetky signálne vedenia prepletené bežnými vodičmi a uzavreté v spoločnom tienení - čo vyžaduje IEEE 1248. Takéto káble zaručene fungujú rýchlosťou až 2 Mb / s, ich dĺžka môže dosiahnuť 10 m.

V tabuľke. 1.12 znázorňuje zapojenie kábel na pripojenie tlačiarne konektor typu XI A(DB25-P) Strana PC a typ X2 B (Centronics-36) alebo typ OD(miniatúrne) na strane tlačiarne. Použitie bežných vodičov (GND) závisí od kvality kábla (pozri vyššie). V najjednoduchšom prípade (18-žilový kábel) sú všetky signály GND spojené do jedného vodiča. Kvalitné káble vyžadujú samostatný spätný vodič pre každú signálnu linku, ale na to nie je dostatok pinov v konektoroch typu A a B (pozri tabuľku 1.12, kde sú čísla pinov PC konektora typu A, ktoré zodpovedajú spätným vodičom sú v zátvorkách). Konektor typu C má spätný vodič (GND) pre každý signálový obvod; signálne kolíky 1-17 tohto konektora zodpovedajú kolíkom GND 19-35.

XI, PC konektor typu A Signál X2, PRN typ B konektor X2, PRN konektor typu C
1 Stroboskop# 1 15
2 Údaje 0 2 6
3 Údaje 1 3 7
4 Údaje 2 4 8
5 Údaje 3 5 9
6 Údaje 4 6 10
7 Údaje 5 7 11
8 Údaje 6 8 12
9 Údaje7 9 13
10 Ack# 10 3
11 Zaneprázdnený 11 1
12 papierový koniec 12 5
13 Vyberte 13 2
14 AutoLF# 14 17
15 chyba* 32 4
16 lnit# 31 14
17 Výber 36 16
18 GND(1) 19 33
19 GND (2 3) 20 21 24 25
20 GND (4 5) 22 23 26 27
21 GND (6 7) 24 25 28 29
22 GND (8 9) 26 27 30 31
23 GND (11 15) 29 19 22
24 GND (10 12 13) 28 20 21 23
25 GND (14 16 17) 30 32 34 35

Množstvo domácich tlačiarní (a bývalých krajín RVHP) má rozhranie IRPR (IFSP v dokumentácii k tlačiarňam ROBOTRON). Je to blízky príbuzný rozhrania centronics, ale s nasledujúcimi rozdielmi:

  • Dátové riadky sú obrátené. Potvrdzovací protokol je trochu odlišný.
  • Na všetky vstupné linky (na tlačiarni) sú pripojené dvojice zakončovacích odporov: 220 ohmov na napájanie +5 V a 330 ohmov na spoločný vodič. To umožňuje použitie dlhých káblov, ale preťažuje väčšinu adaptérov rozhrania PC.
  • Neexistujú žiadne signály o chybe alebo o konci papiera.

Rozhranie IRPR je možné programovo implementovať cez bežný LPT port, ale je vhodné z tlačiarne odstrániť zakončovacie odpory, aby sa eliminovalo preťaženie výstupných liniek. Port preťažený výstupom môže predstavovať najrôznejšie prekvapenia (samozrejme nepríjemné a ťažko diagnostikovateľné).

Na prepojenie dvoch počítačov paralelné rozhranie používa rôzne káble v závislosti od režimov použitých portov. Najjednoduchší a najpomalší je režim okusovania, ktorý beží ďalej všetky prístavov. Pre tento režim stačí mať v kábli 10 signálov a jeden spoločný vodič. Rozloženie konektorov káblov je uvedené v tabuľke. 1.13. Komunikáciu medzi dvoma PC s týmto káblom podporuje štandardný softvér ako Interink od MS-DOS alebo Norton Commander.

Pre stroje PS/2 s obojsmerný V tomto porte IBM vyrobila adaptér dodávaný s programom Data Migration Facility. Adaptér bol nainštalovaný na konektor portu PS / 2 LPT a na jeho konektor typu X2 Centronics bol pripojený bežný kábel tlačiarne pripojený k portu LPT akéhokoľvek počítača. Preto bolo navrhnuté vyriešiť problém prenosu súborov zo starých počítačov vybavených 5" diskami do počítačov PS / 2 s 3,5" diskami. Odspájkovanie takéhoto adaptéra je uvedené v tabuľke. 1.14. Ako vidíte, tento adaptér nie je možné použiť pri komunikácii cez Interink alebo Norton Commander. Ak majú oba pripojené zariadenia obojsmerné porty, adaptér poskytuje symetrickú obojsmernú komunikáciu. Čo sa týka rýchlosti výmeny, 2-násobne prekonáva vyššie popísané nibble spojenie. Toto pripojenie nie je v súlade s obojsmerným režimom IEEE 1284.

XI, konektor PC#1 X2, konektor PC#2
Trocha Kontakt Kontakt Trocha
DR.O 2 15 SR.3
DR.1 3 13 SR.4
DR.2 4 12 SR.5
DR.3 5 10 SR.6
DR.4 6 11 SR.7
SR.6 10 5 DR.3
SR.7 11 6 DR.4
SR.5 12 4 DR.2
SR.4 13 3 DR.1
SR.3 15 2 DR.O
GND 18-25 18-25 GND

Konektory XI a X2 - DB25-P (zástrčky).

XI X2
Kontakt Trocha Trocha Kontakt
1 CR.0 SR.6 10
2 DR.0 DR.0 2
3 DR.1 DR.1 3
4 DR.2 DR.2 4
5 DR.3 DR.3 5
6 DR.4 DR.4 6
7 DR.5 DR.5 7
8 DR.6 DR.6 8
9 DR.7 DR.7 9
10 SR.6 CR.0 1
12 SR.5 CR.3 36
17 CR.3 SR.5 12
18-25 GND GND 19-30, 33

Konektory XI - DB25-P (samec), X2 - Cenmnics-36(zásuvka).

V režime je možné vykonávať aj vysokorýchlostnú komunikáciu medzi dvoma počítačmi ESR(režim EPP nepohodlné, pretože vyžaduje synchronizáciu cyklov I/O zbernice dvoch počítačov). V tabuľke. 1.15 znázorňuje odspájkovanie kábla. Na rozdiel od predchádzajúcich tabuliek, ktoré popisujú káble pre softvérovo riadené režimy, táto tabuľka uvádza názvy signálov, ktoré sú hardvérovo generované adaptérmi portov. Rovnaký kábel možno použiť aj na komunikáciu v bajtovom režime. Tento odkaz je podporovaný systémom Windows 95.

Konektor XI Konektor X2
Kontakt Názov v ESR Názov v ESR Kontakt
1 HostClk PeriphClk 10
14 HostAck PeriphAck 11
17 1284 aktívnych PeriphRequest# 15
16 ReverseRequest* AckReverse* 12
10 PeriphClk HostClk 1
11 PeriphAck ^MostAck 14
12 AckReverse* ReverseRequest# 16
13 xflag /- -
15 PeriphRequest# 1284 aktívnych 17
2-9 Údaje Údaje 2-9

Pripojenie skenera k portu LPT je účinné iba vtedy, ak port poskytuje aspoň obojsmerný režim (Bi-Di) pretože hlavné vlákno je vstupné. Je lepšie použiť port ESR, ak tento režim skener podporuje (alebo ERR,čo je neuveriteľné).

Pripojenie externé disky (lomega Zip Drive, CD-ROM atď.), LAN adaptéry a iných symetrických vstupno/výstupných zariadení má svoje špecifiká. V režime SPP Spolu so spomalením prevádzky zariadenia je zrejmá zásadná asymetria tohto režimu: čítanie údajov deje dvakrát pomalšie ako(veľmi pomalý) záznam. Aplikácia obojsmerný režimu (Bi-Di alebo PS/2 typ 1) odstrániť túto asymetriu - rýchlosti sú rovnaké. Len tým, že pôjdete ERR, k dispozícii normálna prevádzková rýchlosť. V režime EPP pripojenie k portu LPT je takmer také rýchle ako pripojenie cez radič ISA. To platí aj pri pripájaní zariadení so štandardným zbernicovým rozhraním k LPT portom cez prevodníky rozhraní (napríklad LPT - IDE, LPT - SCSI, LPT - PCMCIA).

V tabuľke. 1.16 popisuje účel pinov konektora LPT portu v rôznych režimoch a ich zhodu s bitmi registrov štandardných portov.

Kontakt I/O Trocha* SPP ECP EPP
1 O/I CR.0\ Stroboskop# hostdk Napíšte #
2 O/I DR.0 Údaje0 Údaje0 Údaje0
3 O/I DR.1 Údaje1 Údaje1 Údaje1
4 O/I DR.2 Údaje2 Údaje2 Údaje2
5 O/I DR.3 Údaje3 Údaje3 Údaje3
6 O/I DR.4 Údaje4 Údaje4 Údaje4
7 O/I DR.5 Údaje5 Údaje5 Údaje5
8 O/I DR.6 Údaje6 Údaje6 Údaje6
9 O/I DR.7 Údaje7 Údaje7 Údaje7
10 ja SR.6 Ack# PeriphClk INTR#
11 ja SR.7\ Zaneprázdnený PeriphAck počkaj"
12 ja SR.5 papierový koniec AckReverse* ^*
13 ja SR.4 Vyberte xflag **
14 O/I CR.1\ AutoLF# HostAck DataStb#
15 ja SR.3 chyba" PeriphRequest# **
16 O/I CR2 zasiahnuť" ReverseRequest* reset*
17 O/I CR.3\ Výber 1284 aktívnych AddrStb#
* Symbol "\" označuje invertované signály (1 v registri zodpovedá nízkej úrovni vedenia). ** - znamená „definovaný používateľom“.

1.3.2. Konfigurácia LPT portov

Správa paralelných portov je rozdelená do dvoch etáp - predkonfigurácia(Inštalačný) port hardvéru a prúd(prevádzkové) prepínanie prevádzkové režimy aplikačného alebo systémového softvéru. Prepínanie za tepla je možné len v rámci režimov povolených počas konfigurácie. To poskytuje možnosť koordinácie hardvéru so softvérom a blokovanie falošného prepínania spôsobeného nesprávnymi akciami programu.

Konfigurácia LPT portu závisí od jeho verzie. Port umiestnený na rozširujúcej karte (multikarte) nainštalovanej v slote ISA alebo ISA+VLB sa konfiguruje pomocou prepojok na samotnej karte. Port na základnej doske sa konfiguruje pomocou nastavenia systému BIOS.

Nasledujúce parametre podliehajú konfigurácii:

  • Základná adresa - 3BCh, 378h alebo 278h. Počas inicializácie BIOS kontroluje prítomnosť portov na adresách v tomto poradí a podľa toho priraďuje zisteným portom logické názvy. LPT1, LPT2, LPT3. Adresa 3BCh má adaptér portu umiestnený na karte MDA alebo HGC. Väčšina portov je štandardne nakonfigurovaná na adresu 378h a možno ich prepnúť na 278h.
  • Použité riadok žiadosti o prerušenie: pre LPT- IRQ7, pre LPT2- IRQ5. Tradične sa nepoužívajú prerušenia tlačiarne a tento vzácny zdroj sa dá ušetriť. Avšak pri použití rýchlostných režimov ESR(alebo rýchly Centronics) práca cez prerušenia môže výrazne zlepšiť výkon a znížiť zaťaženie procesora.
  • Použitie kanál DMA pre režimy ESR a Rýchly Centronics - rozlíšenie a číslo kanála DMA (predvolené je 3).

Prevádzkové režimy portov:

  • SPP- port funguje iba v štandardnom jednosmernom softvérovo riadenom režime. PS/2, on je obojsmerný - sa líši od SPP možnosť zmeny kanála (nastavenie СЯ.5=7).
  • Rýchly Centronics - hardvérové ​​protokolovanie Centronics s pomocou vyrovnávacej pamäte FIFO a prípadne DMA.
  • ERR – v závislosti od použitia registrov port pracuje v režime SPP alebo ERR.
  • ESR - predvolene je nastavený na SPP alebo PS/2, vstup do ECR možno prepnúť do akéhokoľvek režimu ESR, ale preklad do EPP vstup do ECR kód 100 nie je zaručený.
  • ESR+ERR - rovnake ako ESR, ale vstup do ECR kód režimu 100 nastavuje port na ERR.

Výber režimu ERR, ESR alebo Rýchly Centronics sama o sebe nevedie k zvýšeniu rýchlosti výmeny s pripojenými PU, ale umožňuje len vodičovi a PU nastaviť optimálny režim v rámci ich „pochopenia“. Väčšina moderných ovládačov a aplikácií sa snaží využívať efektívne režimy, takže sa im neoplatí pristrihnúť krídla nastavovaním jednoduchých režimov bez dobrého dôvodu.

Tlačiarne a skenery môže si priať režim ESR. Windows (3, 95 a NT) má systémové ovládače pre tento režim. V prostredí DOS tlač cez ESR podporuje iba vyhradený ovládač na stiahnutie. Sieťové adaptéry, externé disky a cd-rom, pripojený k paralelnému portu môžete použiť ERR. Pre tento režim zatiaľ neexistuje žiadny špecifický ovládač; použitie EPP súčasťou samotného ovládača pripojeného zariadenia.

Väčšina moderných ovládačov pripojených k portu LPT podporuje štandard 1284 a RpR. Na podporu týchto funkcií počítačom z hardvérového hľadiska stačí mať ovládač rozhrania, ktorý podporuje štandard 1284. Ak pripojené zariadenie podporuje PnP, môže sa s portom „dohadovať“ o možných režimoch výmeny pomocou 1284. protokol o vyjednávaní režimu. Pripojené zariadenie musí poskytnúť operačnému systému (OS) všetky potrebné informácie o sebe – ID výrobcu, model a sadu podporovaných príkazov. Podrobnejšie informácie môžu obsahovať identifikátor triedy, Detailný popis a identifikátor zariadenia, s ktorým je poskytovaná kompatibilita. Na základe prijatých informácií môže OS podniknúť kroky na inštaláciu požadovaného softvéru na podporu zariadenia.

1.3.3. Riešenie problémov a testovanie paralelných portov

Je rozumné začať testovať paralelné porty s overenie ich dostupnosti v systéme. Zoznam adries nainštalovaných portov sa zobrazí v tabuľke, ktorú zobrazí BIOS pred zavedením OS. Zoznam je možné prezerať aj pomocou testovacích programov alebo priamo v BIOSe dátová oblasť pomocou debuggera.

Ak BIOS zistí menej portov, ako je fyzicky nastavené, je pravdepodobné, že dvom portom bola priradená rovnaká adresa. Zároveň nie je zaručený výkon žiadneho z konfliktných portov: súčasne budú vydávať signály, ale pri čítaní stavu konflikt na zbernici s najväčšou pravdepodobnosťou povedie k poškodeniu údajov. Softvérové ​​testovanie portu bez diagnostického konektora (Loop Back) neukáže chyby, pretože údaje výstupných registrov sa čítajú a budú sa zhodovať pre všetky konfliktné (individuálne dobré) porty. Toto je druh testovania, ktorý BIOS vykonáva pri kontrole portov. Túto situáciu by ste mali riešiť postupným nastavovaním portov a sledovaním adries, ktoré sa objavia v zozname.

Ak je fyzicky nainštalovaný iba jeden port a systém BIOS ho nezistí, potom je port počas konfigurácie deaktivovaný alebo je mimo prevádzky (pravdepodobne z dôvodu porušenia pravidiel pripojenia). Niekedy máte šťastie a porucha je odstránená, keď je doska "žonglovaná" v slote - sú problémy s kontaktmi.

Pozorujú sa aj takéto „zázraky“ – pri „teplom“ reštarte DOSu po Windows 95 port nie je vidieť (a aplikácie nemôžu tlačiť z MS-DOS). Po reštarte LPT je však port na svojom mieste. Je jednoduchšie tento fenomén prijať, ako s ním bojovať.

Testovanie portov pomocou diagnostických programov umožňuje skontrolovať výstupné registre a pri použití špeciálnych zástrčiek aj vstupné linky. Keďže počet výstupných liniek portu (12) a vstupných liniek (5) je rozdielny, úplná kontrola portu pomocou pasívnej zástrčky je v podstate nemožná. Rôzne programy testovanie vyžaduje použitie rôznych zástrčiek (obr. 1.9).

Ryža. 1.9. Schéma zapojenia na testovanie portu LPT: a - pre program Checkit, b - pre program Norton Diagnostics.

Väčšina problémov pri práci s portami LPT je spôsobená konektory a káble. Na kontrolu portu, kábla a tlačiarne môžete použiť špeciálne testy z populárnych diagnostických programov (Checkit, PCCheck atď.), Alebo môžete skúsiť vytlačiť na tlačiareň nejaký znakový súbor.

  • Ak výstup súboru z pohľadu DOS prejde (skopírovanie súboru do zariadenia s názvom LPTn alebo PRN je dokončená rýchlo a úspešne) a tlačiareň (funkčná) nevytlačila ani jeden znak - s najväčšou pravdepodobnosťou ide o otvorený obvod (bezkontaktný konektor) obvodu Strobed.
  • Ak je tlačiareň v stave on-line, ale objaví sa hlásenie o jeho nedostupnosti, dôvod treba hľadať v linke Busy.
  • Ak je tlačiareň pripojená k portu v štandardnom režime (SPP) vytlačí normálne, ale keď prepnete na ESR poruchy začínajú, mali by ste skontrolovať kábel - či spĺňa požiadavky IEEE 1284 (pozri vyššie). Lacné káble s neskrútenými vodičmi bežne pracujú rýchlosťou 50-100 Kb/s, ale pri rýchlosti 1-2 Mb/s poskytovanej ECP majú plné právo nefungovať, najmä ak sú dlhšie ako 2 m.
  • Ak sa počas inštalácie ovládača tlačiarne RpR zobrazí hlásenie, že je potrebný "obojsmerný kábel", skontrolujte spojenie medzi kolíkom 17 konektora DB-25 a kolíkom 36 konektora DB-25. centronika. Hoci toto pripojenie bolo pôvodne poskytnuté, v mnohých kábloch chýba.
  • Ak tlačiareň pri tlači skresľuje informácie, dátové riadky môžu byť prerušené (alebo skratované). V tomto prípade je vhodné použiť súbor obsahujúci sekvenciu kódov pre všetky tlačiteľné znaky. Tu je príklad programu v Basic:

10 OTVORITE „bincode.chr“ PRE VÝSTUP AKO #1
20 PRE J=2 AŽ 15
30 PRE I=0 AŽ 15
40 PRINT#1, CHR$(1b*J+I);
50 ĎALEJ I
60 TLAČ #1
70 ĎALEJ J
80 ZATVORENIE #1
90 KONIEC

Súbor bincode.chr, vytvorený týmto programom je tabuľka všetkých vytlačiteľných znakov (kontrolné kódy vynechané) umiestnená 16 znakov na riadok. Ak je súbor vytlačený s opakovaním niektorých znakov alebo ich skupín, prerušený dátový vodič rozhrania možno ľahko vypočítať z frekvencie opakovania. Rovnaký súbor je vhodné použiť na kontrolu rusifikácie hardvéru tlačiarne.

Hardvérové ​​prerušenia z portu LPT nie sú vždy používané. Dokonca aj DOSový program na tlač na pozadí TLAČIŤ pracuje s portom dotazovaním stavu a jeho servisný proces sa spúšťa prerušením časovača. Preto sa chyby spojené s obvodom prerušenia portu nevyskytujú často. Skutočne multitaskingové operačné systémy (napríklad NetWare) sa však snažia pracovať s portom na prerušeniach. Prerušovaciu linku môžete otestovať iba pripojením PU alebo zástrčky k portu. Ak pripojíte adaptér k portu s chybným kanálom prerušenia lokálna sieť, potom to bude pravdepodobne fungovať, ale veľmi nízkou rýchlosťou: každá požiadavka dostane odpoveď s oneskorením desiatok sekúnd - paket prijatý z adaptéra bude prijatý nie prerušením (hneď po príchode), ale externým čas vypršal.

1.3.4. Funkcie systému BIOS pre port LPT

BIOS poskytuje podporu portu LPT, ktorú vyžaduje organizácia výstup cez rozhranie Centronics.

Počas počiatočného testu POST systém BIOS skontroluje prítomnosť paralelných portov na adresách 3BCh, 378h a 278h a umiestni základné adresy zistených portov do buniek. Údajová oblasť systému BIOS 0:0408h, 040Ah, 040Ch, 040Eh. Tieto bunky ukladajú adresy portov LPT1-LPT4, nulová hodnota adresy je znakom toho, že neexistuje žiadny port s týmto číslom. Bunky 0:0478, 0479, 047A, 047B sú vyplnené konštantami, ktoré nastavujú časový limit pre tieto porty.

Vyhľadávanie prístavov sa zvyčajne vykonáva pomerne primitívne - testovací bajt (AAB alebo 55h) sa vypíše na základnú adresu (do dátového registra zamýšľaného portu), potom sa vykoná vstup na rovnakú adresu. Ak sa prečítaný bajt zhoduje so zapísaným, predpokladá sa, že bol nájdený port LPT; jeho adresa je umiestnená v bunke Oblasť údajov systému BIOS. Základné adresy portov je potom možné programovo zmeniť. Adresa prístavu LPT4 Systém BIOS sa nemôže nainštalovať, pretože v zozname adries štandardného vyhľadávania sú iba tri špecifikované adresy.

Objavené porty sú inicializované - Zápisom do riadiaceho registra sa vygeneruje a odstráni signál Init#, po čom sa zapíše hodnota OCH zodpovedajúca počiatočnému stavu signálov rozhrania. V niektorých prípadoch je signál lnit# aktívny od reštartu hardvéru až po inicializáciu portu počas zavádzania OS. Je to vidieť na správaní tlačiarne zapnutej po reštarte počítača - indikátor tlačiarne na dlhú dobu zhasne on-line. Dôsledkom tohto javu je nemožnosť tlače obrazoviek (napríklad parametrov BIOS Setup) stlačením klávesu Odfotiť obrazovku pred načítaním OS.

Softvérové ​​prerušenie systému BIOS INT 17 hod poskytuje nasledujúce funkcie podpory portu LPT:

  • 00 h- znakový výstup z registra AL protokol Centronics(žiadne hardvérové ​​prerušenia). Dáta sa umiestnia do výstupného registra a po čakaní na pripravenosť tlačiarne (signál Busy je odstránený) sa vytvorí stroboskop.
  • 01h- inicializácia rozhranie a tlačiareň (nastavenie počiatočných úrovní riadiacich signálov, generovanie impulzu Init#, vypnutie hardvérových prerušení a prepnutie na výstup obojsmerného rozhrania).
  • 02h- prieskum stavu tlačiareň (čítať register stavu portu).

Pri volaní INT 17 hodčíslo funkcie je nastavené v registri AN,číslo portu - v registri DX(Q – LPT1, 1 - LPT2...). Pri vrátení registra AN obsahuje stavový kód - bity stavového registra SR(bity 6 a 3 sú invertované) a príznak časového limitu v bite 0. Príznak časového limitu sa nastavuje pri neúspešnom pokuse o výstup znaku, ak sa signál Busy neodstráni v čase špecifikovanom pre tento port v bunkách časového limitu. V tomto prípade podľa protokolu centronics, dátový stroboskop sa nevygeneruje.

Zachytiť zachytiť INT 17 hod je pohodlný spôsob implementácia vlastných ovládačov tlačiarne. Ich potreba môže vzniknúť pri pripájaní k portu tlačiarne z rozhraní IRPR alebo potrebu prekódovania znakov.

bChFPT NYLHYYO b. h) Všetky práva vyhradené. 2001 ... 2015

rTEDSCHDHEYE 4. UBKFB:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

Port "LPT" je na moderných počítačoch zriedkavý. Ide o špeciálny počítačový konektor na pripojenie tlačiarne. Niektoré počítače boli vybavené viacerými portami „LPT“. Tieto porty boli očíslované: "LPT1", "LPT2" atď.

Paralelné porty

Historicky sú porty na pripojenie počítača rozdelené do kategórií: sériové a paralelné porty. "LPT" označuje paralelné porty. To znamená, že informácie sa pohybujú po ôsmich rôznych drôtoch, teda súčasne a paralelne. Počítače pracujú s binárnymi informáciami. Binárne konvertuje informácie na polia núl a jednotiek. Jedno binárne číslo (nula alebo jedna) sa nazýva bit. Skupina ôsmich bitov sa nazýva bajt. Osem bitov každého bajtu, ktoré sa presúvajú z počítača do paralelného portu, sa presúvajú súčasne. Iný typ kábla pripojený k sériovému portu posúva osem bitov z každého bajtu jeden po druhom.

Význam

Paralelný port má názov. Predvolený názov jediného paralelného portu počítača je „LPT1“. Tento typ porty sa používajú hlavne na pripojenie tlačiarne. K týmto portom je možné pripojiť ďalšie zariadenia, no používatelia používajú tlačiareň oveľa častejšie ako iné zariadenia. Pripojenie tlačiarne k počítaču z nej robí „perifériu“. "Periférne" môže byť pripojené pomocou ľubovoľného špeciálny kábel prídavné zariadenie k počítaču. Tento „periférny“ hardvér môže súčasne používať iba jeden počítač. Jediným spôsobom, ako pripojiť už pripojené „periférne“ zariadenie k inému počítaču, je použiť tlačiareň pripojenú k prvému počítaču – cez sieť a softvér. Tento proces sa líši od sieťová tlačiareň, ktorý sa pripája k sieti a nie k jednému počítaču. V tomto prípade sa používa iný typ kábla a iný typ portu.

Pripojenie

Paralelný port "LPT" a zodpovedajúci konektor má 25 kolíkov a nazýva sa "DB-25" alebo "D-Type 25". Kolíky sú v konektore odkryté. Zapadajú do 25 paralelných portov. Osem z 25 pinov je zodpovedných za prenos dát, ostatné nesú buď riadiace dáta, alebo inštrukcie tlačiarne, ako sú správy z tlačiarne o nedostatku papiera v tlačiarni.

Budúcnosť

Sieťové tlačiarne sú k počítaču pripojené nie pomocou portu "LPT", ale pomocou portu "Ethernet". K portu „LPT“ je možné pripojiť nielen tlačiareň, ale aj ďalšie zariadenia. Dnes „periférne“ zariadenia nepoužívajú paralelné porty. „LPT“ porty aj sériové porty sú dnes už históriou a boli nahradené „USB“ portom, príp sieťový port. Schopnosť bezdrôtové pripojenie nové tlačiarne a periférne zariadenia poskytujú ďalšiu alternatívu k portu "LPT" ako spôsob pripojenia tlačiarne k počítaču.