Párhuzamos és soros adatátvitel

Az előbbiekben leírtak jól illusztrálják, hogy az információt általában bitcsoportos alakok hordozzák. Ha egy ilyen bitcsoportot egyszerre tudunk átvinni, akkor az információ átviteli sebessége nagyobb lesz. Ehhez azonban annyi, biteket átvivő adatutat kell az ADÓ és a VEVŐ között kialakítani, ahány bitből áll a bitcsoport. Természetesen külön vezeték(ek) szükségesek a ADÓ-VEVŐ szinkronizmus megvalósítására is. Ügyelni kell a vezetékek helyes sorrendjére is. Mivel ez a kialakítás jelentősen növeli az összeköttetés költségét és csökkenti a megbízhatóságot, ezért általában ezt az ún. párhuzamos átvitelt, csak kis távolságokra, illetve készülékek belsejében elhelyezkedő részegységek összekapcsolására használják. Ilyen megoldással működnek a számítógépek adat-, vezérlő- és címbuszai, vagy perifériák esetén a nyomtató, szkenner.

Soros átvitel esetén az információs biteket egyenként, sorban egymás után visszük át. Ezért egy kódolt bitcsoport átviteli ideje a párhuzamos átvitelhez képest megnő, de számos előnyt rejt ez a kialakítás: szélső esetben elegendő egy vezetékpár az összeköttetés fizikai megvalósításához, ami jelentős költségcsökkentő tényező. Az információ átvitel sebessége lassabb, de ha növeljük az adatátvitel sebességét (napjainkban folyamatosan ez történik) akkor ez a lassúság nem igazán korlátozó tényező.

Aszinkron soros adatátvitel

A nagyfokú és széleskörű elterjedése miatt egy számítógép és egy modem, vagy terminál közötti illesztés fizikai rétegének megvalósítása nagyon fontos. Ez teljes duplex, pont-pont típusú összeköttetés kialakítását igényli. Részletesen meg kell határozni a mechanikai-, a villamos-, a funkcionális-, és eljárás interfészeket.

Az ezt megvalósító szabvány megalkotója az Electronic Industries Association elnevezésű, elektronikai gyártókat tömörítő szakmai szervezet, így az EIA RS-232-C a pontos hivatkozás. Ennek nemzetközi változata a CCITT V.24. ajánlása, amely csak néhány ritkán használt áramkörben tér el. Az ajánlás (Recommended Standard 232 C) az eredeti ajánlás harmadik (“C”) változata.

Mivel személyi számítógépek megjelenésével a benne található soros periféria szabványos illesztő felületté vált, ezért a soros vonalat széles körben — eredeti funkcióján túlmenően — kezdték különböző perifériális eszközök illesztésére felhasználni.

A szabványleírásban az számítógép és a terminál hivatalos neve:

adatvég-berendezés — DTE (Data Terminal Equipment),

 a kapcsolódó modemé  

adatáramköri-végberendezés - DCE (Data Circuit-Terminating Equipment),

 és a köztük zajló kommunikáció az RS-232 soros vonalon folyik.

 

Általánosan fogalmazva egy DCE végzi a kommunikációs közeghez történő fizikai illesztést, azaz a kétállapotú bináris jeleket átalakítja a közegben átvihető fizikai jelekké. A legtöbb gyakorlati esetben a DTE egy terminál, vagy egy számítógép, míg a DCE az analóg telefonhálózathoz kapcsolódó modem.

  

40. ábra: DTE és DCE egységek kapcsolata

RS-232C szabvány

A DTE-DCE egységeket összekötő vezetékrendszer mechanikus csatlakozóját is definiálták: 25 pólusú csatlakozó (szokták DB-25-nek is nevezni). Két, egymásba dugható csatlakozó közül a dugós rész a DTE-n, a hüvelyes részt a DCE-n helyezkedik el. 

41. ábra: Szabványos 25 pontos soros csatlakozó

