Sériový port: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Bez shrnutí editace
+text, +pict
Riadok 5:
Sériový port patrí medzi tzv. [[legacy port]]y (zastaralé) a postupne je nahrádzaný rýchlejším [[USB]].
 
Sériové porty môžeme nájsť v automatických priemyselných systémoch, prístrojoch na vedeckú analýzu, [[elektronická registračná pokladňa|pokladničných]] systémoch a v niektorých priemyselných a spotrebiteľských produktoch. Sieťové prvky (ako routery a switche) mávajú sieťovýsériový port na konfiguráciu zariadenia. Sériový port sa používa v oblastiach ako jednoduché a lacné zariadenieriešenie umožňujúce vzájomnú spoluprácu medzi dvoma zariadeniami.
 
== Hardvér ==
Štandard [[RS-232]] definuje [[napätie|napätia]] a [[prenosová rýchlosť|prenosové rýchlosti]] medzi zariadeniami ktoré ho používajú. Podľa štandardu RS-232 sú definované vzájomne sériovo komunikujúce zariadenia Data Terminal Equipment (DTE) a Data Communications Equipment (DCE), v našom prípade skratka DTE reprezentuje [[osobný počítač|počítač]] a skratka DCE zariadenie, ktoré je s ním prepojené prostredníctvom sériovej linky. Štandard RS-232 stanovuje že DTE zariadenia používajú 25-pinový [[konektor]] (zástrčku) a DCE zariadenia 25-pinový konektor (zásuvku). 25-pinové konektory boli postupne nahradené kompaktnejšími 9-pinovými. Konektory na strane DTE majú vždy kolíky (samec, male).
 
[[Obrázok:DB25 Diagram.svg|150px]][[Obrázok:DE9 Diagram.svg|90px]]
 
=== Parametre charakterizujúce sériový port ===
* číslo portu (napr. COM1,COM2), obvykle je spojené s [[IRQ|prerušením IRQ]] a a dresou viazanými na port. Nastavenia sú obvyklé, dajú sa však zmeniť.
* rýchlosť prenosu [baud] (napr. 9600)
* počet bitov (napr. 8)
* parita - 'N' - žiadna parita,'O' - nepárna,'E' - párna parita,'M' - paritní bit má vždy hodnotu 1 a 'S' - paritní bit má vždy hodnotu 0
* stop bity - 0=1; 1=1,5; 2=2
* hardwarové riadenie toku - zapnuté / vypnuté
* softwarové riadenie toku - zapnuté / vypnuté
 
=== Prenos údajov ===
Sériový prenos je jeden z najrozšírenejších spôsobov prenosu. Jednotlivé prvky sú v časovej postupnosti vysielané po jednej prenosovej linke. Pri príjme dát je potrebné aby prijímač bol synchronizovaný s vysielačom. Prijímač teda musí poznať začiatok a koniec kedy dochádza k zmene signálového stavu - začiatky a konce blokov dát. Na základe týchto údajov prijímač stanoví rozhodujúci okamih pre vyhodnotenie signálového stavu jednotlivého prvku.
Sériový port je plne duplexné (full duplex) zariadenie, čo znamená súčasný príjem i vysielanie dát. Port používa dve nezávislé linky, jednu pre vysielanie a jednu pre príjem dát. Zjednodušené porty podporujú iba jednosmernú komunikáciu (half duplex) a teda využívajú len vysielaciu linku a signálovú zem. Prenos dát sa uskutočňuje po linkách TxD a RxD. Ostatné linky plnia pomocné funkcie pre štrukturovanie a riadenie toku údajov. Signály je možné programovo nastavovať a čítať ich stav. Riadenie toku dát (handshaking) predstavuje potvrdenie príjmu dát resp. pripravenosť na prenos. Riadenie toku môže byť hardvérové, alebo softvérové. Hardvérový handshaking je prenos od vysielača k prjímaču. Vysielač oznamuje, že má pripravené dáta k prenosu, alebo od prijímača k vysielaču, že prijímač je pripravený dáta prijať. Softvérový handshaking je realizovaný prenosom znakov XON a XOF podľa ASCII tabuľky. Softvérový handshaking spomaľuje prenos dát. Pri sériovom prenose je dátový bajt prenesený postupne po bitoch (jeden bit súčasne). Dáta je možné prenášať synchrónne a asynchrónne.
 
