Rozhranie pre vstup a výstupAdresovanie I/O zariadeníNa adresovanie vstupno / výstupných (I/O) zariadení v počítačoch IBM PC sa používa rovnaká adresová zbernica ako pre adresovanie pamätí. Pamäťový priestor sa odlišuje pomocou rôznych riadiacich signálov. V prípade prístupu :
Na adresovanie sa používa 16 bit adresa zariadenia alebo presnejšie portu (brány), ktorá tvorí kanál cez ktorý zariadenie komunikuje . V zmysle takejto definície procesor komunikuje s vonkajšim prostredím cez paralený alebo sériový port a pod. Konštruktéri IBM PC vyhradili adresy prvých 512 portov štandardným zariadeniam, nachádzajúcim sa na základnej doske, napríklad adresu 20H až 3FH a A0H až BFH pre kontroléry prerušení , adresu 40H až 5FH pre timer, adresu 60H až 6FH pre adaptér klávesnice a pod. Adresy ďalšich 512 zariadení (adresy s 9bit=1) sú vyhradené pre ďalšie I/O adaptéry, alokované na zásuvných kartách, napríklad adresy 278H až 27FH a 378H až 37FH pre tlačiarne LPT2 a LPT1, adresy 2F8H až 2FFH a 3F8H až 3FFH ako adresy pre sériové komunikačné kanály COM2 a COM1 a pod. Ako porty obyčajne neslúžia jednoučelovo naprogramované vstupy alebo výstupy, ale sa používajú programovateľné obvody s možnosťou naprogramovania smeru prenosu dát, resp. aj rôznych iných funkcii obvodu. Napríklad v obvode programovateľného paralelného interfejsu PPI sa pomocou uloženia vhodného kódu do jeho riadiaceho registra dá naprogramovať činnosť ďalších 3 portov, tvoriacich súčasť programovateľného obvodu. Pri použití takýchto programovateľných obvodov potom 2 najmenej významné bity adresy A0 a A1 odlišujú adresy jednotlivých portov, v spolupráci s dekódovanou časťou adresy z ostatných adresných bitov (A2 - A9, resp. A2 - A15) a signálu AEN (odlišuje či adresu generuje procesor alebo kanál DMA) Napríklad niektoré štandardné I/O adresy
v PC
XT:
Pre pripojenie užívateľských zariadení
nie je
jednoznačne určená oblasť adries, hoci formálne býva uvádzaná adresa
300H.
Môže sa použiť ľubovoľná z adries vyšších ako 3FFH , ktorá väčšinou nie
je obsadená štandardným vstupno / výstupným zariadením. Ovládače I/O zariadeníKaždá rozširujúca karta nového periférneho zariadenia na komunikovanie s mikroprocesorom potrebuje doplniť operačný systém o program ovládač (driver).Firemné dosky ISA sú vybavené sadou prepojek (jumperov) na úpravu parametrov systémových zdrojov tak, aby bolo možno prideliť bežné systémové zdroje aj pre väčšie množstvo rozširujúcich dosiek. Dosky PCI majú vlastnosti PnP (Plug and Play), bez nutnosti konfigurácie užívateľom. Pokiaľ PnP funguje tak po zapnutí počítača operačný systém automaticky spustí diagnostiku hardware a rozpozná nové zariadenie a nahrá príslušné ovládače (pravdepodobne s vloženého inštalačného média, poprípade požiada ešte o reštart počítača). Karta PnP má v sebe zabudovaný malý register, do ktorého zapíše operačný systém jej identifikačné číslo a jej pridelené systémové prostriedky. Zároveň obsahuje PnP karta aj identifikátor, ktorým sa "predstaví" operačnému systému. Vďaka tomu po zapnutí počítača operačný systém môže násť správny ovládač karty a nakonfigurovať počítač. Takisto môže zistiť pripojenie nového zariadenia alebo informovať o prípadných problémoch v priebehu inštalácie. Pri rozdeľovaní prostriedkov behom
štartu majú
prednosť staticky nakonfigurované zariadenia, najčastejšie prvky na
základnej
doske a komponentom PnP sú prideľované zvyšné, voľné systémové zdroje
dynamicky.
Pritom môže nový PnP adaptér zabrať prostriedky predtým používané inou
doskou. Pridanie novej komponenty takto môže vyvolať reťazovú reakciu
prerozdeľovania
systémových prostriedkov kartám PnP. Niekedy nemusí byť nové nastavenie
schopné prevádzky. Paralelné rozhranieProgramovateľný obvod paralelného rozhrania PPI 8255AJedným z najčastejšie používaných obvodov na realizovanie paralelného rozhrania je univerzálny programovateľný obvod PPI (Programmable Peripheral Interface) typ 8255A, cez ktorého porty (brány) možno realizovať prenos 8 bitových dát paralelným spôsobom (t.j. naraz). Na rozdiel od pamäťových obvodov prenos dát na zbernicu z prostredia a opačne riadia synchronizačné impulzy z riadiacej zbernice IOR a IOW (obr. 63). Obvod PPI - 8255A obsahuje v sebe 3
porty - PA,
PB a PC (so záchytnými registrami), z ktorých port PC možno ešte
rozdeliť
na dva nezávislé 4 bitové porty. Funkcia portov sa programuje uložením
inicializačného slova CW do riadiaceho registra CWR obvodu 8255A. Týmto
spôsobom možno definovať smer dát (vstup/výstup) a režim činnosti - mód.
q Inicializácia PPI a ovládanie portov v móde 0Vhodnému kódu , potrebnému na inicializáciu sa hovorí inicializačné slovo, hoci v skutočnosti ide o 8 bit slovo , teda bajt (byte).
MB: Mód brány B (pre mód 0= 00b, pre mód 1= 01b. Stav ostatných bitov : 1 pre vstupnú bránu / 0 pre výstupnú bránu. Bit D7 = 1. q Ovládanie jednotlivých bitov portu C v móde 0
ccc : binárny tvar čísla bitu PC (=> 000b až 111b). xxx: ľubovoľná hodnota. Bit D7 = 0 , čím sa odlišuje od stavového slova pre inicializáciu.
Paralelné rozhranie pre tlačiareňÚlohou paralelného rozhrania pre tlačiareň je umožniť vyslanie znakov na tlačiareň spolu s ďalšími riadiacimi signálmi a príjem stavových signálov z tlačiarne a tak zabezpečiť komunikáciu medzi počítačom a tlačiarňou a tým aj efektívnu rýchlosť tlačenia a bezporuchovú prevádzku.V personálnych počítačoch zaviedla firma
IBM pre
rozhrania tlačiarní: nasledovné priradenie portov, prerušení a bazových
adries v tabuľke BIOS
Pomocou uloženia iných adries portov do tabuľky bázových adries BIOS možno jednoducho presmerovať pridelenie portov a rozhraní. Na bázovej adrese 478H je uložený Time out tlačiarne, čo je maximálne trvanie za ktoré musí tlačiareň potvrdiť výzvu z počítača . Ak k tomu nedôjde signalizuje sa príslušné chybové hlásenie. Rozhranie tlačiarne je po zapnutí počítača inicializované tak, aby port PA bol výstupný, lebo cez neho sa uskutočňuje výstup znakov, port PB a časť portu PCh bol nainicializovaný ako vstupný, lebo funguje ako stavový register snímajúci stav tlačiarne a port PCd ako výstupný, fungujúci ako riadiaci register cez, ktorý prechádzajú ovládacie signály na tlačiareň. Pretože tlačiareň je pomalšie zariadenie ako počítač treba, aby komunikácia výstupu znakov na tlačiareň prebiehala s rýchlosťou určenou rýchlosťou činnosti tlačiarne pomocou signálov potvrdenia príjmu (Handshake). Existuje niekoľko štandardmých spôsobov komunikácie s tlačiarňou, napríklad CENTRONICS, EPSON, IRPR a pod. Zmena drivera tlačiarne spočíva v
uložení príslušného
programu ovládania tlačiarne na vhodnú adresu pamäte, na ktorú ukazuje
pointer vektora prerušenia INT17H.
Obr. 66. Zapojenie
paralelného kábla
na prepojenie 2 počítačov, ktoré využívajú rôzne štandardné programy.
Programovateľný časovač - timerProgramovateľný obvod ma generovanie časových intervalov - PIT (Programmable Interval Timer resp. skrátene timer ) typ 8253, resp. typ 8254 obsahuje v sebe 3 počítadlá SC_0 až SC_2, ktorých spôsob činnosti sa ovláda pomocou uloženia kódu riadiaceho slova CWRTW do riadiaceho registra CWRT. Počítadla SC sú 16 bitové a možno z nich čítať, resp. zapisovať do nich oddelene buď dolný bajt (LSB) zo 16 bitového slova alebo len horný bajt (MSB), poprípade celé 16 bitové slovo v poradí najprv LSB a potom MSB. Okrem spôsobu čítania obsahu počítadiel v pokojovom stave možno snímať aj obsah bežiaceho počítadla, pomocou zachytenia jeho aktuálneho stavu v určitom okamihu. V osobných počítačoch sa používa minimálne jeden takýto obvod timera na generovanie signálov pre hodiny reálneho času, na generovanie impulzov pre osviežovanie obsahu dynamických pamätí DRAM a tiež na generovanie zvukového signálu. Počítadlá timera sú v IBM PC alokované na adresách I / O obvodov :
Formát riadiaceho
slova CWRTW
má tvar:
10B pre SC2. 11B nie je zadefinovaný.
10B - číta / zapisuje sa len MSB. 11B - číta / zapisuje oba bajty v poradí LSB a MSB. 00B - zachytenie stavu za chodu. BIN / BCD spôsob počítania.=> Kód:
1 - počítadlo v kóde BCD.
Použitie timera v PC.Z 6 možných módov sa v osobných počítačoch využívajú štandardne len 3 a to:
Sériové rozhranieModemModem je zloženina slov MOdulátor a DEModulátor a je to zariadenie, ktoré konvertuje číselnú informáciu z PC na zvukové signály (šírka telefónneho pásma je od 300 Hz do 3400 Hz), tie potom pošle po telefónnej linke inému modemu, ktorý späťne vykoná prevod analógového signálu prijatého z linky na digitálne impulzy.Modulácia je založená na "nabaľovaní" prenášanej informácie na nosný signál (anglicky carrier), ktorý je prenášaný cez telefónnu linku. Metódy modulácie sú rôzne, napríklad frekvenčná, amplitúdová, fázová, kombinácia týchto metód atď. Na podobnom princípe prenosu dát ako v modeme pracujú aj faxy, často sa vyskytuje kombinované zariadenie - faxmodem. Predpokladom úspešného prenosu (zahájeni a ukončenia, riadenia priebehu prenosu pomocou potvrdzovania príjmu, ošetrenie chybových a poruchových stavov , spôsob predčasného ukončenia prenosu dát a vlastného spojenia) je protokol - sústava akýchsi pravidiel, podľa ktorých sa prenos informácie realizuje. Technická problematika protokolov sa týka oblastí:
Technická norma sériového rozhrania, zabezpečujúca kompatibilitu spojenia medzi terminálmi a modemami, ktorá zahrnuje aj komunikačné signály pre modem sa nazýva rozhranie RS 232 C (europsky analóg - V.24). Podľa tejto normy sú zariadenia rozdelené do dvoch kategórii: .
Podmienkou pre úspešnú výmenu správ
medzi zdrojom
a príjemcom dát je dohovorené usporiadanie prvkov správy - formát
správy. q Znakovo orientovaný formátPri znakovo orientovanom formáte je dĺžka prenášanej správy a jej blokov celistvým násobkom dlžky prenášaných kódových značiek, ktoré sa obvykle interpretujú ako znaky dohodnutej abecedy.Základnou jednotkou znakovo orientovaného prenosu dát je rámec (anglicky frame). Každý rámec sa prenáša ako celok a samostatne sa zabezpečuje pred chybami, vzniknutými pri prenose, napríklad pomocou paritného bitu v prípade normalizovanej abecedy. Znakovo orientovaný prenos je teda asynchronnym typom komunikácie. Jednotlivé bity znaku tzv. znakový rámec sa vysielajú sériovo tak, že ako prvý sa vysiela LSb a posledný MSb. Znakový rámec je pri prenose uzavretý medzi začiatočný spúšťací START bit a 1 až 2 záverné STOP bity a tvorí tzv. kódový rámec. Formát znakovo orientovanej správy sa
skladá zo záhlavia
vlastného textu správy a zakončenia. Ako signály
ohraničujúce
začiatok a koniec vlastného textu sa používajú znaky rovnakej abecedy
ako
pri prenose obsahu správy, napríklad znaky kódu ISO - 7 ( ASCII ). Pred
zahájením sériového prenosu znakov sa obvykle vysiela postupnosť
bezvýznamných
značiek (anglicky PAD s kódom FFH ), ktorých charakteristické okamihy
umožňujú,
zosynchronizovanie zdroja a príjemcu signálu, resp. sa vkladajú aj
ďalšie
synchronizačné znaky, ktoré slúžia k zaisteniu znakovej synchronizácie.
Na kontrolu správnosti prenosu bloku znakov sa na konci poľa znakovo
orientovaných
dát pridávajú 1 alebo 2 znaky tzv. blokového zabezpečenia,
pomocou ktorých sa na prijímacej podľa rovnakých pravidiel kontroluje
bezchybnosť
prenosu (obr. 71).
q Bitove orientovaný formátPri bitove orientovanom formáte prenášaných dát nemusí byť dĺžka bloku rovná násobku kódových značiek určitej abecedy ale sa interpretuje ako postupnosť bitov podľa dohodnutého protokolu medzi vysielajúcou a prijímajúcou stranou. Prenášaný rámec dát (obr.72) môže mať ľubovoľnú dĺžku a tvorí ho:
Obr. 72. Formát rámca správy protokolu HDLC (High Level Data Link Control podľa ISO), resp. SDLC (Synchronous Data Link Control podľa IBM). Oba protokoly sú bitove orientované, na kóde nezávislé (HDLC a SDLC sa odlišujú tým, že v HDLC možno adresový A a riadiaci C bajt rozšíriť). U oboch metód prenos riadi primárna stanica (Master) pomocou príkazov vysielaných k sekundárnym staniciam (Slave), ktoré po vykonaní príkazu reagujú príslušnou odpoveďou, resp. znakom Abort (pri predčasnom ukončení prenosu.) Rámec tohto prenosu môže byť ľubovoľne dlhý a pozostáva z 5 častí: HandshakingV mnohých prípadoch treba korigovať rýchlosť prenosu na základe úspešnosti prenosu pomocou ovládacich signálov. Tento kvitovací dialog s cieľom riadenia toku informácie sa nazýva handshaking Obecne je handshaking typ podmieneného prenosu s obojstranným kvitovaním úspešnosti uskutočnenia komunikácie. Často býva len jednostranne riadený zo strany prijímacieho zariadenia, napríklad keď tlačiareň ovláda rýchlosť toku dát z počítača. V tomto prípade potrebuje menší počet riadiacich signálov ako v prípade obojsmernej komunikácie, napríklad medzi terminálom a modemom.Existujú dva typy handshakingu: q Hardwareový spôsob (zabezpečovaný technickými prostriedkami)Používajúci na handshaking signály:
Pri príjme sa pomocou DTR a odpovede DSR
oskúša
pripojenie zariadení a po objavení sa nosnej DCD sa po
zosynchronizovaní
začne príjem vysielaných dát po vodiči RxD (anglicky Receive Data). V
jednoduchšom
prípade jednosmerného prenosu z DCE do DTE (na obrázku 74) riadia
spojenie
signály DTR a zriedka aj RTS, vysielané z DTE. Tzv. veľký variant štandardu rozhrania RS 232C, alebo jeho európskej analógie V.24 , navrhnutý elektronickou asociáciou EIA (Electronic Industrie Asociation ) používa 25 kolíkový konektor s 12 žilovým káblom. Zjednodušený tzv. stredný variant používa
9 kolíkový konektor a jednoduchší protokol overovania správnosti príjmu
s použitím signálov RTS, CTS , DCD , DTR .
Pretože neexistuje žiadna norma, ktorá
by určovala,
ktoré zariadenie je DTE alebo DCE na najjednoduchšie spojenie dvoch
zariadení
DTE a DCE, ktoré je vhodné do vzdialenosti cca 15 m, sa používajú
skrížené
vodiče TxD, RxD a zem SGL, ktoré sa nazýva nulový
modem (obr. 75). q Softwarový spôsobUskutočňuje bez pomoci signálov hardwareoveho handshakingu. Používa na ovládanie špeciálne znaky, ktoré sú vysielané po dátových vodičoch TxD a RxD. Najpoužívanejším protokolom zo softwarovým handshakingom je protokol XON/XOFF. V tomto protokole prijímacie zariadenie ak chce zastaviť vysielanie znakov vyšle do vysielacieho zariadenia ASCII znak DC3 = 13H. Ak chce, aby vysielanie pokračovalo, vyšle znak DC1 = 11H.
|
Port | Adresa | Žiadosť o INT | Prerušenie | Adresa tabuľky BIOS |
COM_1 | 3F8H-3FFH | IRQ4 | INT 0CH | 400H |
COM_2 | 2F8H-2FFH | IRQ3 | INT 0BH | 402H |
COM_3 | 3E8H-3EFH | IRQ5 | 404H | |
COM_4 | 2E8H-2EFH | IRQ5 | 406H |
V starších počítačoch sa používali
obvody (obr.
78) UART 8250, 8251 (pre každý sériový kanál jeden). V súčasných PC sa
štandardne používajú predovšetkým obvody UART 16550, resp. ich
ekvivalenty
(obr. 79). Tieto majú nielen rýchlejšiu logiku, ale sú vybavené aj
dvomi
zabudovanými 16 bajtovými buffermi, t.j. vyrovnávacou pamäťou. Jeden
buffer
slúži pre vstup a druhý pre výstup dát. Buffery UART pracujú v režime
FIFO
(First In First Out), pri ktorom znak zapísaný do pamäti skôr je aj
skôr
čítaný.
![]() |
Obr. 79. Pripojenia komunikačného adaptéra (SCC 82530) k zbernici ISA pre realizáciu dvoch sériových rozhraní. |
- Metódy výziev (anglicky pooling), pri ktorej sa v slučke najprv otestuje pripravenosť zariadenia a potom sa uskutoční samotný prenos.
Ak program vysiela dáta tak po zistení, že je vysielací buffer adaptéra (Transmitter Buffer) prázdny môže vyslať ďalší znak. Tento postup sa v slučke opakuje dovtedy pokiaľ nie sú vyslané všetky znaky.Proces príjmu dát je podobný. Najprv sa nastavia signály riadenia spojenia, ktoré potrebuje druhé zariadenie a potom sa cyklicky testuje či bol prijatý znak. Ak bol príjem znaku indikovaný tak sa prečíta z registra vstupného buffera adaptéra (Receiver Buffer). Súčasťou testovacej sľučky by mal byť aj test vstupu z klávesnice. Obvod UART sám nespracováva softwarový handshaking . Preto napríklad pri použití protokolu XON / XOFF by mal byť súčasťou testovacej sľučky aj test prijatého znaku XON a XOFF.
Metódy prerušení za predpokladu, že vopred bola rezidentne nainštalovaná príslušné časť kódu programu obsluhy prerušenia a tiež bol uložený príslušný ukazovateľ na tento program do tabuľky vektorov prerušenia. Napríklad žiadosť IRQ4 z rozhrania COM1 po zavedení do obvodu PIC 8259 vyvolá prerušenie INT(4+8)= INT 0CH.
Na adresovanie vstupno / výstupných
(I/O) zariadení
v počítačoch IBM PC sa používa rovnaká adresová zbernica
ako pre adresovanie
pamätí. Pamäťový priestor sa odlišuje pomocou rôznych riadiacich
signálov (k I/O prístup pomocou signálov -
IOR a IOW, k pamätiam prístup pomocou signálov - MEMR a MEMW. Konštruktéri IBM PC vyhradili
adresy prvých 512 portov štandardným zariadeniam, nachádzajúcim sa na
základnej
doske. Adresy ďalšich 512 zariadení
(adresy s 9bit=1) sú vyhradené pre
ďalšie I/O adaptéry, alokované na zásuvných kartách. Každá rozširujúca karta nového periférneho zariadenia
na komunikovanie s mikroprocesorom potrebuje doplniť operačný systém o
program ovládač (driver).
Moderná karta s vlastnosťou PnP
(Plug
and Play) má v sebe zabudovaný malý
register, do ktorého zapíše operačný systém jej identifikačné číslo a
jej
pridelené systémové prostriedky. Zároveň obsahuje PnP karta aj
identifikátor,
ktorým sa "predstaví" operačnému systému. Vďaka tomu po zapnutí
počítača
operačný systém môže násť správny ovládač karty a nakonfigurovať
počítač.
Takisto môže zistiť pripojenie nového zariadenia alebo informovať o
prípadných
problémoch v priebehu inštalácie.
Z hľadiska vstupu a výstupu dát má
dôležitú úlohu paralelné a sériové rozhranie. Pri organizovaní spôsobu
prenosu a pri meraní časových intervalov je zase dôležté počítadlo
impulzov - timer.
Pri realizovaní prenosu dát paralelným spôsobom cez paralelné rozhranie ( t.j. naraz 8 bitových
dát cez jeho porty (brány) ) sa používa univerzálny programovateľný obvod
PPI (Programmable
Peripheral Interface), napr. v štandardnom použití, ktoré
umožňuje pripojenie tlačiarne, scanera a pod.
Pre pripojenie myši alebo pri
internetovom spojení sa používa sériové rozhranie.
Pri znakovo
orientovanom formáte je dĺžka prenášanej
správy a jej blokov celistvým násobkom dlžky prenášaných kódových
značiek,
ktoré sa obvykle interpretujú ako znaky dohodnutej abecedy. Pri bitove orientovanom formáte prenášaných
dát sa prenos interpretuje ako postupnosť bitov podľa dohodnutého
protokolu medzi
vysielajúcou a prijímajúcou stranou. V
mnohých prípadoch treba korigovať rýchlosť prenosu
na základe úspešnosti prenosu pomocou ovládacich signálov. Tento
kvitovací
dialog s cieľom riadenia toku informácie sa nazýva handshaking.
Existujú dva typy handshakingu:
![]() |
Win 1250 | Návrat na stránku | HTML 4.0 | ![]() |
Back | Next |