RS-232

en: Recommanded Standard 232

RS-232 cable

Alapok

Az RS-232 szabványt az Electronic Industries Association (EIA), az USA Villamosipari Szövetsége fejlesztette ki.

A szabvány nevében az RS betűk a Recommanded Standard, azaz Ajánlott Szabvány kezdőbetűit jelentik, a végén lévő betű pedig az ajánlás különböző módosított, felújított változatait jelenti.

Az RS-232 szabvány első változatát 1962-ben vezették be, majd ezt követték a módosítások, melyek közül a harmadik a legismertebb, az EIA RS-232-C szabvány 1986-ból.

Ezt felváltotta a TIA/EIA-232-E (RS-232-E) melynek megjelentek az európai megfelelői a CCIT/ITU V.24 illetve DIN 66020 valamint az ISO IS2110.

A legújabb ajánlás a TIA/EIA-232-F (RS-232-F), ennek Európában a ITU-T V.24, és az ISO/IEC 2110 felel meg.

Gyakorlatilag az RS-232 a legrégebben használt, de máig „kiirthatatlan” szabvány a kommunikációban.

Az RS-232 jellemzően duplex kommunikációt biztosít a pont - pont (p2p) kapcsolatban résztvevő két állomás között.

Az RS-ek (232, 422, 485) paramétereinek összevetését itt találja.

Az RS 232 előnyei és hátrányai

előnyei hátrányai

- olcsó

- széles körben elterjedt

- többszörös test-potenciálok

sokszor potenciálban jelentősen eltérő készülékeket kell összekötni; ilyenkor a GND vezetéken jelentős feszültség(különbség)ek kóvályoghatnak. Érdemes ezekben az esetekben opto-t iktatni a kommunikációba.

- érzékeny a zajokra

Ez a probléma jelentősen csökkenthető a közös GND-re a vezeték mindkét végén lekötött árnyékolással.

- rövid távolságra alkalmazható

Jellemzően (ajánlás szerint) 15m-ig alkalmazható, de árnyékolt vezetékkel (és zavarmentes környezetben) ez kihúzható 30 méterig is. Alacsony kapacitású vezetékkel akár a 100 méterre is rá lehet próbálkozni (lásd Baudrate). Klasszikus megoldás még az RS-232-t RS422-re átkonvertálni (majd a másik oldalon visszakonvertálni), így a távolság 1200 m-re emelhető; ennek hivatalos neve: V.35 interface.

- lassú

Az RS 232 jellemzői

Az RS szabványok összehasonlítását itt találja.

  RS-232
Működési mód asszinkron átvitel
Meghajtók és vevők
száma egy vonalon
1 meghajtó
1 vevő (pont-pont)
Adatátvitel módja félduplex,
full-duplex
Adatátvitel p2p
Max. kábelhosszúság 15 m
Max. adatátvitel
12 m
1200 m

20 kbps
(1 kbps)
Max. jelváltozási
sebesség (slew rate)
30 V/μs
Vevő bemeneti
ellenállás
3..7 kΩ
Meghajtó terhelés-
impedancia
3..7 kΩ
Vevő "holtsáv" ±3 V
Vevő feszültségszint ±15 V
Meghajtó kimenő
feszültség max.
±25 V
Meghajtó kimenő
feszültség min. (terheléssel)
±5 V
Meghajtó kimeneti
rövidzárási áram limit
500 mA
Vcc vagy Test felé
Vevő hiszterézis 1,15 V

RS-232 OSI modell

Szint Magyarul Németül Angolul
7 Alkalmazási réteg Anwendungsschicht Application layer
6 Megjelenítési réteg Darstellungsschicht Presentation layer
5 Viszonylati réteg Kommunikationssteuerungsschicht Session layer
4 Forgalmazási réteg Transportschicht Transport layer
3 Hálózati réteg Vermittlungsschicht Network layer
2 Adatkapcsolati réteg Sicherungsschicht Data Link layer
1 Fizikai réteg Physikalische Schicht Physical layer

Az RS-232 átvitel - csakúgy, mint az összes, RS-ben definiált protokoll - a fizikai réteg szerepét tölti be, a jelprotokoll nem kerül ebben definiálásra - meglehetősen sok protokoll esetében (ABB  Procontic T200, BACnet, BÜEP19, Melsec,.. ezekről bővebben itt talál áttekintést). Az RS-232-öt magában, "csupaszon" is lehet alkalmazni, de ebben az esetben a fizikai réteg feletti feladatok megvalósítását nekünk kell megoldanunk.

Maximális adatátviteli távolság

