Sériový port
Seriový port alebo štandard RS-232 alebo sériová linka je komunikačné rozhranie osobných počítačov a inej elektroniky. Sériový port je určený na vzájomnú sériovú komunikáciu dvoch zariadení, čiže dáta sa prenášajú po jednotlivých bitoch postupne za sebou (v sérii) po jednom vodiči. Podobne sériovo komunikujú aj USB a Ethernet.
Sériový port patrí medzi tzv. legacy porty (zastarané) a 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, pokladničných systémoch a v niektorých priemyselných a spotrebiteľských produktoch. Sieťové prvky (ako routery a switche) alebo satelitné prijímače mávali sériový port na konfiguráciu zariadenia. Sériový port sa používal v oblastiach ako jednoduché a lacné riešenie umožňujúce vzájomnú spoluprácu medzi dvoma zariadeniami, pred nahradením už spomenutým USB.
Hardvér
upraviťŠtandard RS-232 definuje napätia a 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 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).
15-pinové konektory sú na gameport zariadeniach, ktoré nie sú sériovým portom.
Parametre charakterizujúce sériový port
upraviť- číslo portu (napr. COM1, COM2), obvykle je spojené s požiadavkou na prerušenie (IRQ) a adresou 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
upraviť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 štruktúrovanie 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 prijí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).
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 mať č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 koreš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žnosť 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. 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. Hneď ako 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 časti, každá časť sa posiela nezávisle od ostatných, časové intervaly medzi odosielaním jednotlivých bajtov sa môžu líšiť.
- Š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 sebe idúce dátové bity. Najmenej významný bit (LSB) je vysielaný ako prvý. Najviac významný bit (MSB) je vyslaný ako posledný.
- Paritný bit. Pri prenose môže nastať situácia, kedy sa 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 navyše 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á funkciou xor a paritný bit sa doplní tak, aby jeho výsledok bol 0. Nepárna parita. Súčet všetkých jednotiek z dátových bitov a paritného bitu je nepárne číslo. Súčet sa vykoná funkciou 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.
Napätie
upraviť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 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
upraviťVývod pre 25 pin konektor |
Vývod pre 9 pin konektor |
Vstup / Výstup | Označenie | Funkcia |
---|---|---|---|---|
2 | 3 | Výstup | TxD (Transmitt Data) | Vyslané dáta |
3 | 2 | Vstup | RxD (Recieve Data) | Prijímané dáta |
4 | 7 | Výstup | RTS (Request To Send) | Požiadavka na vysielanie |
5 | 8 | Vstup | CTS (Clear To Send) | Pohotovosť na vysielanie |
6 | 6 | Vstup | DSR (Data Set Ready) | Pohotovosť DCE |
7 | 5 | - | GND (Ground) | Signálová zem |
8 | 1 | Vstup | DCD (Data Carrier Detector) | Detektor prijatého signálu |
20 | 4 | Výstup | DTR (Data Terminal Ready) | Pohotovosť DTE |
22 | 9 | Vstup | RI (Ring Indicator) | Indikátor volania |
Sériový port v počítači
upraviťNiektoré počítače, ako IBM PC, používali integrovaný obvod nazývaný UART, ktorý mení na (a z) asynchrónny sériový formát a automaticky hľadá časovanie a ohraničenie dát. Veľmi lacné systémy napr. prvé domáce počítače by namiesto použitia CPU na posielanie dát cez výstupný pin použili takzvanú bit-banging techniku.
Prevažná väčšina osobných počítačových matičných dosiek stále obsahuje prinajmenšom jeden sériový port. Systémy s malými rozmermi a notebooky často neobsahujú sériový port pre úsporu miesta. RS-232 bol štandard pokiaľ obvody potrebovali kontrolu, sériový port sa stal veľmi lacným a často existoval ako jediný čip, niekedy tiež v prepojení s paralelným portom.