Vissza
Buszok
RS-232
Recommended Standard 232 (1969)
Valószínűleg a legismertebb (és sokáig a legelterjedtebb) soros kommunikációs szabvány a világon.
A fogyasztói elektronikában mára teljesen kiszorította az USB (Universal Serial Bus), de műszaki fejlesztéseknél, iparban és hobbi célra egyaránt
alkalmazzák még egyszerűsége és flexibilitása miatt (utóbbi úgy is értendő, hogy a szabvány részleges betartásával is működő eszközök készíthetők).
A szabvány meghatározza a következőket:
Elektromos paraméterek, mint pl. feszültségszintek, időzítés, slew-rate, rövidzárásvédelem, maximális terhelési kapacitás.
Interfész mechanikus adatai: csatlakozók alakja és kiosztása.
Interfész áramkör és vezetékek funkciói. Szabványos al-áramkörök választott távközlési célokra.
A szabvány nem határozza meg:
Karakterkódolás.
Keretezés (hány bit per karakter, mekkora stop bit, paritásbit).
Hibakezelő és tömörítő algoritmusok.
Bitsebességet (bár eredetileg 20kbps alattit javasol, mára 115,2kbps is van).
Tápellátó vezetéket.
A kommunikációt, beleértve a keretezést, egy UART (Universal Asynchronous Receiver Transmitter) nevű hardver ("soros port") valósítja meg. A szabvány
későbbi verziói szinkron kommunikációt is lehetővé tesznek, az erre képes eszköz az USART. A feszültség- és áramszintekért, a jelváltozási sebességért
egy vonali meghajtó (line driver) eszköz felel, ez alakítja át a pl. a TTL jelszinteket (0-5V) a +-12V szintekre. (Ilyen IC például a Max232, amit
mikrokontrollerekhez is használhatunk.)
Főbb jellemzők:
- Aszinkron kommunikáció, az egyes karakterek tetszőleges idővel követhetik egymást, nincs órajel vezeték. A karakter kezdetét a Start Bit, végét a Stop bit jelzi.
- NRZ kódolás (Non return to zero): +-12V feszültségszintek jelzik a logikai 0-1 szimbólumokat, az egyes szimbólumok után nem tér vissza a feszültség nullára.
- Alacsony bitsebesség (kisebb, mint 115kbps).
- Eredetileg 25 és 9 tűs csatlakozókat definiáltak, ebből a 9 tűs maradt fenn. Alapvetően csak az RX, TX és GND vezetékek szükségesek, a többi segítségével
lehet vezérlést, kézfogásos kommunikációt megvalósítani (ellenőrizni, hogy átment-e az adat).
I2C
Inter-integrated Circuit
Philips fejlesztés.
Főbb tulajdonságai:
- Több master és több slave lehet
- 2 vezeték
- Open drain rendszerű
- Van címzés (adatbuszon): 7 bites cimtartomány, 16 félretett cím, 112 használható cím
- Master és slave szerepek felcserélhetőek egy forgalmazás után
- Sebesség: 10/100kbps először, majd 1..3,4Mbps is megjelent
- 400pF kapacitás, néhány méter távolságot tud áthidalni max.
- Byte szervezésű
Vezetékek:
- SCL: Serial Clock
- SDA: Serial Data
Open drain rendszer:
Marad a két logikai állapot a kimeneteken. Az adatvezeték egy felhúzó ellenállással (pull-up resistor) a magas szintre (pl. 5V) van kötve.
Logikai magas szintnél a kimenet nagyimpedanciás lesz (lényegében leválasztja), ilyenkor az ellenállás magas szintre húzza a buszt.
Logikai alacsony szintnél a kimenet lehúzza nulla szintre a buszt.
Ez az egyik lehetséges megoldása a kettőnél több eszközt összekötő buszok megvalósításának, a másik a háromállapotú (tri-state) kimenet, lásd SPI-nél.
Üzenetküldés módja:
- Master küld egy Start bitet, majd 7 bites címet, majd 1 bit jelzi hogy írás vagy olvasás műveletet akar-e (read/write)
- Slave küld egy nyugtázó (ACK, acknowledge) bitet
- Read-write bitnek megfelelően a master ír és slave olvas, vagy slave ír és master olvas, 8 bitet. Minden byte után egy ACK bitet küld a fogadó fél.
- Üzenetváltás végén master küld egy Stop bitet.
Speciális funkciók:
- clock stretch: slave visszatarthatja alacsony szinten az órajelet, ezzel jelezve master-nek, hogy nincs még kész a művelettel
- arbitration: ha két master egyszerre akar adni, eldönti a prioritást
Előnyök: csak két vezeték kell, egyszerű, van címzés, várakoztatás, prioritás, kézfogás
Hátrányok: alacsonyabb sebesség, fix 8 bites, eszközök előre kiosztott címe ütközhet
SPI
Serial Peripheral Interface Bus
Motorola fejlesztése, nem szabványosított
Felhasználási területe: rövid távú soros kommunikáció pl. mikrokontroller és perifériák között (LCD,EEPROM,RAM,ADC,DAC,szenzorok)
Főbb tulajdonságai:
- Szinkron soros átvitel
- 4 vezetékes
- Full duplex (egyszerre két irányú kommunikáció)
- 1 master és sok slave lehet
- Nincs adatformázás (keretezés), szoftveres címzés, hibakezelés, kézfogás (eszközök nem tudnak jelezni, hogy elkészültek-e).
- A címzés hardveres. Az átküldött adat akárhány bites lehet (pl. 8, 12, 16).
Vezetékek:
- SCLK: serial clock: órajel, master indítja a küldés előtt és állítja le utána (nem kell mindig mennie)
- MOSI: master out - slave in: master ezen küldi slave-nek az adatot
- MISO: master in - slave out: slave ezen küldi masternek az adatot
- SS negált: slave select: annyi ilyen kimenet kell masteren, ahány slave van, ezzel címzi meg az aktuális slave-t. Általában lefutó élre aktivizál. Minden slave-n egy SS bemenet van.
A vezetékek az azonos nevű lábakat kötik össze (miso-miso, mosi-mosi), így nincs keveredés (létezik láncba (daisy chain) kötés is, ekkor nem így van, de ez ritka).
Ha multi-slave konfig van, akkor a slave-k MISO kimenete tri-state kell legyen, vagyis háromállapotú, a logikai 0-1 mellett a harmadik állapot egy nagyimpedanciás, lényegében leválasztott állapot.
Ilyenkor nem terheli a másik oldalt. Ez azért szükséges, mert ugyanarra az adatvezetékre csatlakozik mindegyik, így az egyik kimenete meghatározná a többiét is.
Üzenetküldés módja:
- Master beállítja az órajelet (SCLK).
- Master a Slave Select vezetéket alacsony szintbe húzza, ezzel megcímzi a slave-t.
- Ha tudjuk előre, hogy a slave lassan reagál, akkor ide programozunk egy késleltetést master-nek (ugyanis nincs visszajelzés, hogy slave elkészült).
- Master küld egy bitet MOSI-n, slave beolvassa.
- Slave küld egy bitet MISO-n, master beolvassa.
- Előző két pontot egyszerre hajtják végre (full duplex). Ismétli annyiszor, ahány bitet át akar vinni.
- Ha vége, master leválasztja SS-t majd SCLK-t.
Gyakori megoldás, hogy az eszközökben shift-regiszter van. A master regiszter MSB-je (most significant bit) megy a MOSI-re, ez megy a slave regiszter LSB-jébe.
Közben a slave regiszter MSB-je megy a MISO-re, ez kerül a master regiszter LSB-jébe. Tehát egy körbe-shift-regiszter valósul meg, az adatok körbejárnak.
Így x bitnyi kommunikáció után pontosan megcserélődik a két regiszter tartalma.
Az órajelnek lehet kétféle fázisa és polaritása (melyik élre reagál és melyik fázisban a rendszer), ez alapján négyféle üzemmód lehetséges.
Előnyök: full duplex, nagy sebesség, tetszőleges szóhossz, egyszerű, master adja órajelet.
Hátrányok: két adatvezeték (vs. I2C), ha sok a slave, sok SS vezeték kell, nincs hibakezelés, folyamatirányítás.
CAN
GPIB