A fizikai réteg esetében nagyon fontos annak az eldöntése, hogy az adatok átvitele milyen módon történjen meg. Mivel villamos vezetőket használunk a kapcsolat kialakításához, ezért valamilyen villamos jellemző fogja az információt hordozni. Annak alapján, hogy ezek milyen módon képesek az információt reprezentálni, beszélhetünk analóg és digitális átvitelről. Mindkét módot használják a gyakorlatban, röviden mi is áttekintjük az ezzel kapcsolatos tudnivalókat.

A digitális adatátvitel

A digitális átvitelt elsősorban mikroszámítógépekben és a számítógépek között valósítanak meg. A digitális jelek két állapottal rendelkeznek, a kikapcsolt állapot a logikai 0, a bekapcsolt pedig a logikai 1. Annak érdekében, hogy ezek az állapotok kezelhetők legyenek, hozzájuk a gyakorlatban legtöbbször konkrét feszültségszinteket vagy feszültségszint-tartományokat rendelnek (0 szint: 0V, 1 szint: 5V). Fontos, hogy a két feszültségszint között a digitális jelek nem vehetnek fel értéket, a két szint közötti váltásnak pedig nagyon rövid idő alatt kell megtörténnie (lehetőleg nullához közeli érték alatt). Ezzel kapcsolatban még el kell mondani azt is, hogy a váltások nem történhetnek akármikor. Ennek az oka, hogy a digitális rendszerek áramkörei megadott ütemezés szerint működnek. Erre azért van szükség, hogy a megfelelő jelszinteket a vevő is megfelelő időben legyen képes értelmezni.

A digitális adatátvitel során digitális jeleket viszünk át a kialakított vonalon. Az átvitt információ legkisebb mennyisége a bit. A bit két lehetséges értéket vehet fel (0 vagy 1). Minden adat előállítható bitek sorozatából. A bitek csoportosításából nagyabb adategységek jönnek létre: 8 bit az 1 bájt, 1024 bájt az 1 kbájt (1kB) 1024 kbájt az 1Mbájt (1MB).

Amikor először alkalmaztak digitális átvitelt, akkor azt szövegek átvitelére használták. Minden szöveg összeállítható karakterek sorozatából. A csatornán ezeket a karaktereket kell továbbítani. Minden karakter megadott számú bittel leírható. Létrehoztak egy táblázatot, amelyben az összes angol karaktert felsorolták, és hozzárendeltek egy bináris bitsorozatot. Így jött létre az ASCII táblázat, amelyről még a későbbiekben lesz szó. Mivel a karakterek átvitelénél az információ alapegysége az a bitcsoport volt, amely egy karaktert egyértelműen meghatározott. Ezek alapján ezt a módszert szokás karakterorientált átviteli eljárásnak nevezni. Annak érdekében, hogy a karakterek megfelelő módon kerüljenek átvitelre, speciális karaktereket, ún. vezérlőkaraktereket használnak. (Itt jegyeznénk meg, hogy a hálózati szabványokban és leírásokban a bájt helyett az oktet (octet) fogalmát használják a 8 bites csoport jelölésére.)

Minél inkább elterjedtté váltak a digitális hálózatok, annál inkább szükségessé vált a karaktereken kívül más információnak a továbbítása is. Ezekről általánosságban el lehet mondani, hogy a különböző adatcsomagok hosszúsága nagyon eltérő. Szükség volt a karakterorientált átviteli eljárást átalakítani úgy, hogy bitcsoportok helyett tetszőleges számú bit átvitelére lehetőség nyíljon. Így alakult ki a bitorientált átviteli eljárás. Természetesen fontos a bitcsoportok egymástól való elkülönítése is, amelyre speciális bitcsoportokat használnak. Erről még a későbbiekben részletesebben is lesz szó.

A bitek továbbítása alapvetően két különböző módon történhet. A legegyszerűbb eset, amikor a biteket sorban egymás után egy csatornán elküldjük a vevőnek. Ezt az átviteli módot nevezik soros adatátvitelnek. A másik lehetőség, hogy az adó és a vevő között annyi vonalat alakítunk ki, amennyi bitet egyszerre át szeretnénk vinni. Ebben az esetben tehát bitcsoportok átviteléről van szó. Ezt az adatátviteli módot párhuzamos adatátvitelnek nevezik. Természetesen mindkét módszernek van előnye és hátránya egyaránt. E soros átvitel kialakítása olcsó, mivel kevés számú kapcsolódásra van szükség, de ezzel együtt az átvitel sebessége a párhuzamos átvitelhez képest lényegesen kisebb. A soros kapcsolattal nagyobb távolság hidalható át, mint a párhuzamossal. Azt, hogy melyik módszert alkalmazzák, egyértelműen a feladat dönti el. Általában mikroszámítógépek belső áramköreinek az összekapcsolására párhuzamos módot választanak a kis távolságok és a nagy átviteli sebesség miatt. A külső eszközök összekapcsolása a számítógépekkel már mindkét módszer szerint történhet (például az egér soros, a nyomtató viszont párhuzamos átvitelt használ).

