Standard RS-232, resp. jeho poslední varianta RS-232C z roku 1969, (také sériový port nebo sériová linka) se používá jako komunikační rozhraní osobních počítačů a další elektroniky. RS-232 umožňuje propojení a vzájemnou sériovou komunikaci dvou zařízení, tzn., že jednotlivé bity přenášených dat jsou vysílány postupně za sebou (v sérii) po jednom páru vodičů v každém směru. Na rozdíl od síťové technologie Ethernet nebo rozhraní USB se tedy jedná o zcela bezkolizní fyzickou vrstvu.

V současné době (2023) se v oblasti osobních počítačů od používání sériového rozhraní RS-232 již téměř definitivně ustoupilo a to bylo nahrazeno výkonnějším Univerzálním sériovým rozhraním (USB). Avšak v průmyslu je tento standard, především jeho modifikace – standardy RS-422 a RS-485, velice rozšířen a pro své specifické rysy pravděpodobně bude i nadále. Na rozdíl od komplexnějšího USB, standard RS-232 pouze definuje, jak přenést určitou sekvenci bitů a nezabývá se už vyššími vrstvami komunikace. V referenčním modelu ISO/OSI tak představuje pouze fyzickou vrstvu.

Na počítači bývá linka RS-232 vyvedena pomocí konektoru D-Sub typu DE-9 M (samec — male), zařízení se tedy připojuje šňůrou s konektorem DE-9 F (samice — female). U starších počítačů byla druhá linka vyvedena na konektor DB-25 M (ten doporučuje původní norma), používal se například pro připojení modemu. Elektricky jsou oba konektory shodné (u velkého je jen mnoho pinů nevyužitých), takže se mohla případně použít jednoduchá pasivní redukce na DE-9 M a teoreticky i naopak. Pro připojení zařízení používajících RS-232 k současným počítačům se používají buď rozšiřující desky, nebo převodníky USB/RS-232. Převodníky USB/RS-232 mají proti originální „skutečné“ lince RS232 výrazně delší dobu odezvy, což může v některých aplikacích způsobovat značné problémy až nefunkčnost. Ačkoliv moderní základní desky většinou nemají sériový port na zadním panelu, mohou ho některé mít vyveden na 10-pinový konektor na jiném místě na desce (podobně jako „interní“ USB).

Zapojení DE-9 M do základní desky

zapojeni d sub do motherboardu

Redukce RS-232 — USB (USB do PC, DE-9 M do zařízení)

usb rs 232 kabel

Sériový kabel pro konfiguraci switchů a routerů (DE-9 F do PC, kostička do switche)

seriova linka pro cisco

Základní technický popis

Standard definuje asynchronní sériovou komunikaci pro přenos dat. Pořadí přenosu datových bitů je od nejméně významného bitu (LSb, často nesprávně LSB) po bit nejvýznamnější (MSb, často nesprávně MSB). Počet datových bitů je volitelný, obvykle se používá 8 bitů, lze se také setkat se 7 nebo 9 bity. Logický stav „0“/„1“ přenášených dat je reprezentován pomocí dvou možných úrovní napětí, které jsou bipolární a dle zařízení mohou nabývat hodnot ±5 V, ±10 V, ±12 V nebo ±15 V. Nejčastěji se používá varianta, při které logické hodnotě 1 odpovídá napětí −12 V a logické hodnotě 0 pak +12 V. Základní tři vodiče rozhraní (příjem RxD, vysílání TxD a společná zem GND) jsou doplněny ještě dalšími vodiči sloužícími k řízení přenosu (vstupy DCD, DSR, CTS, RI, výstupy DTR, RTS). Ty mohou a nemusí být používány (zapojeny), nebo mohou být použity pro napájení elektronických obvodů v zařízení, jako je například počítačová myš. Výstupní elektronika je vybavena ochranou proti zkratu, kdy po překročení proudu 20 mA proud již dále neroste.

Asynchronní komunikace

I když komunikující zařízení znají rychlost, jakou se data přenášejí, musí přijímač začít přijímat ve správný okamžik, tedy musí proběhnout synchronizace. V případě synchronní komunikace souběžně s datovým vodičem existuje i synchronizační vodič, na kterém vysílač oznamuje přijímači „teď jsem poslal data“, viz LPT a signál STROBE. Naopak u asynchronní komunikace se synchronizační vodič nepoužívá, pouze vysílač pošle nějaká definovaná data po datovém vodiči, po jejichž přijetí se přijímač zasynchronizuje. V případě RS232 každé sekvenci datových bitů předchází jeden start bit, kterým se logická hodnota na lince přepne (původně v klidovém stavu) do opačného stavu. Po datových bitech následuje paritní bit a za ním jeden nebo více stop bitů, během kterých je linka opět v klidovém stavu. Je tak možné pro komunikaci použít méně vodičů na úkor určitého snížení rychlosti způsobeného synchronizací. K podobné synchronizaci dochází i u Ethernetu, kde na začátku každého rámce vyšle vysílač několik bajtů, ve kterých se střídají bity 0 a 1.

Průběh signálu při přenosu znaku „K“ (ASCII kód 75, binárně 01001011) bez parity a s jedním stopbitem

Rs232 oscilloscope trace

Logické úrovně

  • pro datové signály (tj. RXD a TXD): logická 0 je +3 V až +15 V, logická 1 je -3 V až -15 V

  • pro řídící signály (tj. RTS, CTS, DTR, DSR, …): logická 0 je -3 V až -15 V, logická 1 je +3 V až +15 V

Řídící signály mají tedy opačnou logiku než signály přenášející data.

Rychlost

