I/O
Rozhranie pre vstup a výstup

Adresovanie I/O zariadení
qOvládače I/O zariadení
Paralelné rozhranie
qProgramovateľný obvod paralelného rozhrania PPI 8255A
qParalelné rozhranie pre tlačiareň
Programovateľný časovač - timer
Sériové rozhranie
q  Modem
q  Handshaking 
q  Adaptér sériového rozhrania - UART
q  Metódy realizovania prenosu cez sériové rozhranie



Rozhranie pre vstup a výstup

Adresovanie 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 :
  • k pamätiam pomocou signálov MEMR a MEMW;
  • k I/O zariadeniam pomocou signálov IOR a IOW.
Obr. 61. Prehľad využitia bitov zbernice AB pri adresovaní vstupov a výstupov.

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:
 
Adresa I/O
0 H - 0FH Kontrolér DMA
20H - 21H Kontrolér INT
40 H - 43H Timer
60H - 63H  PPI na základnej doske
378H - 37FH LPT1
3F8H - 3FFH COM1

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é rozhranie

Programovateľný obvod paralelného rozhrania PPI 8255A

Jedný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.
 
 
Obr. 62. Stykový obvod PPI 8255A a jeho režimy činnosti (módy).

 
 
Obr. 63. Realizácia dvojportového paralelného rozhrania pomocou obvodov 8255A.

q Inicializácia PPI a ovládanie portov v móde 0

  Vhodné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).
 
Format riadiaceho slova pre inicializáciu 8255
D7 D6 D5 D4 D3 D2 D1 D0
1 MA1 MA0 A Ch MB B Cl
      MA1,MA0: Mód brány A (pre mód 0= 00b, pre mód 1= 01b, pre mód 2=10b).
      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

 
Format riadiaceho slova pre ovládanie bitov PCí
D7 D6 D5 D4 D3 D2 D1 D0
0 x x x c c c bit 
      bit : hodnota 1 / 0 na ktorú treba bit nastaviť.
      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.
Obr. 64. Časový priebeh signálov paralelného rozhrania tlačiarní podľa Centronics. Po vyslaní 8 bitov dát spoločne so signálmi STROBE a BUSY, ktoré signalizujú tlačiarni, že dáta už môžu byť prijímané, čaká PC na potvrdenie ACKNL príjmu dát od tlačiarne.

 



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
 
 
Rozhranie Adresa I/O Prerušenie adresa tab. BIOS
LPT1 = PRN 378H - 37FH IRQ 7 408H
LPT2 278H - 27FH IRQ 5 40AH
LPT3 3BCH - 3BFH   40CH
LPT4 nemá pridelené   40EH

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. 65. Príklad paralelného rozhrania tlačiarne podľa Centronics a IBM.

 
 
Prvý PC Druhý PC
Číslo kontaktu Číslo kontaktu
2 15
3 13
4 12
5 10
6 11
15 2
13 3
12 4
10 5
11 16
25 25

Obr. 66. Zapojenie paralelného kábla na prepojenie 2 počítačov, ktoré využívajú rôzne štandardné programy.
 
 


Programovateľný časovač - timer

 Programovateľ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 :
SC0 - 40H, SC1 - 41H, SC2 - 42H CWRT - 43H


Obr. 67. Časovač PIT 8253 v systéme PC..

 
 
Obr. 68. Vnútorná štruktúra časovača PIT 8253.

 

Formát riadiaceho slova CWRTW má tvar:
 
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RW1 RW0 M2 M1 M0 BIN/BCD
SC1, SC0 - binárny kód počitadla ktorého mód sa nastavuje. => Kód:

      00B pre SC0.
      10B pre SC2.
      11B nie je zadefinovaný.
RW1, RW0 - spôsob čitania a zápisu.=> Kód:
      01B - číta / zapisuje sa len LSB.
      10B - číta / zapisuje sa len MSB.
      11B - číta / zapisuje oba bajty v poradí LSB a MSB.
      00B - zachytenie stavu za chodu.
M2, M1, M0 = binárny kód módu --> spôsobu činnosti.
BIN / BCD spôsob počítania.=> Kód:
      0 - počítadlo v binárnom kóde.
      1 - počítadlo v kóde BCD.  