Már említettük, hogy nagyon fontos a digitális eszközöknél, hogy az információt akkor vegyék, amikor ténylegesen az van a csatornán (a másodikként kiadott bitet a vevő is másodikként értelmezze). Elmondhatjuk, hogy az átvitel során a bitek továbbítása legtöbbször sorban történik. Most sokan azt gondolhatják, hogy az előzőekben leírtakat megcáfoljuk az előbbi állítással. Ha átgondoljuk, belátjuk, hogy ez nem igaz, mivel a párhuzamos átvitelénél is egymás után továbbítjuk az adatokat, azonban itt egyidőben több bitet küldünk át. Tehát mindkét átviteli mód esetében nagyon fontos az adó és a vevő egyidejű működésének (szinkronizáció) a biztosítása. A gyakorlatban kétféle módszert használunk, az egyik a szinkron, a másik pedig az aszinkron adatátvitel.

A szinkron átvitelnél a bitek kezdete, közepe és a vége csak egy megadott alapidőtartam egész számú többszörösére helyezkedhetnek el egymástól. Ebből is látható, hogy ebben az esetben a bitek nagyon szigorúan meghatározott sorrendben követik egymást, a bitek kezdete és hosszúsága is pontosan meg van határozva. A szinkronizációt speciális bitcsoportokkal valósítják meg, amelyek a tényleges információt előzik meg. A szinkron bitcsoport általában a legtöbb átmenetet tartalmazó csoport (1010101010101010) amelynek ideje alatt a vevő képes a saját működésének az ütemezését beállítani.

Az aszinkron átvitel tipikus karakterátviteli módszer, azonban még a mai napig is használják nap, mint nap (egér). Általában ezt a módszert a soros átvitelnél használják. Az adatátvitel egyszerűsített idődiagramja a 20. ábrán látható.
 
 


20. ábra. Az aszinkron soros adatátvitel működése

Mint az ábrán is felismerhető, az átvitel megkezdése előtt a vonal állapota állandó magas szint. Mikor a vevő szeretne csomagot küldeni, a vonalat egy bitnyi időtartamra alacsony szintre húzza. Ez jelzi a vevőnek az átvitel kezdetét, ezért nevezik ezt START bitnek. Ezt követően kerülnek elküldésre az adatbitek. A különböző szabványok 5, 6, 7 vagy 8 adatbitet használnak. Ezek után kerül továbbításra a paritásbit, amennyiben használunk ilyent az átvitelben. Ez egy védelmi eljárás, ami lehet páros és páratlan. Páros paritás alkalmazásakor a paritásbit olyan logikai értéket vesz fel, hogy az adatcsomagban vele együtt az 1 szintű bitek páros számban legyenek. A páratlan paritás használatakor az 1 szintű bitek páratlanok lesznek. A vétel során a paritás ellenőrzésével egybites hiba felismerhető. Sajnos a módszer nem teszi lehetővé sem a javítást, sem a hiba pontos behatárolását. Hiba esetén ismételten kérni kell az adótól az utolsó csomag küldését. A paritásbit után a csomagot és az átvitelt le kell zárni STOP bittel, amely logikai 1 szintű. Ennek hossza egy, másfél vagy két bit lehet. Ez biztosítja a vevőnek, hogy felkészüljön a következő csomag küldésére. Az aszinkron soros átvitelnél nincs követelmény arra vonatkozólag, hogy mikor kerülhet sor adatátvitelre. A START és a STOP bit biztosítja a csomag kezdetének és végének a felismerését.

Az aszinkron soros átvitel nagyon elterjedt a mikroszámítógépek terén, számos speciális áramkört alakítottak ki az átvitel megvalósításának egyszerűbbé tételére. A gyakorlatban a PC-s technikában az RS-232C (CCITT V.24), az ipari környezetben pedig az RS-485 interfészt használják.
 

RS-232C (CCITT V.24) interfész

