2
I C, RS-232 és USB
Informatikai eszközök fizikai alapjai
Oláh Tamás István 2015.04.08
2
Az I C Busz Phillips által kifejlesztett kétvezetékes szinkron adatátviteli eszköz integrált áramkörök összekapcsolására (1982). A két vezeték: SCL (órajel) és SDA (adat)
forrás:raspberrypi.znix.com
forrás:hobbielektronika.hu
2
Az I C néhány jellemzője két vonalat használ az SCL szinkronjel (órajel) és SDA adatjel ●Kommunikáció csak akkor indítható, ha a busz nem foglalt, hanem tétlen (idle). A tétlen állapot jellemzője, hogy egy STOP feltételt követően mind az SDA, mind az SCL vonal magas szinten van (nincs aktív kimenet). ●Mindegyik csatlakoztatott eszköz címezhető egy egyedi címmel. ●Soros, 8-bit-es, kétirányú adatforgalom, melynek maximális sebessége normál üzemmódban (standard mode) 100 kbit/s, gyors üzemmódban (fast mode) pedig 400 kbit/s. Az újabb eszközök között van olyan, amelyik ún. nagy sebességű (high-speed mode) módban is képes működni, maximum 3,4 mbit/s sebességgel. ●Az egy buszra csatlakoztatható eszközök számát csak a busz kapacitása korlátozza, ami maximum 400 pF lehet. ●A kommunikáló eszközök között egyszerű master/slave kapcsolat áll fenn. Mindig a master kezdeményezi és vezérli a kommunikációt (a master szolgáltatja az órajelet) és a master képes adóként és vevőként is üzemelni. ●
forrás:hobbielektronika.hu
Az I2C felépítése Vezérlő regiszterek (SSPCON1, SSPCON2) ●Státusz regiszter (SSPSTAT): Ez a regiszter az állapotjelző biteket tartalmazza ●Adatbuffer (SSPBUF): Adatvételnél bufferként működik,amelyből a beérkező adatot kiolvashatjuk. ●Ki/bemeneti adatregiszter (SSPSR): Shift regiszter, ami az adatok bitenkénti kivagy beléptetésére szolgál. ●Cím regiszter (SSPADD): Slave módban ez a regiszter tárolja a címet. ●címdetektáló áramkört, START és STOP feltételt detektáló áramkört, vezérlő áramkört, valamint ütemjel (baud rate) generátort is tartalmaz. ●
forrás:Picmicro 18 c reference manual
RS-232
Recommended Standard 232 C Electronic Industries Association létrehozott szabványt 1962 (1969 C) adatátvitel aszinkron soros átvitel a számítógép adatvég berendezés (DTE) a modem, adatáramköri végberendezés (DCE) között zajlik az RS232 szabvány szerint.
forrás:Picmicro 18 c reference manual
A DTE-DCE egységeket összekötő vezetékrendszer mechanikus csatlakozója. A dugós rész a DTE-n a hüvelyes rész a DCE-n helyezkedik el.
forrás:brainboxes.com
forrás:artekit.eu
forrás:wifimarket.eu
A megegyezés 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.
●
●
●
● ●
●
●
Amikor a számítógépet vagy a terminált bekapcsolják, az aktiválja az Adatterminál kész, (Data Terminal Ready) jelet (20). Amikor a modemet kapcsolják be, akkor a modem az Adat kész jelet (Data Set Ready) (6) aktiválja. Ha a modem vivõjelet érzékel a telefonvonalon, akkor a Vivőérzékelés (Carrier Detect) jelet (8) aktiválja. Az Adáskérés (Request to Send) (4) jelzi, hogy a terminál adatot akar küldeni. Az Adásra kész (Clear to Send) (5) azt jelenti, hogy a modem felkészült az adatok fogadására. Az adatok adása az Adás (Transmit) vonalon (2), vétele a Vétel (Receive) vonalon (3) történik. adatátviteli sebesség kiválasztása, modem tesztelése, adatok ütemezése, csengetõ jelek érzékelése stb. nincs feltüntetve.
Aszinkron Soros átvitel Az aszinkron soros átvitelnél a bitcsoportos átviteli mód biztosítja az ADÓ és a VEVŐ szinkronizmusát. A bitek küldése a START bittel kezdődik. 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 szintű. Az adatátvitel kezdetekor az ADÓ a vonalat egy bit átvitelének idejéig alacsony szintre állítja ( 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 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.
forrás:kónya László számítógép hálózatok
USB
Univerzális Soros Busz Motiváció PC-t összekötni a telefonnal, könnyű használat (plug and play), sokféle csatlakozó helyett egy olcsó megoldás ami minden eszközhöz jó. Compaq, DEC, IBM, Intel, Microsoft, NEC, Northern Telecom összefogott, és kidolgozta az USB (Universal Serial Bus) specifikációját. 1.0 1995 2.0 2000 3.0 2009 Átviteli sebességek Low speed: 1,5 Mbps, USB-1.1, USB-2.0, USB-3.0 ● Full speed: 12 Mbps, USB-1.1, USB-2.0, USB-3.0 ● High speed: 480 Mbps, USB-2.0, USB-3.0 ● Super speed: 5 Gbps USB-3.0 ● Super speed+: 10 Gb/s USB -3.1 ●
Az USB közös hozzáférésű, lekérdezés alapú, csillag topológiájú perifériahálózat. Az egyes perifériák csak a központi vezérlőtől, a hosttól kapott engedélycsomag - a token - birtokában küldhetnek vagy fogadhatnak adatot. A hálózaton csak egy host lehet. A host szempontjából a perifériák egyenrangúak. Minden perifériának külön saját címe van: egy 1 és 127 közé eső szám; a host ezzel szólítja meg őket. Az USB soros kommunikációt valósít meg. A perifériák csatlakoztatására használt vezeték négy eret tartalmaz. Ezek közül kettő a föld és a tápfeszültség (VBUS = +5 V), a maradék kettő pedig egy sodrott érpár, amelyeken az adatot differenciális jel formájában (D+ és D-) továbbítjuk.
Kivezetés 1 2 3 4
Vezeték színe Funkció Piros VBUS (+5V) Fehér DZöld D+ Fekete GND
csillag topológia
Forrás : USB_2.0.pdf
USB kommunikáció - alkalmazási szinten Az USB specifikációja nemcsak a hardver követelményeket írja le, hanem az USB adatvonalain folyó kommunikáció rétegeit is. Minden USB tranzakció keretezett csomagokból áll, az adatátvitel hibamentességét CRC ellenőrző kód segítségével állapíthatjuk meg. Minden USB tranzakció az alábbi csomagokból áll: ● ● ●
Token csomag (amelyik jelzi, hogy mi következik) Opcionális adatcsomag Státusz csomag (amelyik jelzi, hogy sikeres volt-e a vétel és így lehetőséget ad a hibajavításra)
Az USB kommunikáció host központú, tehát a host eszköz kezdeményez minden tranzakciót. A tranzakció a másik oldalon mindig egy úgynevezett "végpontban" (endpoint) ér véget. A szoftver szinten ezek a "végpontok" egy-egy adatbuffert jelentenek, ahol keletkeznek vagy célba érnek az adatcsomagok. A host felől érkező adatcsomagot az USB eszköz firmware programja olvassa ki a megfelelő végpont adatbufferéből és valósít meg egy USB funkciót egy. Fordított irányban a firmware beírja az adatot a megfelelő végpont bufferébe, s az adat ott várakozik, amíg a host ki nem ad egy IN parancsot, melynek hatására az USB vezérlő kiküldi az USB buszon keresztül a hostnak az adatcsomagot. Egy eszközön belül több végpont is lehet, amelyek különféle funkciót látnak el.
Az USB busz átviteli protokoll a perifériák különféle igényeinek megfelelően négyféle működést valósíthat meg, ennek megfelelően az átvitelt, illetve az érintett végpontot az alábbi típusok valamelyikébe soroljuk be: vezérlés átvitel (control transfer): rövid, a hoszt által kezdeményezett, kétirányú forgalom, általában parancs kiküldés-állapot-visszajelzés formájú, a periféria konfigurálására és állapotának lekérdezésére szolgál; ●megszakításos átvitel (interrupt transfer): itt olyan valós idejű egyirányú átvitelről van szó, amelyben időről időre viszonylag nem túl sok adatot kell továbbítani ●állandó sávszélességű átvitel (isochronous transfer): ilyen például valós idejű digitális hangtovábbítás ●nagy tömegű adatátvitel (bulk transfer): nagy adattömeg egyirányú, nem időkritikus átvitele, szükség esetén félbeszakítható és folytatható, például: folyamatos, egyirányú, nyomtatónak küldött vagy lapolvasótól érkező adatok. ●
A vezérlésátvitel a 0-ás sorszámú végponton (EP0) keresztül történik, ezt minden USB eszközben ki kell alakítani. A többi végpont kialakítása opcionális, az eszköz típusától függ. A 0. végponton át folytatott párbeszédben közli az eszköz a host-tal a többi végpontjának jellemzőit (végpontok száma, bufferméret, sávszélesség igény, átvitel típusa).
Az NRZI kódolás Az USB adatvezeték-páron differenciális jeleket továbbítanak. Az adatokat NRZI kódolással és bitbeszúrásos módszerrel teszik alkalmassá az adatfolyamként történő továbbításra. Az NRZI (Non Return To Zero Inverting) kódolás azt jelenti, hogy adatküldéskor a vezetékek mindig nullától különböző potenciálon vannak. A differenciális ‘1’ továbbításához a D+ vonalat 2.8 V-nál magasabb szintre húzzuk, A D- vonalat pedig 0.3 V alatti szintre húzzuk. A differenciális ‘0’ továbbításánál pedig megfordítva: itt a D- vonal jelszintje nagyobb, mint 2.8 V a D+ vonalé pedig kisebb, mint 0.3V.
Low speed
Full speed
High speed
Az USB 3.1 kábel
forrás: USB_3.1.pdf
Köszönöm a figyelmet!
Felhasznált irodalom www.hobbielektronika.hu esca.atomki.hu www.usb.org http://szabilinux.hu