USB–sarja-adapterit: ajurit, tasot ja sudenkuopat
Miten USB–sarja-adapterit toimivat, miksi ajurit ja väärennetyt piirit ovat tärkeitä, RS-232- vs. TTL-tasot ja miten vanhat DB9-laitteet saadaan taas keskustelemaan.
USB–sarja-adapteri on pieni muunnin, joka muuttaa USB-portin RS-232-sarjaportiksi, jotta tietokone, jossa ei ole sarjaporttia, voi silti keskustella reitittimen konsolin, PLC:n, tarrakirjoittimen, vaa’an tai laboratoriolaitteen kanssa. Adapteri sisältää muunninpiirin, ja se piiri on koko tarina: se määrää, mitä ajuria tietokone tarvitsee, mitkä signaalitasot näkyvät nastoissa ja toimiiko adapteri seuraavan käyttöjärjestelmäpäivityksen jälkeen. Väärän valinnan seurauksena et saa mitään, saat sutta tai laite vaurioituu toisessa päässä.
Mitä adapterin sisällä on
USB–RS-232-adapteri on kolme asiaa yhdessä valetussa kuoressa: USB-liitäntä, sarjaohjainpiiri ja tasomuunnin, joka tuottaa aidot RS-232-jännitteet. Ohjainpiiri esittäytyy tietokoneelle virtuaalisena COM-porttina. Käyttöjärjestelmä lataa kyseiselle piirille tarkoitetun ajurin, ja ajuri saa portin näkymään päätelaitesovellukselle tavallisena sarjaporttina.
Siksi ajuri on tärkeämpi kuin kaapeli. Sisällä oleva piiri määrää ajurin, ja ajuri määrää, toimiiko adapteri käyttöjärjestelmässäsi. Hyvin tuetuille piireille rakennetut adapterit asentuvat yleensä käyttöjärjestelmän itsensä tai allekirjoitetun ajuripaketin kautta. Näiden piirien luvattomille kopioille rakennetut adapterit voivat estyä aidon valmistajan ajurissa – tämä on klassinen vika: adapteri toimi vuosia, sitten ajuripäivitys lakkasi tunnistamasta sitä.
Väärennetyt piirit ovat todellinen ongelma tällä markkinalla. Muunninpiiri, joka ei ole aito osa, voi ilmoittaa saman identiteetin, jolloin aito ajuri latautuu, havaitsee ristiriidan ja kieltäytyy laitteesta. Oireita ovat portti, joka ilmestyy ja katoaa, laite, joka näyttää virheen laitehallinnassa, tai portti, joka avautuu mutta ei lähetä mitään. Käytännön ratkaisu on ostaa adaptereita, jotka on rakennettu piireille, joilla on julkaistu ja ylläpidetty ajuri, ja säilyttää kyseisen ajurin asennusohjelma laitteen mukana.
RS-232, TTL ja ero, joka vaurioittaa laitteistoa
RS-232 ei ole sama asia kuin mikro-ohjainkortin sarjasignaali. RS-232 käyttää yksipäisiä signaaleja, joissa jännite +3 V ja +15 V välillä on looginen 0 (space) ja -3 V ja -15 V välillä on looginen 1 (mark). TTL- tai CMOS-sarjaportti, kuten mikro-ohjainkorteissa ja monissa sulautetuissa liittimissä, käyttää sen sijaan 3,3 V tai 5 V -logiikkatasoja.
Niiden kytkeminen suoraan yhteen voi vaurioittaa matalajännitepuolta. Aito RS-232-lähtö heilahtaa plus- ja miinusjännitteisiin, joita 3,3 V:n tulo ei ole rakennettu kestämään. Jos laite odottaa TTL:ää, käytä USB–TTL-adapteria tai tasomuunninta, älä USB–RS-232-adapteria. Jos laite odottaa RS-232:ta, USB–TTL-adapteri ei ohjaa sitä.
| Adapterityyppi | Lähtötasot | Tyypillinen käyttö |
|---|---|---|
| USB–RS-232 | +3 V…+15 V ja -3 V…-15 V | DB9- tai DB25-laitteet, konsolit, modeemit, vaa’at |
| USB–TTL | 3,3 V tai 5 V logiikka | Mikro-ohjainkortit, sulautetut liittimet |
| USB–RS-422/485 | Differentiaalinen | Pitkät vedot, Modbus RTU, DMX512-valaistuksenohjaus |
Standardin mukaan RS-232 yltää 15 m (50 ft) 19 200 baudilla; hitaammilla baudinopeuksilla pidemmälle. RS-422 ja RS-485 ovat differentiaalisia ja yltävät paljon pidemmälle, jopa 1200 m (4000 ft) hitaammilla nopeuksilla, minkä vuoksi teollisuuslaitteet käyttävät usein niitä.
Liittimet ja kytkennät, joita kohtaat
Useimmat USB–sarja-adapterit päättyvät uros-DE-9-liittimeen, jota yleensä kutsutaan DB9:ksi. PC:n (DTE) nastajärjestys on kiinteä: nasta 1 DCD, nasta 2 RXD, nasta 3 TXD, nasta 4 DTR, nasta 5 signaalimaa, nasta 6 DSR, nasta 7 RTS, nasta 8 CTS, nasta 9 RI. Vanhemmat laitteet voivat käyttää DB25:tä, jonka nastajärjestys on erilainen: nasta 2 TXD, nasta 3 RXD, nasta 4 RTS, nasta 5 CTS, nasta 6 DSR, nasta 7 signaalimaa, nasta 8 DCD, nasta 20 DTR, nasta 22 RI. Kattava RS-232-sarjaportin nastajärjestys: DB9 ja DB25 -viite luettelee molemmat, ja se kannattaa tarkistaa ennen kaapelin tekoa.
DTE tarkoittaa tietokonetta tai päätelaitetta; DCE tarkoittaa modeemia. Suora kaapeli yhdistää DTE:n DCE:hen. Kaksi DTE:tä tarvitsevat null modem -kaapelin, jossa TXD ja RXD risteytyvät, RTS ja CTS risteytyvät, DTR risteytyy DSR:ään ja DCD:hen, ja signaalimaa kulkee suoraan läpi. Sukupuolen vaihtaja vaihtaa uros- ja naarasliittimen risteämättä mitään, joten se ei muuta suoraa kaapelia null modem -kaapeliksi. Jos kaksi tietokonetta tai kahta päätelaitetta ei saada keskustelemaan, null modem -kaapelit ja adapterit -sivu kattaa kytkennät ja valmiit adapterit.
Ajurit, portit ja käyttöjärjestelmä
USB–RS-232-adapteri näkyy Windowsissa COM-porttina ja Linuxissa sekä macOS:ssä laitteena, kuten /dev/ttyUSB0 tai /dev/tty.usbserial. Portin numero voi muuttua, kun adapteri irrotetaan ja kytketään uudelleen tai kun se siirretään toiseen USB-porttiin. Päätelaitesovellus, joka tallentaa kiinteän COM-portin, ei silloin avaa porttia, mikä näyttää adapterin vialta mutta ei ole sitä.
Kaksi tapaa estävät suurimman osan tästä. Ensinnäkin, kytke adapteri joka kerta samaan USB-porttiin, jotta portin numero pysyy vakaana. Toiseksi, merkitse portin numero laitteen dokumentaatioon. Linuxissa adapterin sarjanumeroon perustuva sääntö voi kiinnittää laitenimen; kaikki adapterit eivät ilmoita sarjanumeroa, joten tarkista ennen kuin luotat siihen.
USB itsessään ei ole tässä rajoite. Jopa USB 1.1 Full Speed 12 Mbps:n nopeudella on paljon nopeampi kuin mikään yleinen sarjaportin baudinopeus, eikä adapterin USB-puoli rajoita yhteyttä. USB 3.0, 3.1, 3.2 ja USB4: nopeudet ja nimet selitettynä -sivu selittää nopeusmerkinnät, jos valitset adaptereiden ja keskittimien välillä, mutta sarjatyöhön mikä tahansa toimiva USB-portti riittää.
Vanhojen laitteiden saaminen taas keskustelemaan
Käy yhteys läpi järjestyksessä ja muuta yhtä asiaa kerrallaan.
- Varmista, että adapteri tunnistetaan. Tarkista laitehallinnasta tai järjestelmälokista sarjalaite ja merkitse portin nimi.
- Varmista, että ajuri vastaa piiriä. Jos adapteria ei tunnisteta, asenna siinä olevan piirin ajuri, ei yleisajuria.
- Varmista kaapelin tyyppi. Suora kaapeli DTE–DCE-yhteyteen, null modem -kaapeli DTE–DTE-yhteyteen.
- Varmista sarja-asetukset. Baudinopeus, databitit, pariteetti, stop-bitit ja vuonohjaus on oltava samat molemmissa päissä. Vuonohjaus on yleensä syyllinen: laitteistovuonohjaus (RTS/CTS) jumittuu, jos kaapeli ei kuljeta näitä nastoja.
- Varmista tasot. RS-232-laitteet tarvitsevat RS-232-adapterin; TTL-liittimet tarvitsevat TTL-adapterin.
Konsolityöhön tarkoitettu rollover-kaapeli kääntää kaikki kahdeksan nastaa päästä päähän, ja sitä käytetään RJ45–DB9-adapterin kanssa Cisco-tyylisissä konsoliporteissa. Monissa uudemmissa laitteissa on sen sijaan USB-konsoliportti, joka ei tarvitse adapteria lainkaan.
Mikä menee pieleen
Ajuripäivitys estää adapterin. Aidon valmistajan ajuri hylkii väärennettyjä piirejä. Adapteri ei ole viallinen; ajuri ei enää hyväksy sitä. Säilytä toimivaksi todettu ajurin asennusohjelma tai vaihda adapteri sellaiseen, joka on rakennettu piirille, jolla on ylläpidetty ajuri.
USB–TTL-adapteria käytetään RS-232-laitteessa tai päinvastoin. Ensimmäinen tapaus ei yleensä anna yhteyttä; toinen voi vaurioittaa matalajännitepuolta. Sovita adapteri laitteen odottamiin tasoihin.
Väärää kaapelia käytetään kahden DTE:n välillä. Suora kaapeli kahden tietokoneen tai kahden päätelaitteen välillä ei toimi. Tarvitaan null modem -kaapeli tai -adapteri.
Portin numero muuttuu. Adapteri on kunnossa, mutta päätelaitesovellus katsoo vanhaa porttia. Valitse portti uudelleen tai kiinnitä laitenimi.
Vuonohjaus on asetettu väärin. Kun laitteistovuonohjaus on valittu eikä RTS/CTS-kytkentää ole, yhteys pysähtyy ensimmäisten merkkien jälkeen. Kokeile ei vuonohjausta tai ohjelmistovuonohjausta yhteyden todentamiseksi ja aseta se sitten oikein.
Sukupuolen vaihtajan odotetaan risteävän signaaleja. Se vain vaihtaa uros- ja naarasliittimen. Se ei tee suorasta kaapelista null modem -kaapelia.
Adapterin odotetaan syöttävän virtaa laitteelle. Sarjaportti on datayhteys, ei virtalähde. Laite, joka tarvitsee oman virtansa, tarvitsee edelleen oman virtansa.
Pitkiä kaapelivetoja yritetään suurilla baudinopeuksilla. RS-232 on rajoitettu 15 m (50 ft) 19 200 baudilla ja vähemmän suuremmilla nopeuksilla. Pitkiin vetoihin käytä sen sijaan RS-422:ta tai RS-485:tä.
USB-jatkojohto lisätään tarkistamatta virtaa. Virrattoman keskittimen jakaa isäntäportin virran laitteidensa kesken. Jos adapteri on epäluotettava keskittimen kautta, kytke se suoraan tai käytä virtalähteellistä keskittintä.
Usein kysytyt kysymykset
Miksi USB–sarja-adapterini lakkasi toimimasta ajuripäivityksen jälkeen?
Adapteri sisältää todennäköisesti väärennetyn kopion muunninpiiristä. Aidon valmistajan ajuri havaitsee ristiriidan ja kieltäytyy laitteesta. Adapteri ei ole viallinen, mutta se ei toimi kyseisen ajurin kanssa. Vaihda se adapteriin, joka on rakennettu piirille, jolla on ylläpidetty ajuri, tai säilytä toimivaksi todettu ajurin asennusohjelma laitteen mukana.
Mikä on ero USB–RS-232-adapterin ja USB–TTL-adapterin välillä?
RS-232 käyttää yksipäisiä signaaleja, joissa +3 V…+15 V on looginen 0 ja -3 V…-15 V on looginen 1. TTL käyttää 3,3 V tai 5 V -logiikkatasoja. Niiden kytkeminen suoraan yhteen voi vaurioittaa matalajännitepuolta, joten sovita adapteri laitteeseen: RS-232 DB9- tai DB25-portteihin, TTL mikro-ohjainten liittimiin.
Miten yhdistän kaksi tietokonetta USB–sarja-adaptereilla?
Kumpikin tietokone tarvitsee oman adapterinsa, ja adapterit yhdistetään null modem -kaapelilla tai null modem -adapterilla. Null modem -kaapeli risteää TXD:n ja RXD:n, RTS:n ja CTS:n sekä DTR:n DSR:ään ja DCD:hen, ja signaalimaa kulkee suoraan läpi. Suora kaapeli ei toimi kahden DTE:n välillä.
Kuinka pitkälle USB–sarja-adapterin kaapelin voi vetää?
RS-232-puoli on rajoitettu 15 m (50 ft) 19 200 baudilla ja vähemmän suuremmilla baudinopeuksilla. USB-puolta rajoittavat USB-kaapelisäännöt, ei adapteri. Pidempiin vetoihin käytä RS-422:ta tai RS-485:tä, jotka ovat differentiaalisia ja yltävät jopa 1200 m (4000 ft) hitaammilla nopeuksilla.
Miksi sarjaportin numero vaihtuu jatkuvasti?
Portin numero annetaan, kun adapteri kytketään, ja se voi muuttua, jos adapteri siirretään toiseen USB-porttiin. Kytke adapteri joka kerta samaan USB-porttiin tai kiinnitä laitenimi adapterin sarjanumeron perusteella, jos käyttöjärjestelmä tukee sitä. Kaikki adapterit eivät ilmoita sarjanumeroa.
Lue seuraavaksi
Null-modeemikaapelit: kytkentä, adapterit ja pinnijärjestys
Null-modeemikaapeli ristikkäistää TX- ja RX-linjat, jotta kaksi tietokonetta voivat liittyä suoraan. Käsittelee DB9- ja DB25-pinnijärjestykset.
Rinnakkaistulostimen kaapelit: IEEE 1284, DB25 ja Centronics
IEEE 1284 -rinnakkaistulostinkaapelit selitettynä: DB25- ja Centronics 36 -liittimet, kaapelin pituusrajat, tilat ja milloin USB-rinnakkaissovitin toimii.
RS-232-liitännät: DB9 ja DB25 selitettynä
Täydellinen RS-232-pinout-opas DB9- ja DB25-liittimille: DTE- ja DCE-nastajärjestykset, jännitetasot, kaapelin pituusrajat ja TTL-virhe, joka rikkoo piirilevyt.