A lenti értékek UTP CAT-5 vezetékkel - 55 pF/m - rel valósíthatók meg.

maximális baudráta   2.400 4.800  9.600  19.200  57.600  115.200 
maximális távolság 900 m 300 m 152 m 15 m 5 m < 2 m

Nagyobb áthidalandó távolság esetén érdemes olyan hálózati eszközt beiktatni a két végpont közé, ami alkalmas annak átvitelére. Egyszerű és kézenfekvő, hogy a két végpontban TCP/IP-re konvertáljuk az RS-232-nket, így viszonylag olcsón, gyakorlatilag bármekkora távolságra (akár az interneten is) átvihetjük a szükséges jeleket.

RS 232 jelrátája

Az átviteli ráta / távolság hányadosa jelentősen függ az alkalmazott vezeték minőségétől és a vonali erősítők (repeater-ek) számától. A lenti görbék pusztán jellemző értékeket jelenítenek meg.

RS-232, RS-422, RS-485 compare signal rates

 

Adatjel állapotok

  RS-232 signal levels space / mark level

 

  • Adatjel (TXD) Space, feszültségszint +3V - +15V
    Logikai 0 jel, ellenőrző jel (RTS, DTR): ON

  • Adatjel (TXD) Mark, feszültségszint -3V - -15V
    Logikai 1 jel, ellenőrző jel (RTS, DTR): OFF

  • Holtsáv, feszültségszint -3V - +3V

Az RS-232 kommunikációba a szabvány szerint beépítettek egy holtsávot, ez a +3V - -3V tartomány. Ennek feladata a zajelnyelés, a voltaképpeni jeleket csak az ebből a sávból kimozduló feszültségszintek produkálnak. A pozitív irányba kimozduló feszültség logikai "0" jelet, un. space-t hoz létre, negatív irányban pedig logikai "1"-et, mark-ot generál. A feszültségszint mindkét irányban 15V-ig terjedhet, de jellemzően a készülékek nagy része +/- 5V feszültséggel kommunikál.

Adatátvitel

Az RS-232 aszinkron adatátvitelt alkalmaz, ezért az átvitelhez szükséges a start-, stopbit alkalmazása. Ennek menetét egy példán keresztül szeretném bemutatni:

RS-232 data transfer

A fenti ábrán egy ASCII "G" betű átvitelét próbálom szemléltetni. Ebben az esetben a G betű a távirat tartalma, így ezt határolják a stop- és start bitek. Az RS-232 beállítása : 8O1. (a jellemző alapbeállítás 8N1)

1: Nyugalmi helyzetben a vonal "SPACE", logikai 1 állapotban található.

2: A táviratokat mindig a szinkronizációhoz szükséges startbit vezeti be, ez egy "MARK", logikai 0 alkalmazása

3: Itt következik a tartalom átvitele. Mivel minden byte-ot az LSB-vel (least significant bit) kell kezdeni és az MSB-vel (most significant bit) zárni, így a bitsorrend megfordul ("G" - hex 47 - "01000111" → "11100010")

4: A paritás bit alkalmazása opcionális (és nem is ad túl nagy biztonságot), mindenesetre

  • "O" (odd - páros) beállítás esetén, ha az átvitt 1-esek száma páros - mint fent - a paritás értéke 1 lesz.
  • "E" (even - páratlan) beállítás esetén ha az átvitt 1-esek száma páratlan - lesz a paritás értéke 1. A fenti példán "E" beállítás esetén a paritás 0 lett volna.
  • "N" (none - nincs) beállítás esetén a telegram nem tartalmaz paritás bitet. Jellemzően alapbeállítás.

5: A stopbit vagy stopbitek zárják a telegramot egy "SPACE" logikai 1-gyel. A stopbiteknél az alábbi opciókból választhatunk:

  • 1 Stopbit : A telegramot egy "SPACE" zárja. Alapértelmezett.
  • 2 Stopbit : A telegramot két "SPACE" zárja. Olyankor szokták alkalmazni, ha a telegramot azonnal fel kell dolgoznia a vevőnek, így adnak a feldolgozásra egy kicsivel több időt.

6: Ismét nyugi.

A fenti esetben 1 baud = 11 bit.

Portkiosztás

megnevezés
EIA/TIA
megnevezés
CCITT
megnevezés
DIN
csatlakozó
9 pólusú
csatlakozó
25 pólusú
DCD
(Data Carrier Detect)
1090 M5 1 8
RXD (Receive Data) 104 D2 2 3
TXD (Transmit Data) 103 D1 3 2
DTR (Data Terminal Ready) 1082 S1.2 4 20
GND (Ground) 102 E2 5 7
DSR (Data Set Ready) 107 M1 6 6
RTS (Request To Send) 105 S2 7 4
CTS (Clear To Send) 106 M2 8 5
RI (Ring Indicator) 125 M3 9 22

