Soros port

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2014. március 26-án áttekintett verziótól ; az ellenőrzések 69 szerkesztést igényelnek .

A soros port ( angol.  soros port , COM port [1] , angol  kommunikációs port ) az RS-232 szabvány interfészének szleng neve , amelyet tömegesen szereltek fel személyi számítógépekkel . A portot "soros"-nak nevezik, mivel az információ egy biten keresztül, bitenként továbbításra kerül (a párhuzamos porttal ellentétben ). Annak ellenére, hogy egyes számítógépes interfészek (például Ethernet , Firewire és USB ) soros információcserét is használnak, a "soros port" nevet az RS-232 szabvány portjához rendelték .

Időpont

A személyi számítógépek soros portjának leggyakrabban használt szabványa az RS-232C. Korábban a soros portot használták terminál csatlakoztatására, később modem vagy egér csatlakoztatására . Jelenleg szünetmentes tápegységekhez való csatlakozásra, beágyazott számítástechnikai fejlesztési hardverekkel , műholdvevőkkel, pénztárgépekkel, programozókkal, létesítménybiztonsági eszközökkel és sok más eszközzel való kommunikációra használják.

A COM port segítségével két számítógépet csatlakoztathat az úgynevezett "null modem kábel" segítségével (lásd alább). Ilyen kábelt az MS-DOS óta használnak a fájlok egyik számítógépről a másikra való átvitelére, UNIX-ban a terminál eléréséhez egy másik géphez, Windowsban pedig (akár modern) kernel szintű hibakeresőhöz.

A technológia előnye a berendezés rendkívüli egyszerűsége. Hátránya az alacsony sebesség, a nagy csatlakozók, valamint az operációs rendszer és az illesztőprogram válaszidejének gyakran magas követelményei, valamint a nagyszámú megszakítás (egy a hardveres várakozási sor feléért, azaz 8 bájt).

Csatlakozók

Vezető gyártók alaplapjain (például Intel ) vagy kész rendszereken (például IBM , Hewlett-Packard , Fujitsu Siemens Computers ) a COM vagy az RS-232 szimbólumot alkalmazzák a soros portként.

A leggyakrabban használt D-alakú , 1969 -ben szabványosított csatlakozók : 9 és 25 tűs, (DE-9, illetve DB-25). Korábban DA-31 és kerek nyolc tűs DIN-8-asokat is használtak. Egy tipikus port maximális adatátviteli sebessége 115200 baud .

Relevancia

Az IBM PC-kompatibilis számítógépekben elterjedt RS-232 interfész nem alkalmas szórakoztató és irodai feladatokra, de az alkalmazott feladatokban széles körben használják, így a modern alaplapok régi interfészeinek örökségétől való megszabadulási kísérletek kudarcra vannak ítélve. A PC99 specifikáció  a beváltás egyik sikertelen példája az "elavult" berendezések nagyszabású cseréjéről. Írnak róla , hogy "már elavult és pusztán történelmi jelentőségű", és virágzik az "elavult" berendezések gyártása. Az irodai és otthoni számítógépekben, ahol kicsi a távolság és az interferencia, és az árfolyam keresett, az RS-232-t gyakorlatilag kiszorította az USB interfész .

Vannak szabványok a soros port emulációra USB-n és Bluetooth-on keresztül (ezt a technológiát nagyrészt "vezeték nélküli soros portnak" tervezték).

Ennek a portnak a szoftveres emulációját azonban ma is széles körben használják. Így például szinte minden mobiltelefon emulál egy klasszikus COM-portot és egy modemet magában az internetmegosztás megvalósítása érdekében -  számítógépes internet-hozzáférés GPRS / EDGE / 3G / 4G telefonberendezésen keresztül. Ebben az esetben az USB , Bluetooth vagy Wi-Fi [2] a számítógéphez való fizikai csatlakozáshoz használatos .

Ezenkívül a port szoftveres emulációja elérhető a VMWare és a Microsoft Hyper-V virtuális gépek „vendégei” számára , amelynek fő célja a Windows kernel szintű hibakereső csatlakoztatása a „vendéghez”.

A feszültségszintekben és a kiegészítő jelek hiányában eltérő UART formájában szinte minden mikrokontrollerben jelen van, kivéve a legkisebb, SoC, fejlesztőkártyákat, és a legtöbb eszköz kártyáján is megtalálható, bár a csatlakozó nem jelenik meg a tokon. Ez a népszerűség az interfész egyszerűségének köszönhető, mind fizikai szempontból, mind a porthoz való könnyű hozzáférésnek a szoftverrel a többi interfészhez képest.