*'''Synchrónny prenos'''. Pri synchrónnom prenose sa na vodičoch nastaví úroveň a informácia sa potvrdí impulzom, alebo zmenou úrovne synchronizačného signálu. Synchronizačný signál je vysielaný aj keď sa neprenášajú žiadne dáta. Synchronizácia umožňuje rýchlejší prenos dát ako asynchrónny, keďže nevyžaduje vysielanie dodatočných znakov vyznačujúcich začiatok a koniec prenášaného rámca.
Sériový port je plne duplexné (full duplex) zariadenie, čo znamená súčasný príjem i vysielanie dát. Port používa dve nezávislé linky, jednu pre vysielanie a jednu pre príjem dát. Zjednodušené porty podporujú iba jednosmernú komunikáciu (half duplex) a teda využívajú len vysielaciu linku a signálovú zem. Prenos dát sa uskutočňuje po linkách TxD a RxD. Ostatné linky plnia pomocné funkcie pre štrukturovanie a riadenie toku údajov. Signály je možné programovo nastavovať a čítať ich stav. Riadenie toku dát (handshaking) predstavuje potvrdenie príjmu dát resp. pripravenosť na prenos. Riadenie toku môže byť hardvérové, alebo softvérové. Hardvérový handshaking je prenos od vysielača k prjímaču. Vysielač oznamuje, že má pripravené dáta k prenosu, alebo od prijímača k vysielaču, že prijímač je pripravený dáta prijať. Softvérový handshaking je realizovaný prenosom znakov [[XON]] a [[XOF]] podľa ASCII tabuľky. Softvérový handshaking spomaľuje prenos dát. Pri sériovom prenose je dátový bajt prenesený postupne po bitoch[[bit]]och (jeden bit súčasne). Dáta je možné prenášať synchrónne a asynchrónne.
*'''Asynchrónny prenos'''. RS-232 používa asynchrónny prenos informácií. Pri asynchrónnom prenose sa dáta prenášajú v sekvenciách (rámcoch) danou rýchlosťou s úvodnou štartovacou sekvenciou vyslaním start bitu. Akonáhle bol start bit vyslaný, vysielač posiela dátové bity, ktorých môže byť 5, 6, 7, alebo 8, v závislosti od konfiguračnej voľby. Nasleduje paritný bit (nie je povinný). Prenášaný rámec je ukončený stop bitom.
 
Vysielacia a prijímacia strana sa musia na začiatku komunikácie dohodnúť na počte dátových bitov, na paritnom bite a na rýchlosti. Jednotka rýchlosti je Baud, čo je číslo reprezentujúce počet zmien stavu vodiča (linky) za sekundu. Táto hodnota nemusí byť vždy nevyhnutne taká istá ako počet prenesených bitov za sekundu (BPS - Bits per second), ale pri štandardnom prepojení dvoch zariadení sériovou linkou sú obvykle údaje totožné. Hodnoty bit/s a počtu zmeny stavov linky sa môžu líšiť pri spojeniach prostredníctvom telefónnej linky. Dáta je možné prenášať synchrónne a asynchrónne.
 
*'''Synchrónny prenos'''. Pri synchrónnom prenose sa na vodičoch nastaví úroveň a informácia sa potvrdí impulzom, alebo zmenou úrovne synchronizačného signálu. Synchronizačný signál je vysielaný aj keď sa neprenášajú žiadne dáta. Synchronizácia umožňuje rýchlejší prenos dát ako asynchrónny, keďže nevyžaduje vysielanie dodatočných znakov vyznačujúcich začiatok a koniec prenášaného rámca. Vysielacia a prijímacia strana musia mat časové základne (generátory taktovacích impulzov), ktoré musia byť synchronizované. Značky sú vysielané ako nepretržitý reťazec bitov, v medzerách sa automaticky vkladajú stavové bity. Začiatky a konce všetkých bitov musia korenšpondovať s časovou základňou. Nevýhodou je zložité synchronizovanie, veľkou výhodou však je efektívne využitie kanála a možnost zabezpečenia prenosu proti chybovosti. Dátové prvky majú rovnakú dlžku trvania, prenos sa používa pre veľké objemy dát a tam, kde je potrebné počas prenosu zabezpečiť šírku pásma.
 
