Karakter alapú soros interfészek

Innen: HamWiki
Ugrás a navigációhoz Ugrás a kereséshez

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.

RS-232-E

RS232 logikai és fizikai jele

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.