RS-232 cable

RS-232

en: Recommanded Standard 232

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

  • olcsó
  • széles körben elterjedt

hátrányai

  • 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 baudráta). 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ódasszinkron átvitel
Meghajtók és vevők
száma egy vonalon
1 meghajtó
1 vevő (pont-pont)
Adatátvitel módjafélduplex,
full-duplex
Adatátvitelp2p
Max. kábelhosszúság15 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ézis1,15 V
SzintMagyarulNémetülAngolul
7Alkalmazási rétegAnwendungsschichtApplication layer
6Megjelenítési rétegDarstellungsschichtPresentation layer
5Viszonylati rétegKommunikationssteuerungsschichtSession layer
4Forgalmazási rétegTransportschichtTransport layer
3Hálózati rétegVermittlungsschichtNetwork layer
2Adatkapcsolati rétegSicherungsschichtData Link layer
1Fizikai rétegPhysikalische SchichtPhysical 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.4004.800 9.600 19.200 57.600 115.200 
maximális távolság900 m300 m152 m15 m5 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 levelsspace / mark level
  • Adatjel (TXD) Space, feszültségszint +3V - +15VLogikai 0 jel, ellenőrző jel (RTS, DTR): ON
  • Adatjel (TXD) Mark, feszültségszint -3V - -15VLogikai 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 transferA 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)
1090M518
RXD (Receive Data)104D223
TXD (Transmit Data)103D132
DTR (Data Terminal Ready)1082S1.2420
GND (Ground)102E257
DSR (Data Set Ready)107M166
RTS (Request To Send)105S274
CTS (Clear To Send)106M285
RI (Ring Indicator)125M3922

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 D9SUB D25
SUB D-9 connector SUB D-25 connector
SUB D-9 plug-in SUB D-25 plug-in

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

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