A szabvány kétféle berendezést különböztet meg:

  • Adatvég berendezés (Data Terminal Equipment, DTE), ami tulajdonképpen a számítógépet vagy a terminált jelenti.
  • Adatáramköri-végberendezés (Data Circuit-Terminating Equipment), ami a kapcsolatot megvalósító modem jelölése.
Az eszközök kapcsolatát a 21. ábrán vehetjük szemügyre.
 
 


21. ábra. A DTE és a DCE egységek kapcsolata

Maga a szabvány tulajdonképpen a DCE és a DTE közötti soros, digitális interfész leírását határozza meg. A kapcsolatot 25 pólusú csatlakozó valósítja meg.
 
 


22. ábra. Jelszintek az RS-232C interfészben

A villamos jellemzői a szabványnak kicsit furcsának tűnhet. A bináris 1-et -3V és -25V közötti feszültéség, a logikai 0-át pedig a +3V és a +25V közötti feszültéség jelenti. A megvalósítás tehát negatív logika alapján történik. A -3V és a +3V közötti feszültségtartomány tiltott. A szabvány a bináris 1-et MARK-nak, a bináris 0-át SPACE-nek nevezik. A kábel maximálisan 15 méter hosszú lehet, amelyen keresztül maximálisan 20 kbit/s a maximális átviteli sebesség. Az elektromos jelek közül az esetek többségében nincs mindegyikre szükség, a leggyakrabban használtakat mutatja a 23. ábra, ahol egy DTE és a DCE kapcsolatát vehetjük szemügyre.
 
 


23. ábra. DCE és DTE kapcsolata a jelek megnevezésével

Nézzük meg, hogy mit is jelentenek és mire szolgálnak az egyes jelek:

  • Adatterminál kész (Data Terminal Ready, DTR) jelet magas szintre állítja a számítógép vagy a terminál akkor, ha bekapcsolják.
  • Az Adat kész (Data Ready, DSR) jelet a modem állítja magas szintre akkor, amikor bekapcsolják.
  • A Vivőérzékelés (Carrier Detect) jel akkor lesz aktív, ha a modem a vonalon vivőjelet érzékelt.
  • Az Adáskérés (Request to Send, RTS) jel jelzi, hogy a terminál szeretne adatot küldeni.
  • Adásra kész (Clear to Send, CTS) aktív állapota jelzi, hogy modem felkészült az adatok fogadására.
  • Az Adás (Transmit, TxD) vonalon történik meg az adatok vétele.
  • A Vétel (Recieve, RxD) vonalon folyik az adatok küldése.
Az RS-232C interfész nagyon jó két számítógép ideiglenes összekapcsolására is. Ebben az esetben az egyik gép adási vonalát a másik vételi vonalával kell összekapcsolni és viszont. Ezt nevezik null-modem megoldásnak. Ez így összekötött gépek között valamilyen programmal valósítható meg a kapcsolat. Az összekapcsolás módját a 24. ábra vázolja.
 
 


24. ábra. Null-modem kábelezés


25. ábra. Két számítógép soros vonalon történő összekapcsolásának lehetőségei

Áraminterfész
Az RS-232C protokoll nem használható nagy távolságok áthidalására, valamint zavart környezetben csak korlátozott sebességű kapcsolat hozható létre. Ilyen esetekben előfordulhat az is, hogy a kábelben indukálódó feszültség ellen védeni kell a számítógép egységeit. Erre jó módszer az optikai úton való leválasztás. A nagyobb távolságok áthidalására feszültségszintek helyett (mivel az meglehetősen zavarérzékeny) áramhurkot használnak. Ilyen kialakításban az adó és a vevő mindkét adatirányban egy-egy vezetékhurokkal van összekapcsolva. Az adó logikai 1 információ küldésekor 20mA-es áramot kényszerít a hurokba, amelyet a vevő képes érzékelni. Ebből következik, hogy az információt az áram megléte, illetve hiánya hordozza. A vezeték sodrott érpár, a jó zavarérzéketlenség miatt.

A maximálisan áthidalható távolság akár 1 km is lehet, az adatátviteli sebesség kissé korlátozott, 9600 bit-s körüli érték.

Az áraminterfészt az RS-449-es "szabványgyűjteményben" szabványosították. Több különböző módszer alakult ki az átvitel megvalósítására, amelyekre most nem térünk ki, a szakirodalmakban megtalálhatók. Az egyik leggyakrabban használt megoldás az RS-485 megnevezést kapta. Ez szimmetrikus átvitelt valósít meg, a vonalon több adó és vevő lehet, ezek között egy vezetékpáron a kapcsolat fél-duplex. A duplex kapcsolat kialakításához négy vezetékre van szükség.