*'''Asynchrónny prenos'''.
*'''Asynchrónny prenos'''. RS-232 používa asynchrónny prenos informácií. Pri asynchrónnom prenose sa dáta prenášajú v sekvenciách (rámcoch) danou rýchlosťou s úvodnou štartovacou sekvenciou vyslaním start bitu. Akonáhle bol start bit vyslaný, vysielač posiela dátové bity, ktorých môže byť 5, 6, 7, alebo 8, v závislosti od konfiguračnej voľby. Nasleduje paritný bit (nie je povinný). Prenášaný rámec je ukončený stop bitom. Dĺžky trvania jednotlivých bajtov sú rôzne, rôzne sú i medzery medzi dvoma blokmi. Prijímač nerozozná dva nasledujúce dátové bloky. Objem prenášaných dát sa pri tomto type prenosu rozdelí na menšie casti, každá časť sa posiela nezávisle na ostatných, časové intervaly medzi odosielaním jednotlivých bajtov sa môžu líšiť.
 
[[Obrázok:Rs232 communication (sk).svg|thumb|left|450px|Asynchrónny prenos jedného slova (bajtu)]]<br/ clear="all">
:'''Štart bit'''. Keďže RS232 je definováné ako asynchrónny typ sériovej komunikácie, tak odoslanie môže byť zahájené v ktoromkoľvek okamihu. To spôsobuje problém na prijímacej strane, ktorá musí zistiť, ktorý bit má ako prvý prijať. K tomu účelu slúži tzv. štart bit, ktorý predchádza každému prenášanému slovu (bajtu) a jeho úroveň je definovaná ako log '0'.
:'''Dátové bity'''. Za štart bitom nasledujú po sobe idúce dátové bity. Najmenej významný bit (LSB) je vysielaný ako prvý. Najvoac významný bit (MSB) je vyslaný ako posledný.
:'''Paritný bit'''. Pri prenose môže nastať situácia, kedysa náhodne môže zmeniť hodnota prenášaného bitu (prerušenie, zarušenie linky a pod.). Preto je možné vložiť za dáta jeden bit naviac slúžiaci ako detektor chyby. Jeho hodnota sa vypočíta z prenášaných dát. Prijímacia strana potom vykoná rovnaký výpočet, a porovnaním vyhodnotí, či prenos bol správny. Pri sériových prenosoch sa používa tzv. paritný bit. Pre výpočet paritného bitu používame dva algoritmy: ''Párna parita''. U nej je súčet všetkých jedničiek z dátových bitov a paritného bitu párne číslo. Súčet sa vykoná funkciov xor a paritný bit sa doplní tak, aby jeho výsledok bol 0. ''Nepárna parita''. Súčet všetkých jedničiek z dátových bitov a paritného bitu je nepárne číslo. Súčet se vykoná funkciov xor a paritný bit sa doplní tak, aby jeho výsledok bol 1.
:'''Stop bit'''(y). Stop bit býva jeden, alebo dvoj bitový. V skutočnosti sa nejedná o bit, ale o minimálnu časovú periódu, po ktorú musí byť linka po odoslaní každého bajtu v stave log 1.
 
*'''Arytmický prenos''' je kombináciou synchrónneho a asynchrónneho prenosu. Začiatok vysielania každej značky môže nastať kedykoľvek, jednotlivé značky sú prenášané asynchrónne, ale jednotlivé prvky sú prenášané synchrónne. Časové základne sú potrebné iba pri prenose jednej značky. Sú spustené rozbehovým prvkom štart a zastavené prvkom stop. Výhodou je jednoduchosť vysielača a prijímača, nevýhodou je zníženie množstva prenesených dát, a slabé zabezpečenie prenosu proti chybovosti.
Vysielacia a prijímacia strana sa musia na začiatku komunikácie dohodnúť na počte dátových bitov, na paritnom bite a na rýchlosti. Jednotka rýchlosti je Baud, čo je číslo reprezentujúce počet zmien stavu vodiča (linky) za sekundu. Táto hodnota nemusí byť vždy nevyhnutne taká istá ako počet prenesených bitov za sekundu (BPS - Bits per second), ale pri štandardnom prepojení dvoch zariadení sériovou linkou sú obvykle údaje totožné. Hodnoty bit/s a počtu zmeny stavov linky sa môžu líšiť pri spojeniach prostredníctvom telefónnej linky.
 
=== Napätie ===
Elektrické charakteristiky výstupov a vstupov sú dané normou RS-232, ktorá využíva invertovanú logiku na rozdiel od moderných číslicových protokolov. V stave logickej nuly majú [[napätie]] 3 až 25 [[Volt|V]], v stave logickej jednotky -3 až -25 V vzhľadom na signálovú zem. Rozsah -3 až 3 V je považovaný za zakázanú oblasť (žiaden logický stav).
 
===Zapojenie pinov===