A villamos specifikáció szerint a -3V-nál kisebb feszültség a vonalon a bináris 1-et (MARK), míg a +3V-nál nagyobb feszültség bináris 0 -át (SPACE) jelent. A legfeljebb 15 méter hosszú kábeleken 20 kbit/s-os maximális adatátviteli sebesség a megengedett. A legtöbb gyakorlati esetben (pl. a számítógépek soros vonalánál) a feszültség ± 12V.

 

42. ábra. RS232 jelszintek

A funkcionális előírás a 25 ponthoz tartozó vonalakat megjelöli, és leírja azok jelentését. A 43. ábrán annak a 9 vonalnak a funkciója látható (a hozzá tartozó kivezetés számmal), amelyeket majdnem mindig megvalósítanak.

A többi, fel nem tüntetett áramkör a gyakorlatban alig használt funkciókkal rendelkezik: adatátviteli sebesség kiválasztása, modem tesztelése, adatok ütemezése, csengető jelek érzékelése, adatok másodlagos csatornán való fordított irányú küldése.

 

43. ábra: DTE-DCE összekötő vezetékek

Az eljárásinterfész az a protokoll, amely az események érvényes sorrendjét határozza meg. A protokoll akció-reakció esemény-párokon alapszik. Amikor egy terminál kiadja pl. az Adáskérés jelet, a modem egy Adásra kész jellel válaszol, ha képes fogadni az adatokat. Ugyanilyen jellegű akció-reakció párok léteznek a többi áramkör esetén is.

 

 

44. ábra. RTS-CTS kézfogásos kapcsolat

Ahhoz hogy a soros adatátvitel során az ADÓ-ról érkező biteket a VEVŐ egyértelműen azonosítani tudja, szükséges, hogy azonosan értelmezzék a jeleket, azaz pl. egy bájt ötödik bitjét kiküldve, azt a VEVŐ is annak tekintse.

 

45. ábra: A soros adatátvitel elve

Az aszinkron soros átvitelnél a bitcsoportos átviteli mód biztosítja az ADÓ és a VEVŐ szinkronizmusát. Természetesen ehhez a járulékos információhoz járulékos biteket is fel kell használni. Ezek a START és a STOP bitek. Ezen biteket szokták keretező (framing) biteknek is nevezni, mivel a tényleges információt "keretbe foglalják". A START bit jelzi, hogy utána következnek a tényleges információt hordozó adatbitek, míg a STOP bit(ek) ezek végét jelzi.

A soros protokoll szerint, ha a soros vonalon nem folyik információátvitel, a vonal állapota aktív (MARK) szintű. Az adatátvitel kezdetekor az ADÓ a vonalat egy bit átvitelének idejéig alacsony (SPACE) szintre állítja (Vigyázzunk! Ez a pozitív feszültség!) (START bit), majd utána történik meg az adatbitek átvitele. Az átvitt adatbitekből álló bitcsoport végére az ADÓ STOP bit(ek)-ből álló aktív (MARK) szintű jelet helyez el. A VEVŐ az adás kezdetéről a vonal MARK-SPACE állapotváltozásából szerez tudomást.

Ezután mindig egy bit átvitelének idejéig várakozva, az adatbiteket veszi. A STOP bitek érkezése után már figyelheti a vonalon ismét megjelenő állapotváltozást, ami a következő bitcsoport adásának kezdetét jelöli.

Fontos kérdés a vonalon időegység alatt átvitt információ mennyisége, amit bit/s-ben mérünk. Tipikus, szabványosan használt értékeit a következő táblázat tartalmazza.

 

bit/s

Egy bit átvitelének ideje (msec)

150

6.6666

300

3.3333

600

1.6666

1200

0.8333

4800

0.2083

9600

0.1042

19200

0.0521

38400

0.0261

 