Obr. 69. Ilustrácia činnosti PIT - 8253 v rôznych módoch. (CLK - vstupný signál, GATE - vonkajší hradlovací signál, OUT - výstup počítadla.)

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:
  • Mód 0 - na generovanie žiadosti o prerušenie IRQ. Napríklad vyvolané prerušenie a obslužná subrutina zabezpečujú každých 55 ms časový signál pre hodiny reálneho času. Timer v móde 0 po zápise predvoľby ( ak GATE=1) sa dekrementuje a po dopočítaní do 0 sa nastaví na úroveň "H", čo je podnetom pre vyvolanie prerušenia . Na základe tohto časového signálu sa 18,2 krát za sekundu zvyšuje obsah registrov, z ktorých sa určuje reálny čas.
  • Mód 2 - počítadlo s deliacim pomerom n. Timer po nastavení nepretržite generuje impulzy o trvaní taktu CKL s frekvenciou závislou na deliacom pomere n. Napríklad počítadlo SC_1 sa v PC XT používa ako refresh obsahu dynamických pamätí DRAM, keď každých 15ms sa v móde 2 generuje osviežovací impulz.
  • Mód 3 - generátor impulzov obdĺžnikového tvaru. Ich trvanie a frekvencia závisí od deliaceho pomeru n. Napríklad počítadlo SC_2 sa používa na generovanie tónov pre reproduktor.


Sériové rozhranie

Modem

Modem 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í:

  • Modulačne - rýchlostných štandardov (okrem sériového prenosu bitov za sekundu ide aj o spôsob potvrdzovania prijatých a odoslaných dátových blokov o generovanie kontrolných znakov na zistenie spoľahlivosti prenosu dátového bloku (paketu) v prípade nesprávneho prenosu atď. Posledný z analógových noriem rýchlostných protokolov je V.34 štandard pre rýchlosť 28 800 b/s.
  • Kompresie dát - predstavuje možnosť zrýchliť prenos na základe stlačenia dát do menšieho objemu. Najpoužívanejší protokol je kompresný prorokol V.42 alebo kompresný protokol, ktorý vykonáva súčasne aj samoopravu MNP5.
  • Automatickej opravy chýb , ktoré vznikli prenosom. Najpoužívanejšie sú prorokoly MNP (Microcom Networking Protokols).
  • Prenosu súborov - ide o zaistenie vlastného vysielania a prijímania súborov, korekciu chýb, prenos doplňujúcej informácie o veľkosti súboru a mene súboru. Napríklad najjednoduchší znakovo orientovaný protokol Xmodem (obr. 71) je založený na spôsobe, v ktorom PC po vyslaní bloku dát o veľkosti 128 bajtov (8 bit + stop bit, bez parity) čaká na potvrdzovací signál od prijímajúceho PC a na jeho základe vyšle ďalší blok dát. Kontrola správnosti prenosu prebieha buď na úrovni cyklického redundantného súčtu CRC (Cyclic Redundancy Check) alebo na úrovni kontrólného súčtu (Checksum). Iným kvalitným protokolom, rýchlym a spoľahlivým aj na nekvalitných linkách, v súčasnosti najviac podporovaný komunikačnými programami, je protokol Zmodem. Ďalším často používaným protokolom je Kermit, ktorý bol vyvinutý na Kolumbijskej univerzite na usnadnenie prenosov súborov medzi rôznymi typmi počítačov.
Obr. 70. Schéma komunikacie zariadení podľa normy RS 232 C.

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: .

  • Zariadenie typu terminál, prevážne vysielajúce dáta sa podľa tejto normy nazýva koncové zariadenie prenosu dát DTE (Data Terminal Equipment ). Aby sa mohli údaje z tohto rozhrania prenášať, napríklad po telefónnom vedení, treba ich upraviť pomocou modemu (modulátor / demodulátor), t.j. prekonvertovať digitálny signál na nosnú frekvenciu so šírkou pásma 300 - 3400 Hz, uskutočniť prenos po telefónnej sieti a na prijímacej strane znova demodulovať na digitálny tvar .
  • Zariadenia typu modemu, ktoré menia parametre signálu prenášaného okruhom a do ktorého dáta prevážne vstupujú sa podľa tejto normy nazývajú ukončujúce zariadenia dátového prenosu DCE (Data Comunication Equipment). Pri prenose dátovej informácie sa potom odlišuje dátový okruh a prenosový okruh (obr. 70).
Rýchlosť sériového prenosu sa charakterizuje počtomjednotkových intervalov určitého charakteristického stavu ( jedna z hodnôt binárnej informácie, ktorú signál nadobúda ) prenesených za jednotku času. Jej jednotkou je bit/s. Pri diaľkovom prenose dát sa používa modulovaný signál. Rýchlosť prenosu, pri ktorej sa prenesie jeden jednotkový interval za sekundu sa nazýva modulačná rýchlosť prenosu dát. Jej jednotkou je Baud (Bd). Pri dvojstavovej modulácii sú jednotkové intervaly označované ako bity. V takomto prípade je prenosová rýchlosť v Bd číselne rovná rýchlosti sériového prenosu v jednotkách bit/s. Pri viacstavovej modulácii, keď sa v modulovanom signále počas jedného charakteristického stavu mení polarita signálu aj niekoľkokrát to však neplatí. Modulačná rýchlosť prenosu sa pohybuje od 35 do 20 000 Bd (Používajú sa štandardné rýchlosti prenosu 50, 75, 100, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 Bd).

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át

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.

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).
 
 
Obr. 71a. Formát pri znakovo orientovanom sériovom prenose. Údaj 7BH je uzavretý medzi začiatočný ŠTART bit a 2 záverné bity STOP. Paritný bit chýba nakoľko údaj nie je znakom normalizovanej abecedy. Napríklad pri modulačnej rýchlosti 300 Bd trvá jednotkový interval 1/300 = 3,3 ms.

 
Obr. 71b. Štruktúra paketu podľa protokolu XMODEM, jednej z najpoužívanejšich prenosových metód medzi počítačmi. Protokol riadi prenos súborov v blokoch po 128 znakoch. Na začiatku bloku je znak SOH (Start of Heading). Potom nasleduje číslo prenášaného bloku, počínajúc 1, resp. jeho jednotkový doplnok (invert). Potom nasleduje 128 bajtov uživateľských dát a záver tvorí kontrolný súčet, ktorý umožňuje skontrolovať korektnosť prenosu.