Berendezés

A csatlakozó érintkezői:

DTR (Data Terminal Ready – készenlét az adatok fogadására) – kimenet a számítógépen, bemenet a modemen. Azt jelzi, hogy a számítógép készen áll a modemmel való együttműködésre. Ennek a vonalnak a visszaállítása a modem szinte teljes visszaállítását eredményezi eredeti állapotába, beleértve a hívás letételét is (egyes vezérlőregiszterek fennmaradnak az ilyen alaphelyzetbe állítás után is). UNIX rendszeren ez akkor fordul elő, ha minden alkalmazás bezárt fájlokat a soros port illesztőprogramján. Az egér ezt a vezetéket használja a tápellátáshoz.

DSR (Data Set Ready - készenlét az adatátvitelre) - bemenet számítógépen, kimenet modemen. Azt jelzi, hogy a modem készen áll. Ha ez a sor nulla, akkor egyes operációs rendszerekben lehetetlenné válik a port fájlként történő megnyitása.

RxD (Receive Data - adatvétel) - bemenet a számítógépen, kimenet a modemen. Számítógépbe belépő adatfolyam.

TxD (Transmit Data - adatátvitel) - kimenet a számítógépen, bemenet a modemen. Számítógépből kilépő adatfolyam.

CTS (Clear to Send – átviteli készenlét) – bemenet a számítógépen, kimenet a modemen. A számítógépnek fel kell függesztenie az adatátvitelt, amíg ez a vezeték egyre nem áll. Hardveres áramlásvezérlő protokollban használják a modem túlcsordulásának megakadályozására.

RTS (Request to Send – átviteli kérés) – kimenet a számítógépen, bemenet a modemen. A modemnek fel kell függesztenie az adatátvitelt, amíg ez a vezeték egyre nem áll. Hardveres áramlásvezérlő protokollban használják a hardver és az illesztőprogram túlcsordulásának megakadályozására.

DCD (Carrier Detect – hordozó jelenléte) – bemenet a számítógépen, kimenet a modemen. A modem egyre állítja, miután kapcsolatot létesített a másik oldalon, nullára állítja vissza, ha a kapcsolat megszakad. Ilyen esemény bekövetkezésekor a számítógép hardvere megszakítást bocsáthat ki.

RI (Ring Indicator - hívásjel) - bemenet a számítógépen, kimenet a modemen. A modem a telefonhívás csengetési jelének észlelése után egyre kapcsolja. Ilyen esemény bekövetkezésekor a számítógép hardvere megszakítást bocsáthat ki.

SG (Signal Ground - jel földelés) - a port közös jelvezetéke, amely általában nem közös föld , a számítógép házától vagy a modemtől el van szigetelve.

A null modemkábel két keresztezőpárt használ: TXD/RXD és RTS/CTS.

Kezdetben az IBM PC-ben és az IBM PC / XT-ben a port hardver a National Semiconductor UART 8250 chipjére épült, majd a chipet 16450 váltotta fel, ami szoftveresen kompatibilis volt a korábbiakkal, de akár 115200 bites sebességet is lehetővé tett. másodpercenként, majd megjelent az 16550-es chip, amely kétirányú FIFO adatpuffert tartalmaz, hogy csökkentse a megszakításvezérlő terhelését. Jelenleg számos más eszköz mellett az alaplap SuperIO chipjében is megtalálható.

Programozott hozzáférés a COM-porthoz

UNIX

A Unix ( Linux ) operációs rendszer COM-portjai karakteres eszközfájlok. Ezek a fájlok általában a /dev könyvtárban találhatók, és el vannak nevezve

A COM-porthoz való programozott hozzáféréshez meg kell nyitnia a megfelelő fájlt olvasáshoz / íráshoz, és meg kell hívnia a tcgetattr (az aktuális beállítások megismeréséhez) és a tcsetattr (új beállítások megadásához) speciális funkciókat. Szükséges lehet bizonyos paraméterekkel ioctl hívások kezdeményezése is. Ezt követően fájlba íráskor a porton keresztül küldik az adatokat, olvasáskor pedig a COM port pufferéből kapja a már kapott adatokat a program.