A digitális jelek kódolása

Bitcsoportok kódolása
A digitális átvitel során a logikai biteket valamilyen módon ábrázolnunk kell. A legegyszerűbb ábrázolásnál a két szintnek két feszültségértéket feleltetünk meg. Ettől eltérő kódolási eljárások is ismertek, a továbbiakban a leggyakoribb módszereket tekintjük át.

A kódolási eljárások meghatározásánál több szempont szerint kellett a feladatot elvégezni:

  • Minél kisebb a kódolás sávszélessége, annál több csatornára lehet egy vonalat felosztani. A sávszélesség a jelváltások számának a függvénye.
  • Minél kevesebb azonban a váltások száma, az adó és a vevő szinkronizálása annál nehezebben valósítható meg.
  • Fontos, hogy a jelek kis egyenfeszültségű összetevővel rendelkezzenek, mivel az egyenfeszültségű jelek jobban gyengülnek, ami az átviteli távolság csökkenését vonja maga után.
Nullára nem visszatérő (Non Return to Zero, NRZ) kódolásnál mindig az a feszültségszint van a vonalon, amelyet az az adott bit meghatároz. Ez nagyon egyszerűen megvalósítható kódolás. Sok váltást tartalmazó csomagoknál jó megoldás, azonban ha a sok egyforma bit van egymás után, akkor a vonal állapota is azonos szinten marad. Ez a szinkronizációt nagyon megnehezítheti.


26. ábra. NRZ kódolás

Nullára visszatérő (Return to Zero, RZ) kódolás az előzőhöz képest annyi változást tartalmaz, hogy a 0 szintet 0V, az 1 szintet viszont a bitidő felében +V, a félében pedig 0V jelenti. A működés a 27. ábrán nagyon jól nyomon követhető.


27. ábra. Az RZ kódolás

Nullára nem visszatérő megszakadásos (Non Return to Zero Invertive, NRZI) módszernél a 0 bitnek 0V felel meg. A logikai 1 értékű a bit, akkor 0 szint lesz, ha az előző 1-es +V volt és +V szintű lesz, ha az előző 0 szintű volt. A logikai 0 utáni első 1-es értéke mindig +V lesz.


28. ábra. Az NRZI kódolás

Váltakozó MARK invertálás (Alternate Mark Inversion, AMI) kódolás már szimmetrikus feszültséget használ, a működése pedig az NRZI kódoláséhoz nagyon hasonló. Minden logikai 1 értékű bit szintje az előző 1-esének az ellentetje.


29. ábra. Az AMI kódolás

A Nagy sűrűségű bipoláris 3 (High Density Bipolar 3, HDB3) kódolás az AMI módszerrel azonosan működik, de itt már beépítették a hosszú logikai 0 sorozatok kezelését is. Abban az esetben, ha a 4 egymást követő 0 szintű bit van a csomagban, az utolsó 0 bitet kicserélik olyan szintűre, mint ami az előző 1-eshez volt rendelve. A vevő ezt a plusz információt automatikusan képes eltávolítani. Annak érdekében hogy ne legyen egyenfeszültségű összetevő, a következő ilyen csoportban az első nullát kicseréljük az előzőleg cserélt bittel ellentétes szintűre. A módszer jól nyomon követhető a 30. ábrán.


30. ábra. A HDB3 kódolás

A Manchester kódolást (Phase Encode, PE) nagyon gyakran használják, az Ethernet hálózatok ezt a kódolási eljárást alkalmazzák. Itt a biteket nem jelszintek, hanem a jelváltások iránya határozza meg. A lefutó él a logikai 0, a felfutó pedig a logikai 1 szintet jelöli. Amennyiben az egymást követő bitek azonos értékűek, akkor a jelnek a bitidő felénél vissza kell térnie az előző szintre. A módszer alkalmas akár mágneses jelrögzítésre is.


31. ábra. A Manchester kódolás működése