q Bitove orientovaný formát

Pri 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:
  • Informačné pole postupnosti bitov dát, obojstranne ohraničené tzv. krídlovými značkami .Okrem týchto 2 polí sú súčasťou rámca aj ďalšie 3 polia: adresové, riadiace a zabezpečovacie.
  • Adresové pole, ktoré obsahuje adresu stanice, ktorá vyšle odpoveď.
  • Riadiace pole, ktorého informácia je potrebná na riadenie činnosti prenosu dát.
  • Pole zabezpečenia bezchybného prenosu, ktoré kontroluje prenos celého rámca, napríklad pomocou kontrolného súčtu. Blokový prenos je teda synchronný typ komunikácie.
Komunikácia medzi dvoma zariadeniami môže byť:
  1. Jenosmerná (simplexná ) od vysielača k prijímaču ( cex vodič TxD) alebo opačným smerom ( cez vodič RxD), v najjednoduchšom prípade cez jeden signálny a jeden zemniaci vodič.
  2. Dvojsmerná( duplexná ) v najjednoduchšom prípade realizovaná cez dva signálne a jeden zemniaci vodič, umožňujúca súčastne príjem aj vysielanie.

  3.  
    F(0111 1110) A (8 bit) C (8 bit) I - Informačné pole FCS (16 bit) F(0111 1110)

    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í:

    • F - krídlová značka (Start Flag = 0111 1110);
    • A - adresové pole (o dĺžke 8 bit);
    • C - riadiace pole (o dĺžke 8 bit);
    • I - informačné pole premenlivej dĺžky;
    • FCS - kontrolný znak bloku (Frame Check Sequence);
    • F - krídlová značka (Start Flag = 0111 1110).


Handshaking

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 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:
    • RTS ( Výzva k vysielaniu -Request to send ),
    • CTS ( Pripravenosť k vysielaniu - Clear to send),
    • DSR ( Pripravenosť dátového zariadenia - Data set ready),
    • DCD ( Nosná - Data Carrier detect),
    • DTR (Pripravenosť terminálu - Data terminal ready).