Na běžných sériových portech v PC lze dosáhnout rychlost maximálně 115200 Bd. Ostatní baudové rychlosti jsou odvozeny dělením 115200 Bd. Jde tedy o řadu 115200, 57600, 38400, 28800, 23040, 19200, …, 9600, …, 4800, …, 2400, … Bd. Nejčastěji používané baudové rychlosti jsou tučně zvýrazněny. Přenosová rychlost je vždy nižší než baudová rychlost, protože ke každým osmi datovým bitům se navíc přenáší ještě startbit, jeden nebo dva stopbity a případně také paritní bit.

(Mimo svět PC existují i obvody umožňující rychlost přenosu v řádu Mbit/s.)

Zapojení

Pro běžné připojení zařízení k počítači platí, že na počítači je samčí konektor, na zařízení samičí konektor, zařízení a počítač jsou propojeny kabelem 1:1. Když kabel připojíme do počítače, tak „vytáhneme“ piny konektoru počítače na piny druhé strany kabelu. Maximální délka kabelu pro rychlost 57600 bd je okolo 5 m, tato délka roste nepřímo úměrně baudové rychlosti.

Nejdůležitějšími signály jsou Rx, Tx a GND, které slouží k samotnému přenosu dat, mnohá zařízení ostatní signály nevyužívají. Pokud chceme propojit pomocí RS232 dva počítače, potřebujeme tzv. „nulový modem“, který je realizován „kříženým“ kabelem se dvěma samičími konektory. Tento kabel musí správně propojovat vstupy a výstupy (Rx a Tx, …).

Číslování pinů 9pinového (D-Sub) konektoru CAN Connecteur

Číslování pinů u 25pionvého (D-Sub) konektoru DB 25 male

Zkratka Jméno Popis Pin D-Sub DB25 Pin D-Sub DE9 Směr u DTE (PC samec) Směr u DCE (zařízení samice)

Common Ground

Stínění

1

TxD, TX, TD

Transmit Data

Data posílaná z DTE do DCE

2

3

výstup

vstup

RxD, RX, RD

Receive Data

Data přijímaná v DTE z DCE

3

2

vstup

výstup

RTS

Request to Send

„Požadavek na vysílání“; Logická jednička na tomto výstupu signalizuje, že DTE chce vysílat data. Některé převodníky RS232/RS485 tento signál používají pro přepínání směru linky, což však vyžaduje aby software tento signál správně obsluhoval.

4

7

výstup

vstup

CTS

Clear to Send

„Povolení k vysílání“; Logickou jedničkou na tomto vstupu protistrana signalizuje, že DTE může vysílat data

5

8

vstup

výstup

DSR

Data Set Ready

Logickou jedničkou na tomto vstupu protistrana signalizuje, že je připravena (což neznamená že DTE může okamžitě zaslat data, viz CTS)

6

6

vstup

výstup

GND

Ground

Signálová zem. Hodnoty napětí na pinech jsou určeny proti této zemi.

7

5

DCD,CD,RLSD

(Data) Carrier Detect

Logickou jedničkou na tomto vstupu protistrana signalizuje, že detekovala na vedení nosný signál a může komunikovat (DCE je např. modem na telefonní lince)

8

1

vstup

výstup

DTR

Data Terminal Ready

Logickou jedničkou na tomto výstupu DTE signalizuje protistraně svoji připravenost. Protistrana (např. modem) se tím aktivuje nebo zase deaktivuje. Modem obvykle odpovídá nastavením DSR na logickou jedničku.

20

4

výstup

vstup

RI

Ring Indicator

Logická jednička signalizuje do DTE příchozí hovor, tedy že někdo požaduje datové spojení („ring“ je anglicky „zvonit“; zvl. u telefonního modemu).

22

9

vstup

výstup

Kabel bez HW handshakingu

RS 232 male to female connector pinout

Zapojení sériové linky pro konfiguraci switchů a routerů

rj45 rs232 console cable pinout

RS-485

V průmyslu se hodně používá standard RS-485, který ke svému fungování potřebuje jenom dva vodiče. Funguje ovšem zcela jinak než RS-232.

MAX232

MAX232 je převodník sériové linky RS-232 na TTL úrovně. K mikrokontrolerům obvykle nelze připojit přímo RS-232 z počítače, protože mikrokontrolery nesnesou vyšší napětí než 3.3V. Lze však použít třeba tento převodník od firmy Papouch.

Vestavný převodník s obvodem MAX232

vestavny prevodnik rs232 ttl

Schema zapojení

vestavny prevodnik rs232 ttl schema

Zdroje a odkazy

Domácí úkol

Nakreslete schéma zapojení přechodového kabelu mezi základní deskou a sériovým portem (DE-9 male konektorem) tak, aby se tento kablík dal podle vašeho schématu vyrobit. Udělejte to pro základní desku vašeho domácího počítače. Pokud deska vašecho domácího počítače výstup pro sériovou linku RS-232 nemá, vezměte si podobnou základní desku stejného výrobce. Máte-li notebook, vyberte si libovolnou základní desku výrobců ASUS, MSI nebo GigaByte. Budete si muset najít manuál vaší základní desky. Ve schématu je potřeba popsat přesně výrobce a typ základní desky. Vypracovaný úkol pošlete mailem jako přílohu na adresu jirka@lixis.cz

Poznámka: Dobře se to kreslí vektorovým editorem Inkscape.

Úkol je na příští hodinu (2.11.2023), kdo ho neodevzdá, dostane kuli. Ostatní dostanou známku podle toho, jak dobře se jim podaří úkol udělat. Kdo chyběl na dnešní hodině a bude se vymlouvat, že chyběl, tak dostane kuli také. Každý může studovat hardware třeba pomocí mobilního telefonu kdekoliv a kdykoliv.

Jak by měl váš domácí úkol vypadat

schema zapojeni propojovaciho kabelu