A "ttyxx" nevű eszközöket szervereszközként használják, vagyis az eszközt megnyitó alkalmazás általában várja a modem bejövő hívását. A klasszikus alapértelmezett alkalmazás a getty , amely megvárja a bejövő hívást, majd a konfigurációs fájlok szerint beállítja a COM portot, ott kiadja a "login:"-t, elfogad egy felhasználónevet, és gyerekként futtatja a "loginUserName" parancsot, normál bemenettel. és a kimenet átirányítva a COM portra. Ez a parancs pedig lekéri és ellenőrzi a jelszót, és ha sikeres, elindítja (nem gyerekként, hanem saját maga helyett az execve meghívásával ugyanabban a folyamatban) az /etc/passwd fájlban megadott alapértelmezett felhasználói shellt.

Ez a technológia történelmileg az 1970-es években keletkezett, amikor az olyan számítógépeket, mint a PDP-11 (a Szovjetunióban a sorozatot SM EVM -nek hívták ) vagy a VAX -ot használták UNIX operációs rendszer alatt , lehetővé téve számos terminál csatlakoztatását sok felhasználó munkájához. A terminálokat - és így a teljes felhasználói felületet - soros portokon keresztül kötötték össze, így terminál helyett modemet lehetett csatlakoztatni, majd telefonon tárcsázni a számítógépet. Eddig a UNIX-szerű operációs rendszereknek terminálveremük és általában 3 terminálmegvalósításuk van - egy soros port, egy szöveges módú képernyő + billentyűzetkonzol , valamint egy „loopback” a vezérlőalkalmazás egyik nyitott fájljához ( így telnetd, sshd és xterm implementálva).

Sok (de nem minden) UNIX-on cuaxx-nek hívják a soros portos klienseszközöket, amelyek a külső hívásokat kezdeményezik.

Mivel a UNIX soros portja csak a terminálveremen keresztül érhető el, ez lehet folyamatok és csoportok vezérlőterminálja (a modemről való leválasztáskor SIGHUP küldése, Ctrl-C esetén pedig SIGINT küldése), támogatja az utolsó sor nyílbillentyűkkel beírt szerkesztését a kernel szintje, stb. Ennek a funkciónak a letiltásához, hogy az eszközt "csővé" alakítsa egy bájtfolyam számára, ioctl hívásokra van szükség.

Windows

A Win32 soros portjait fájlként kezeli. A CreateFile funkció egy port megnyitására szolgál. Sok port lehet, ezért COM1, COM2 stb. néven hivatkozunk rájuk abban a sorrendben, ahogyan az eszközillesztőket megtalálják. Az első 9 port névvel ellátott csőként is elérhető az adatátvitelhez ("COM1", "COM2", ... néven érhető el), ez a hozzáférési mód elavultnak tekinthető. Javasoljuk, hogy minden portot fájlként címezzen ("\\.\COM1", "\\.\COM2", ... "\\.\COMx").

A PnP-eszköznevek keresése a rendszerben a SetupDiGetClassDevs meghívásával történik. A HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM kulcs létezik a beállításjegyzékben, amely megjeleníti a jelenleg elérhető COM-portokat.

Minden porthoz van egy szakasz a beállításjegyzékben. Ezeknek a szakaszoknak a neve a következő:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Parameters\Serial10000,

ahol az utolsó "Serial10000" érték a rendszerhez hozzáadott minden egyes új COM port egyedi száma, a második - "Serial10001" stb.

OS/2

Az elérhető COM.SYS illesztőprogram csak 4 COM portot támogat, amelyek mindegyikének saját megszakítási vonallal kell rendelkeznie. A COM portok közös megszakítási vonallal történő kiszolgálásához a SIO illesztőprogramot [3] kell használnia .

Null modem kábel

Egyes esetekben lehetséges a kábel egyszerűsített változata is, amelyben csak a 2., 3. és 5. érintkezőt használják.

Lásd még

Jegyzetek

  1. ↑ Csak a Windows operációs rendszer család terminológiájában használták , történelmileg az MS-DOS- ból és a klasszikus IBM PC -ből származott .
  2. [https://web.archive.org/web/20130621141521/http://skp.samsungcsportal.com/integrated/popup/FaqDetailPopup.jsp?seq=333410&cdsite=ua_ru Archivált június 21-én, az AllS Machine-n, 3, Wa201 függvény ?]
  3. COM port kártya telepítése számítógépbe (elérhetetlen hivatkozás) . Letöltve: 2010. augusztus 25. Az eredetiből archiválva : 2011. május 15. 

Linkek