Pred započatím vysielania pomocou DTR a odpovede DSR sa testuje pripojenie zariadení a pomocou RTS a odpovede CTS sa zosynchronizujú zariadenia a začnú vysielať po vodiči TxD (anglicky Transmit Data). V jednoduchšom prípade jednosmerného prenosu z DTE do DCE (na obrázku 73) riadia spojenie signály CTS a DSR, vysielané z DCE.
 
 
Obr. 73. Prenos dát z DTE do DCE, jednosmerný riadený z prijímajúceho zariadenia DCE. 

 
Obr. 74. Príjem dát z DCE do DTE, jednosmerne riadený z prijímacieho zariadenia DTE 

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 .
 
Obr. 75. Vzájomné prepojenie vývodov konektora RS232C na realizovanie sériového prenosu s potvrdením príjmu (handshake)

 
 
Obr. 76. Adaptér na prevod z 9 na 25 kolíkový konektor.

 


 
 
Obr. 76. Adaptér na prevod z 9 na 25 kolíkový konektor.

 


 
Obr. 77. Napäťové úrovne pre sériové rozhranie RS232C. Rozhranie RS232C pracuje s bipolárnymi logickými pravidlami a inverznou logikou, to znamená, že signálu log "1" zodpovedá záporné napätie.

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ôsob

Uskutočň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.
 
Obr. 78a. Vnútorná štruktúra komunikačného adaptéra USART - 8251.

 


 
Obr. 78b. Pripojenie komunikačného adaptéra USART - 8251 k zbernici PC.

 



Adaptér sériového rozhrania - UART

Základnou súčiastkou rozhrania RS232 C je integrovaný obvod UART(Universal Asynchronous Receiver Transmitter ), v ktorom sa vykonáva vlastný prevod zo sériového kódu na paralelný kód a opačne. Pre komunikačné účely signál, ktorý vstupuje do obvodu a vystupuje z obvodu sériovo bit po bite treba doplniť ďalšími signálmi, ktoré kontrolujú proces vysielania a príjmu. Okrem toho sériové rozhranie musí tiež zabezpečiť prevod logických úrovní TTL z UARTu na logické úrovne (obr.77) používané v telekomunikačnej technike prenosu signálov: úroveň značky (anglicky mark - logickej jedničky) od +5V do +15V a úroveň medzery (anglicky space - logickej nuly ) od -5V do -15V.(Označenie značka - medzera je terminologický pozostatok z čias Morseovej abecedy ).

Integrovaný obvod UART, je v počítači adresovaný ako jedno zo štandardných vstupno / výstupných zariadení. Tieto sériové zariadenia sú v počítači označované ako COM1 až COM4, resp. prvý sériový port adaptéra aj ako AUX = COM1. Obvody sériových portov môžu požadovať o prerušenie IRQ. Na základe žiadosti IRQ môže byť potom realizované prerušenie INT. Každé sériové rozhranie má teda svoju I/O adresu a číslo IRQ, resp. INT. Počitač je informovaný o existencii a parametroch obvodov COM pomocou tabuľky BIOS parametrov.
 
 
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 realizovania prenosu cez sériové rozhranie

Sériový prenos dát možno naprogramovať pomocou :
  •  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.

  • Rozhranie I/O - zhrnutie

    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:

    • Hardwareový spôsob (zabezpečovaný technickými prostriedkami); 
    • Softwareový spôsob;

    Základnou súčiastkou na technickú realizáciu prenosu cez sériové rozhranie - RS232 C je integrovaný obvod UART (Universal Asynchronous Receiver Transmitter ), v ktorom sa vykonáva vlastný prevod zo sériového kódu na paralelný kód a opačne. Pre komunikačné účely treba  sériové rozhranie doplniť ďalšími signálmi, ktoré kontrolujú proces vysielania a príjmu.. Okrem toho sériové rozhranie musí tiež zabezpečiť prevod logických úrovní TTL z UARTu na logické úrovne  používané v telekomunikačnej technike prenosu signálov, poprípade ich moduláciu alebo demoduláciu (modem).

    V osobných počítačoch sa používa minimálne jeden  programovateľný obvod ma generovanie časových intervalov - PIT (Programmable Interval Timer resp. skrátene  timer) 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. Obvod časovača PIT sa tiež používa na ovládanie priebehu experimentu, predovšetkým ako počítadlo  na sledovanie vybraných udalostí a ako časovací obvod.

     Win 1250          Návrat na stránku   HTML 4.0 
    Back


    Next