Az adatátvitel során az esetleges átviteli hibák felderítését megkísérelhetjük oly módon, hogy az átviendő adatbit-csoportot egy paritás bittel egészítjük ki úgy, hogy az így kiegészített adatcsoportban lévő 1 értékű bitek száma páros (páros paritás), vagy páratlan (páratlan paritás) legyen. Ilyen módon, az ADÓ oldalán mindig biztosítható, hogy az 1-es értékű bitek száma mindig páros/páratlan legyen, és a VEVŐ oldalon az egy (ill. páratlan számú) bit változása miatti hiba felderíthető.

Statisztikailag igazolható, hogy a "hibacsomósodások" valószínűsége a gyakorlati esetekben a paritásellenőrzés az adatátvitelt sok esetben megfelelően megbízhatóvá teszi. Jó minőségű, zajmentes összeköttetésnél a paritásbitre pedig nincs is szükség. Az előzőek alapján a soros adatátviteli protokoll konkrét kialakításánál a következőket kell rögzíteni:

Adatbitek száma: a gyakorlatban 5, 6, 7 vagy 8 bit.

Paritásbit: használunk paritásbitet vagy nem, és ha igen, páros vagy páratlan paritást alkalmazunk.

Stop bitek száma: ez a soros vonalnak a bitcsoport átvitele utáni garantált logikai 1 állapotának az idejét határozza meg, az egy bit átviteléhez szükséges idővel kifejezve. Hossza 1, 1.5, vagy 2 bit lehet. A legrövidebb az egy bit, és ez biztosítja, hogy a VEVŐ a következő bitcsoport vételéhez szükséges szinkronizáló START bit indító élének érzékelésére felkészüljön. Két stop bit használata akkor előnyös, ha valamilyen okból szükséges a vett adatbitek azonnali feldolgozása és az ehhez szükséges hosszabb idő.

Adatátviteli sebesség (bit/s): Igen fontos adat, mert ez határozza meg alapvetően az ADÓ és a VEVŐ szinkronizmusát.

Magát a párhuzamos adatok sorossá alakítását illetve a soros adatok visszaalakítását shiftregiszterek felhasználásával hardver úton lehet elvégezni. Mivel a soros adatátvitel széles körben használják, ezért, megvalósítására céláramköröket fejlesztettek ki. Ezeknél az ADÓ oldalán csupán az adatbit-csoportot kell párhuzamosan a bemenetekre adni, az áramkör elvégzi a sorossá alakítást, a paritás, START és STOP bitekkel való kiegészítést, valamint az átvitelt. A vevőoldalon a vett soros adatokból vevőáramkör képezi a bitcsoportot. Ezek az áramkörök programozhatóak, azaz vezérlőkódokkal megadhatók az átvitel paraméterei és a soros adatátviteli protokoll. Mivel ezek az áramkörök TTL jelszintekkel működnek, ezért be és kimenetükön 0 és 5 V-os jeleket várnak illetve adnak. Ezért ezeket a soros periféria áramköröket mindig ki kell egészíteni egy olyan szintátalakító áramkörrel, amely a TTL szintjeiket a szabványos RS232 jelszintekké oda- és visszaalakítja a 0V -> +12V; 5V -> -12V szabályok szerint.

 

46. ábra: Null-modem: Két DTE összekötése

Mivel majdnem minden számítógépnek van soros vonala, gyakran előfordul, hogy két számítógépet RS-232-C soros vonalon keresztül kötnek össze. Mivel nem DTE-DCE típusú az összeköttetés, ezért a megoldás egy null-modem-nek nevezett “eszköz” (hiszen csak egy keresztbe kötés), amely az egyik gép adási vonalát a másik gép vételi vonalával köti össze. A legegyszerűbb esetben ez elegendő, ha azonba a modemvezérlő vonalakat is használnunk kell, akkor hasonló módon néhány más vonal keresztbekötését is el kell végezni.

Nézzünk egy konkrét példát: Ha például az adatátviteli sebesség 9600 bit/s, és 8 bites adatokat (bájtokat) viszünk át páros paritásbittel kiegészítve, 2 STOP bittel a végén, akkor például másodpercenként:

9600/(1 START + 8 ADAT + 1 PARITÁS + 2 STOP bit) = 9600/12 = 800 adat (bájt)

kerül átvitelre.

Ha például az “A” karaktert visszük át (ASCII kódja 41H), akkor a soros vonalon a következő jelformát láthatnánk:

 

47. ábra: Egy soros jelalak

A karakter bitjeit fordított sorrendben visszük át (LSB az első!), a páros paritásbit ennél a karakternél 0 mert eleve páros (kettő) 1 értékű bitet tartalmazott.

Még egy praktikus kérdés: Sokszor nehéz eldönteni, hogy a még össze nem kötött adatvezetékek közül melyik az adószál (TXD) és melyik a vevőszál (RXC). Ha nincs adás a vonalon, akkor az adószál nyugalomban (MARK állapotban, -12V-on) van, a vevőszálon mivel nincs bekötve nincs feszültség. Tehát ha egy voltmérővel a közös földvezetékhez képest mérünk, akkor az adószálon fogunk -12V-ot mérni.

Áraminterfész

Sok esetben a kommunikációban részt vevő két oldal nem köthető össze galvanikusan. Az RS232 szabvány korlátjait nagyobb távolságú átvitel esetében a földvezetékeken átfolyó kiegyenlítő áramok okozta földhurkok is jelentik.

Ez kiküszöbölhető potenciál-leválasztással. Ennek megvalósítására kidolgozott megoldás TTY interfész, közismert nevén a "20mA-es áramhurok". Lényege: az adó és a vevőoldal mindkét irányban egy hurkot alkotó vezeték-párral van összekötve. Az ADÓ 1 állapotként 20 mA-es áramot küld át hurkon amit a VEVŐ érzékel (áramgenerátorosan tápláljuk a hurkot.). Az információt az áram megléte, illetve hiánya hordozza. (1-van áram, 0-nincs áram).

A maximális sebesség 9600 bit/s, a maximálisan áthidalt távolság 1000 m lehet. Ezen távolságon belüli egyszerű, gazdaságos megoldás, főleg pont-pont összeköttetés esetére.

Az elektronikában elterjedten használt optikai csatolók nagyon egyszerűvé teszik az alkalmazást, teljes duplex átvitelnél oldalanként két-két ilyen optikai csatoló szükséges.

48. ábra: Áraminterfész

Amint láttuk, az RS-232-C illesztés elsődlegesen számítógép-modem összeköttetésre tervezték, és mivel alkalmazhatósága miatt más területeken, iparban is kezdték használni, az adatátviteli sebességre tett 20 kbit/s-os és a kábelhosszúságra tett 15 m-es korlátozás fokozatosan zavaróvá vált.

Mivel a jeleket egy közös földvezetékhez képest mérjük, ezért a rendszer a villamos zavarokra nagyon érzékeny. Az EIA sokat vitázott, hogy vajon egy olyan új szabványt fejlesszenek-e ki, amely a régi (de technikailag nem túl fejlett) szabvánnyal kompatíbilis, vagy egy olyat, amely a régivel nem kompatibilis, de a korszerű követelményeket maradéktalanul kielégíti. A kompromisszumos megoldás mindkettőt tükrözi.

Az RS-449, -422, -423, és az RS-485-ös szabványok

Az új, RS-449-nek nevezett szabvány valójában három szabvány eggyé ötvözése. A mechanikai, a funkcionális és az eljárási interfész az RS-449 szabványban, míg a villamos interfész két további szabványban van megadva.

Mindkét villamos szabványnál a jeleket az összekötő vezeték-pár közötti feszültségkülönbség hordozza, és a vevők bementén lévő differenciálerősítő fogadja ezeket a jeleket. Mivel a zavart indukáló külső villamos zaj hatása mindkét vezetéken megjelenik, ezért a különbségképzésnél ezek hatása kölcsönösen kioltja egymást.

