Oldalforrás megtekintése Korábbi változatok Hivatkozások Exportálás PDF-be Share on ... Google+ Twitter LinkedIn Facebook Pinterest Telegram Tartalomjegyzék RS-232 Alapok Az RS 232 előnyei és hátrányai Az RS 232 jellemzői RS-232 OSI modell Maximális adatátviteli távolság RS 232 jelrátája Adatjel állapotok Adatátvitel Portkiosztás Csatlakozó típusok, lábkiosztással Minimál RS-232 csatlakozó Handshake Szoftver handshake Hardver handshake RS-232 busz, rs 232 en: Recommanded Standard 232 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 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 vonalon1 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ás3..7 kΩ Meghajtó terhelés- impedancia3..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 limit500 mA Vcc vagy Test felé Vevő hiszterézis1,15 V RS-232 OSI modell 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. Adatjel állapotok 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: 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/TIAmegnevezés CCITTmegnevezés DINcsatlakozó 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 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. 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. 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ő: 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.