Csatlakozó típusok, lábkiosztással

A lábakhoz tartozó funkciókat egy fejezettel feljebb (Portkiosztás) találja meg (a táblázat utolsó két oszlopa).

SUB D9 SUB D25

SUB D-9 connector

SUB D-25 connector

SUB D-9 plug-in

SUB D-25 plug-in

Nullmodem RS-232 csatlakozó

A - talán második - leggyakrabban felbukkanó RS-232 kommunikációs eszköz a nullmodem. Ezzel a vezetékkel jellemzően két, teljes értékű kommunikációra képes állomást szokás összekötni. Ha a két állomás esetleg nem kér a különböző kézfogásokból (handshake), semmi gond, mert a következő pontban ismertetésre kerülő "minimál" rs232 funkcionalitást (2,3,5) így is el tudja látni.

RS-232 nullmodem

Minimál RS-232 csatlakozó

A jellemző minimális kivitele az rs232-nek. Nincs se kézfogás (handshake), meg semmi laca-faca, csak az adatok jönnek-mennek. A rendkívül sérülékeny adatátvitel ellenére a leggyakrabban ezt alkalmazzák mérésekre, paraméterek feltöltésére. Három vezetékes rs232-nek is szokás nevezni.

RS-232 "minimal"

Handshake: kézfogás

en: handshake

Szoftver handshake

X-ON / X-OFF protokoll néven is szokott futni - jellemzően beállítások esetén ezen a néven hivatkoznak rá. Mindaddig, amíg a hardver handshake extra portokat használ az átvitel vezénylésére, a szoftveres változat nem igényli ezt, ezért akár a minimál RS-232 csatlakozón is megvalósítható ez.

Az ASCII táblázat első 32 jelét vezénylő karakterek foglalják el, ebből 4 (DC1 - DC4; DC:Device Control) az átvitel vezénylésre lett elkülönítve, ezekből jellemzően kettőt használunk:

  • DC1 (X-ON, Hex 11) az átvitel kezdetét jelzi
  • DC3 (X-OFF, Hex 13) az átvitel lezárását jelzi

Ez a verérlés meglehetősen korlátozott módon vehető igénybe, ugyanis ha bináris adatokat akarunk továbbítani, azokban gyakran felbukkanhatnak a fenti vezénylő karakterek, amik megbolondítják, de legalábbis ellehetetlenítik az adatátvitelt. A módszer továbbfejlesztett változata például az x-modem protokoll, ami az átvitt adatmennyiséget blokkokba rendezi és egyszerre csak adott mennyiségű byte információt továbbít.

Hardver handshake

A kézfogásnak két fajtája van:

  • DTR / DSR : kapcsolat létrehozását biztosítja, modem-módnak is szokás nevezni
  • RTS / CTS : adatfolyam (adatátvitel) vezénylése

Amennyiben az adatátvitel során mindkét handshake-et alkalmazzuk, ennek menete a következő:

RS-232 handshake

1: Az adó jelzi a vevő felé a DTR (Data Terminal Ready) jellel, hogy készen áll a forgalmazásra.

2: A vevő a DSR (Data Set Ready) jellel visszajelez, hogy szintén készen áll a kommunikációra.

3: Az adó az RTS (Request To Send) jellel jelzi, hogy adatot kíván küldeni.

4: A vevő a CTS (Clear To Send) jellel visszajelez, hogy készen áll az adat fogadására, illetve a kommunikációra.

5: Megkezdődik a kétirányú (duplex) forgalmazás a RxD (Receive Data) / TxD (Transmit Data) vonalakon

6: A vevő visszavonja a CTS-t, mert nem tud adatokat fogadni (pl. a puffere megtelt).

7: A CTS jel ismételt kiadásával a forgalmazás újraindul

8: Az adó az RTS jel megvonásával jelzi, hogy szüneteltetni akarja a kommunikációt.


felhasznált források

Honter Zoltán
s-e.hu tudásbázis / RS232, RS422, RS485 kisokos
arcelect.com/rs232

license

Creative Commons License
Erre a dokumentumra a Creative Commons-Lizenz 3.0 szabályai érvényesek.
A dokumentum továbbfelhasználása engedélyhez kötött. Részleteiben is csak forrásmegjelöléssel
(pl: forrás:wwww.ob121.com) használható.
Engedélykérés, további információ: mail kukac ob121.com