Karakterek kódolása
A karakterek ábrázolására készítették el az ASCII kódtáblázatot. Ebben minden, az angol nyelvben szereplő karakterhez egy bináris kódsorozat tartozik. Természetesen külön kell beszélni a kis- és a nagybetűkről. Az ASCII táblában minden karakternek 7 bites bináris sorozat felel meg. Nem volt szükség a 8. bitre, mivel 7 bittel is minden angol karakter ábrázolható. Mivel nincs 128 ábrázolható karakter az ABC-ben, ezért kiegészítő karakterek ábrázolására is lehetőség nyílik. A táblázatban a két karaktercsoportot különböztethetünk meg:
  • A grafikus karakterek csoportjába tartoznak mindazok a karakterek, amelyeket a képernyőn meg lehet jelenteni.
  • A vezérlőkarakterek csoportja is meglehetősen népes, hasonlóan a grafikus karakterekéhez. Az itt szereplő karakterekről általánosságban elmondható, hogy a számítógép számára hordoznak a működésükre vonatkozó információkat. Ennek a csoportnak három alkategóriáját különböztethetjük meg:
  • Információcsere vezérlőkarakterek az információ átvitelében vesznek részt.
  • Formátum befolyásolókkal lehet az képernyőn megjelenő karakterek formáit megváltoztatni.
  • Információ elkülönítők az információk logikai értelemben történő elkülönítésére szolgálnak.
Az eredeti ASCII kódtáblában nem volt lehetőség az egyes nyelvekben szereplő speciális karakterek ábrázolására. A megoldást a 8. bit bevonása jelentette, így 128 további karakter definiálására volt lehetőség. Így minden nyelv számára lehetőség volt kialakítani a saját kódtábláját. A kompatibilitás az ASCII-vel megmaradt, hiszen az alső 128 bit nem változott. A megoldás hátránya, hogy nincs lehetőség egy szövegben eltérő nyelvi részek elkészítésére.

1987-ben a XEROX cég kifejlesztett egy új karakterkódolási rendszert, amelyben már 16 biten ábrázoltak egy karaktert. Ez 65536 különböző variációt jelent. A kialakított kódolás a Unicode nevet kapta. Az ábrázolás lehetővé teszi a világ összes nyelvének a karaktereinek az ábrázolását. Így az előző bekezdésben említett korlát megszűnt. Mint minden új technikával, ezzel is az volt (illetve még napjainkban is az), hogy nem támogatták megfelelően. A programozóktól teljesen más szemléletet kívánt. Az elsők között volt a Microsoft Office 97 programja. Ma már egyre több program és operációs rendszer támogatja ezt a kódolási módszert.

Az analóg átvitel

Az analóg jelek időben folyamatosan változnak. Általában elmondhatjuk róluk, hogy periodikusak, azaz bizonyos időközönként ismétlődnek. Nagyon fontos, hogy a nagyságuk (amplitúdó) két szélső határ között bármilyen értéket felvehetnek. Az ilyen jeleknek három tulajdonsága van, amely adatátvitelre felhasználható.
  • Frekvenciája, vagy periódusideje: az az időtartam, amely elteltével a jel megismétlődik.
  • Amplitúdója: az analóg jel nagyságát határozza meg. Az analóg jelek amplitúdója tetszőleges értéket felvehet két határérték között.
  • Fázisszöge: annak az időnek az értéke, amikor az analóg jel amplitúdója 0.
Az analóg jelek kezelése meglehetősen bonyolult. A fenti felsorolásban látható, hogy a jellemzők meglehetősen széles tartományban mozoghatnak. Meg kell oldani, hogy az információt képesek legyenek továbbítani. A számítógépek digitális jelekkel dolgoznak, ezeket kell analóg úton továbbítani a másik számítógéphez. A megoldás az analóg jel valamely jellemzőjének a megváltoztatása a digitális információnak megfelelően. Ezt a műveletet nevezzük modulációnak. A vevő oldalon értelemszerűen vissza kell alakítani a digitális információt. Ez a folyamat a demoduláció. A különböző modulációs eljárásokat a 32. ábrán vehetjük szemügyre.
 


32. ábra. Különböző modulációs eljárások.

  • Az amplitúdómoduláció során az analóg jel amplitúdóját változtatják meg a digitális jelnek megfelelően. A művelet egyszerű, más amplitúdó értéket rendelnek a logikai 0 és mást a logikai 1 szinthez. Például a logikai 0 bitnek 0V-os, a logikai 1-nek pedig 5V-os amplitúdóérték felel meg.
  • Hasonlóan képezzük az analóg jelet a frekvenciamoduláció során is. Itt a két logikai értékhez más-más frekvenciaérték tartozik. A két frekvencia között megfelelően nagy különbségnek kell lenni a biztonságos érzékelés érdekében. Általában 1-2 nagyságrend a két érték közötti különbség.
  • A fázismoduláció is hasonló elven alapszik. Ebben az esetben a jel fázisszögét módosítják a digitális jelnek megfelelően.
Bizonyos esetekben előfordulhat, hogy egy analóg jel több jellemzőjét is modulálják. Ennek az előnye, hogy egyszerre több bit átvitelére nyílik lehetőség.