Karakter alapú soros interfészek
Alábbiakban a legfontosabb, ipari jelentőséggel is bíró karakter orientált soros interfészek lettek összegyűjtve. A csomag orientált alacsonyszintű interfészek külön szócikkben találhatók.
Tartalomjegyzék
RS-232-E
A legnépszerűbb interfész rádió és egyéb berendezés illesztésére. Már az 1960-as években használták. Nagyobb népszerűségnek az 1969-ben kiadott RS-232-C szabvány örvendett. De 1987-ben kiadták az RS-232-D szabványt, majd 1991-ben az RS-232-E szabványt.
Elterjedését egyszerűségének köszönheti. A szabványos RS-232 ±12 V-os jelszinttel dolgozik, így a +5 V-os áramkörhöz illeszteni kell. Alapjában véve elmondható, hogy egy EIA-232 RxD és TxD lábat leszámítva 2 bitszinten programozható kimenete és 4 bitszinten lekérdezhető bemenete van. Az RxD és TxD lábak 50, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 baud-ra programozhatók fel.
A fenti szimbólumsebességgel kiadott jel az ábrán látható módon épül fel:
- Startbittel kezd, amely a stopbittel (illetve a várakozó állapot jelszintjével) ellentétes irányú
- A startbit után a beállításától függően 5,6,7,8 bitnyi adatot továbbít
- Az adatok után vagy van paritásbit, amely értéke páros vagy páratlan lehet, vagy nincs. Ez beállítás kérdése. A paritásbit az előttel küldött adatbitek egyetlen hibáját képes detektálni.
- Végezetül a stopbit következik, amely minimális hossza beállítástól függően 1 vagy 2 bitidőnyi. Amennyiben nincs újabb küldendő karakter, akkor a vonal ezen a jelszinten marad.
Alább a soros port csatlakozójának lábkiosztása látható:
Láb | Neve | Végberendezés ki/bemenet |
Felhasználása |
---|---|---|---|
1 | DCD (Data Carrier Detected) | bemenet | A kommunikációs eszköz jelezheti a végberendezésnek, hogy adatot vesz. Gyakorlatban alig használt láb. |
2 | RxD (Receive Data) | bemenet | A végberendezés EIA232 szabványú adatbemenete. |
3 | TxD (Transmit Data) | kimenet | A végberendezés EIA232 szabványú adatkimenete. |
4 | DTR (Data Terminal Ready) | kimenet | A végberendezés üzemkész. Felhasználható például a kommunikációs eszköz energiatakarékos módra kapcsolására. |
5 | GND (Ground) | föld | Földelő vezető - amely nem azonos az árnyékolással. Utóbbit csak egyik oldalon illik összekötni a csatlakozó fémes részével. |
6 | DSR (Dataset Ready) | bemenet | Kommunikációs eszköz üzemkész (bekapcsolva). |
7 | RTS (Eredetileg: Request to Send Napjainkban: Ready For Receiving) |
kimenet | RTS-CTS hardveres adatfolyamvezérlésre tervezve, |
8 | CTS (Clear to Send) | bemenet | azaz ha a végberendezés foglalt, akkor ezzel a lábpárral megakaszthatja az adatáramlást. |
9 | RI (Ring Indicator) | bemenet | Az adatkommunikációs berendezés figyelmeztetheti a végberendezést például csengetésre vagy CTCSS zajzár kinyitására |
Adatátvitelhez például két végberendezés között minimálisan az RxD-TxD és TxD-RxD összeköttetés szükséges. Ha adatfolyam-felfüggesztésre is szükségünk lehet, akkor vagy Xon/Xoff protokollt választunk, aholis a 0x11 az oké, a 0x13 pedig a várj (Xoff) parancs. Ezen értékű adatbyte-oket helyettesíteni kell az adatfolyamban.
Adatfolyam-vezérlésre a másik igen elterjedt megoldás az RTS-CTS összeköttetés. A foglalt eszköz RTS lábon keresztül megakaszthatja a DCE eszközt. A DCE pedig a CTS láb segítségével jelezheti a DTE-nek, hogy foglalt.
Érdekessége, hogy kezdetben karakterenként nyugtáztattak az RTS és CTS lábakkal, de ez az idők folyamán teljesen megváltozott - így mára már csak a neve örzi az eredeti funkcióját. A kétirányú adatfolyam felfüggeszthetőség csak 1991-ben, az RS-232-E szabvánnyal lépett színre. Előtte csak a kommunikációs eszköz (DCE) volt képes megakasztani a végberendezést (DTE-t). Az RTS/CTS lábak logikai 0 szinten jelzik az adatfogadási készséget, logikai 1 szinten a várakoztatást. A logikai 0 a pozitív, a logikai 1 a negatív tápfeszültség.
Rádióamatőr felhasználása a fenti csatlakozásnak:
- DTR bitszinten programozható kimenet, így a Baycom típusú modem esetén az adott jelszint (H/L) ezen lábon hagyta el a végberendezést.
- CTS a lábára adott jelszintet reprezentálja szoftver oldalról, így a Baycom típusú modem estén a pillanatnyi jelszint (H/L) átvételére alkalmas.
- RTS bitszinten programozható kimenet. Gyakran rádiókészülék adás-vétel (PTT) vezérlésre használjuk.
Az RS232 eredetileg két eszköz közt alkalmas adatcserére. Ha több eszközt szeretnénk meghajtani, akkor gyűrü topológiával lehet kialakítani, azaz az egyik eszköz amit vesz és nem neki szól, azt már adja is tovább a mögötte levő eszköz felé. A legutolsó eszköz után pedig a TX-et az RX felé visszahurkolva opcionálisan záródhat a gyűrü. Természetesen a gyűrüs elrendezésre az eszközöknek is alkalmasaknak kell lenni. Lásd KISS eszközök token ring-es változatát.
Pszeudó terminál
Főként Linux/UNIX klónokban találkozhatunk ezzel a kifejezéssel. Ez egy olyan virtuális soros port, melynek „belső” és „külső” része egyaránt szoftveroldalon van.
Hogyan működik? Ezt egy igen jó példán keresztül mutatjuk be:
- akaszkodjunk rá egy tetszőleges alkalmazással (minicom -s) példáult a /dev/ptyr5 pszeudó terminálra.
- majd csatlakozzunk rá egy másik RS232-t igénylő alkalmazással (például: minicom -s) a /dev/ttyr5 interfészre.
Ekkor amit az egyik soros terminálprogramon (minicom) begépeltünk, azt a másikban látjuk, mivel a fenti megoldás ugyanaz, mintha a /dev/ttyS0 (== COM1) soros csatlakozóra küldtük volna az információt, ami egy nullmodemkábellel össze van kötve egy másik számítógéppel, ahol szintén egy terminálprogram fut.
Mire használható?
- szoftvertesztelésre, hisz az RS232 „külvilági” párja is ugyanebben a számítógépben lehet szoftverből emulálva.
- több azonos, soros porton keresztül egymással kommunikálni vágyó szoftver számítógépen belüli összekötésére
Rádióamatőr csomagrádió esetén KISS csomagok több alkalmazás közt történő szétosztására kissnetd programocska segítségével.
RS-422
Az RS232-vel ellentétben ez szimmetrikus érpárral dolgozik, ezáltal kevésbé zavarható, nagyobb távolságra vezethető el. RS232 konvertálható speciális meghajtó IC-vel RS422-re.
RS-485
Az RS422 továbbfejlesztése. Sokállomásos címzett soros busz fejleszthető ki segítségével.
I2C (I2C, IIC)
Áramkörön belül kedvelt átviteli eljárás. Alapja egy nyitott kollektoros (OC) meghajtóáramkör. A buszt ellenállás húzza fel a tápfeszre. A master a címzés során az egyik bit állapotával figyelmeztet a címzést követő adatáramlás irányára. Több slave eszköz is felfűzhető.
IC-k közötti egyszerű adatátvitelre használják.
SPI
Szikron busz. Egy adás, egy vétel és egy órajel lábbal. A master adja az órajelet. Egészen addig, amíg ki nem ment a 8 bitnyi adat. Közben vesz 8 bit adatot. Hogy hasznos vagy felesleges adatot vett-e, azt egyéb módon kell az adatfolyamban jelezni.
IC-k közti nagysebességű adatátvitelre használják.