E kettő közül az egyik az RS-423-A, amely az RS-232-C szabványhoz hasonlít abban, hogy minden áramkörének közös földje van. Ezt a technikát asszimmetrikus átvitelnek (unbalanced transmission) nevezik. A másik villamos interfész az RS-422 ellenben a szimmetrikus átvitelt (balanced transmission) használja, amelyben minden fő áramkör két, nem közös földű vezetékkel rendelkezik.

Ennek eredményeképpen az RS-422-A egy legfeljebb 60 méter hosszú kábelen 2 Mbit/s-os átviteli sebességet engedélyez, sőt rövidebb távolságokra még ennél nagyobbat is. Ezek a szabványoknál már az egy ADÓ mellett több vevő is lehet a vonalon, de így átvitel csak szimplex. A pont-pont típusú összeköttetés helyett itt már üzenetszórásos összeköttetés van, és ez az ún. multi-drop kialakítás. Teljes duplex átvitelhez két egység között még egy vezetékpárt kell alkalmazni, ellentétes VEVŐ-ADÓ áramkörökkel. Ez a négyvezetékes átvitel.

 

49. ábra: A soros adatátviteli RS szabványok

Az egyre intelligensebb összekapcsolt eszközök igénylik a kétirányú kommunikációt. Ezért 1983-ban az EIA egy újabb szabványt jelentett meg, az RS-485-öt. Az RS-422-höz hasonló szimmetrikus átvitelt használja, de a vonal-páron már több ADÓ és több VEVŐ is lehet és közöttük az egy vezeték-páron fél-duplex összeköttetést lehetséges. Természetesen a teljes duplex kommunikációhoz itt is a négyvezetékes kialakítás szükséges.

Annak elkerülésére, hogy több ADÓ kezdjen a vonalon adni, az adási jogot az egyik kitüntetett eszköznek, az ún. MASTER-nek kell biztosítani. Ez az eszköz címzett parancsok segítségévek szólítja meg a többi eszközt, a szolgákat (SLAVE), és szólítja fel őket esetleges adásra.

Összefoglalásul nézzük meg a fent részletezett szabványok leglényegesebb jellemzőit:

 

Jellemzők

RS 232C (V.24)

Áraminterfész

RS 423 (V.10)

RS 422 (V.11)

Átvitel

aszimmetrikus

szimmetrikus

aszimmetrikus

szimmetrikus

Kábel típus

sodrott érpár

sodrott érpár

koaxiális

sodrott érpár

Kábelhossz

15 m

300 m

600 m

1200 m

Adatsebesség (max)

20 kbit/s

10 kbit/s

300 kbit/s

2 Mbit/s

Meghajtó kimeneti szint (terheletlen)

 

+/- 25 V

 

20 mA

 

+/- 6V

 

+/- 6V (diff)

Meghajtó kimeneti szint (terhelt)

 

+/- 5...+/- 15V

 

20 mA

 

+/- 3,6 V

 

+/- 2V (diff)

Minimális vételi szint

 

+/- 3V

 

10 mA

 

+/- 0,2 V

 

+/-0,2V (diff)

 


Ábrajegyzék

Bevezetés

1.fejezet: A hálózatok célja, alkalmazása, alapfogalmak

2. fejezet: Általános elméleti alapok, Vonalak megosztása, Vezeték nélküli átviteli közeg, Analóg átvitel, Digitális átvitel, Terminálkezelés, X.21 interfész, ISDN-integrált szolgáltatású digitális hálózat, Beágyazott rendszerek kommunikációja, Soros kommunikáció, Ellenőrző kérdések és válaszok

3.fejezet: Közeg-hozzáférési módszerek

4.fejezet: Adatkapcsolati protokollok

5.fejezet: Hálózati réteg

6.fejezet: A felsőbb rétegek

7.fejezet: Lokális hálózatok

8.fejezet: A TCP/IP protokoll és az Internet

9. fejezet: Szótár

Irodalomjegyzék

Tárgymutató