Info Systems Supply
Svenska

USB-till-serieadaptrar: drivrutiner, nivåer och fallgropar

Hur USB-till-serieadaptrar fungerar, varför drivrutiner och piratkopierade chip spelar roll, och hur du får gammal DB9-utrustning att kommunicera igen.

6 min läsning Uppdaterad 12 oktober 2026
Ett lugnt, realistiskt fotografi av en USB-till-serieadapter med en DB9-kontakt som vilar på ett rent verkstadsbord bredvid en upprullad nollmodemkabel, en liten skruvmejsel

En USB-till-serieadapter är en liten omvandlare som gör en USB-port till en RS-232-serieport, så att en dator utan serieport fortfarande kan kommunicera med en routerkonsol, en PLC, en etikettskrivare, en våg eller ett laboratorieinstrument. Adaptern innehåller ett omvandlarchip, och det chippet är hela historien: det avgör vilken drivrutin datorn behöver, vilka signalnivåer som visas på stiften och om adaptern fortsätter fungera efter nästa uppdatering av operativsystemet. Väljer du fel får du ingenting, förvanskade tecken eller skadad hårdvara i andra änden.

Vad som finns inuti adaptern

En USB-till-RS-232-adapter är tre saker i ett gjutet hölje: ett USB-gränssnitt, ett seriekontrollerchip och en nivåomvandlare som producerar äkta RS-232-spänningar. Kontrollerchippet presenterar sig för datorn som en virtuell COM-port. Operativsystemet laddar en drivrutin för det chippet, och drivrutinen gör att porten visas som en vanlig serieport för terminalprogramvaran.

Det är därför drivrutinen är viktigare än kabeln. Chippet inuti avgör drivrutinen, och drivrutinen avgör om adaptern fungerar på ditt operativsystem. Adaptrar byggda på välstödda chip installeras vanligtvis från operativsystemet självt eller från ett signerat drivrutinspaket. Adaptrar byggda på olicensierade kopior av dessa chip kan blockeras av den äkta tillverkarens drivrutin, vilket är det klassiska felet: adaptern fungerade i åratal, sedan slutade en drivrutinsuppdatering att känna igen den.

Piratkopierade chip är ett verkligt problem på den här marknaden. Ett omvandlarchip som inte är den äkta delen kan rapportera samma identitet, så den äkta drivrutinen laddas, upptäcker avvikelsen och vägrar enheten. Symtom inkluderar en port som dyker upp och försvinner, en enhet som visar ett fel i enhetshanteraren, eller en port som öppnas men inte skickar något. Det praktiska svaret är att köpa adaptrar byggda på chip med en publicerad, underhållen drivrutin, och att behålla den drivrutinsinstallatören tillsammans med utrustningen den betjänar.

RS-232, TTL och skillnaden som skadar hårdvara

RS-232 är inte samma sak som seriesignalen på ett mikrokontrollerkort. RS-232 använder single-ended-signaler där en spänning mellan +3 V och +15 V är en logisk 0 (space) och mellan -3 V och -15 V är en logisk 1 (mark). En TTL- eller CMOS-serieport, som finns på mikrokontrollerkort och många inbäddade headers, använder istället 3,3 V eller 5 V logiska nivåer.

Att koppla ihop de två direkt kan skada lågspänningssidan. En äkta RS-232-utgång svänger till plus- och minusspänningar som en 3,3 V-ingång inte är byggd för att acceptera. Om utrustningen förväntar sig TTL, använd en USB-till-TTL-adapter eller en nivåomvandlare, inte en USB-till-RS-232-adapter. Om utrustningen förväntar sig RS-232 kommer en USB-till-TTL-adapter inte att driva den.

AdaptertypUtgångsnivåerTypisk användning
USB till RS-232+3 V till +15 V och -3 V till -15 VDB9- eller DB25-utrustning, konsoler, modem, vågar
USB till TTL3,3 V eller 5 V logikMikrokontrollerkort, inbäddade headers
USB till RS-422/485DifferentialLånga sträckor, Modbus RTU, DMX512-belysningsstyrning

Standarden tillåter RS-232 upp till 15 m (50 ft) vid 19 200 baud; lägre baudhastigheter når längre. RS-422 och RS-485 är differentiella och når mycket längre, upp till 1200 m (4000 ft) vid lägre hastigheter, vilket är varför industriell utrustning ofta använder dem istället.

Kontakter och pinouts du kommer att möta

De flesta USB-till-serieadaptrar slutar i en hane DE-9-kontakt, vanligtvis kallad DB9. PC:ns (DTE) pinout är fast: stift 1 DCD, stift 2 RXD, stift 3 TXD, stift 4 DTR, stift 5 signaljord, stift 6 DSR, stift 7 RTS, stift 8 CTS, stift 9 RI. Äldre utrustning kan använda en DB25, där pinouten är annorlunda: stift 2 TXD, stift 3 RXD, stift 4 RTS, stift 5 CTS, stift 6 DSR, stift 7 signaljord, stift 8 DCD, stift 20 DTR, stift 22 RI. Den fullständiga referensen RS-232 serial pinouts: DB9 and DB25 listar båda, och det är värt att kontrollera innan du tillverkar en kabel.

DTE betyder dator eller terminal; DCE betyder modem. En rakt-igenom-kabel kopplar ihop DTE med DCE. Två DTE-enheter behöver en nollmodemkabel, där TXD och RXD korsas, RTS och CTS korsas, DTR korsas till DSR och DCD, och signaljord går rakt igenom. En könsomvandlare byter hane och hona utan att korsa något, så den gör inte en rak kabel till en nollmodemkabel. Om två datorer eller två terminalenheter inte kommunicerar, täcker sidan null modem cables and adapters kableringen och de färdiga adaptrarna.

Drivrutiner, portar och operativsystemet

En USB-till-RS-232-adapter visas som en COM-port på Windows och som en enhet som /dev/ttyUSB0 eller /dev/tty.usbserial på Linux och macOS. Portnumret kan ändras när adaptern kopplas ur och i igen, eller när den flyttas till en annan USB-port. Terminalprogramvara som lagrar en fast COM-port kommer då att misslyckas med att öppna porten, vilket ser ut som ett adapterfel men inte är det.

Två vanor förhindrar det mesta av detta. För det första, koppla adaptern till samma USB-port varje gång, så att portnumret förblir stabilt. För det andra, notera portnumret i utrustningens dokumentation. På Linux kan en regel baserad på adapterns serienummer fästa enhetsnamnet; inte varje adapter rapporterar ett serienummer, så kontrollera innan du förlitar dig på det.

USB i sig är inte gränsen här. Även USB 1.1 Full Speed vid 12 Mbps är mycket snabbare än någon vanlig seriell baudhastighet, och adapterns USB-sida är inte det som begränsar länken. Sidan USB 3.0, 3.1, 3.2 and USB4: speeds and names decoded förklarar hastighetsbeteckningarna om du väljer mellan adaptrar och hubbar, men för seriearbete räcker vilken fungerande USB-port som helst.

Att få gammal utrustning att kommunicera igen

Arbeta igenom länken i ordning och ändra en sak i taget.

  1. Bekräfta att adaptern känns igen. Kontrollera enhetshanteraren eller systemloggen för en seriell enhet, och notera portnamnet.
  2. Bekräfta att drivrutinen matchar chippet. Om adaptern inte känns igen, installera drivrutinen för chippet inuti den, inte en generisk.
  3. Bekräfta kabeltypen. Rakt igenom för DTE till DCE, nollmodem för DTE till DTE.
  4. Bekräfta serieinställningarna. Baudhastighet, databitar, paritet, stoppbitar och flödeskontroll måste matcha i båda ändar. Flödeskontroll är den vanliga boven: hårdvaruflödeskontroll (RTS/CTS) hänger sig om kabeln inte har dessa stift.
  5. Bekräfta nivåerna. RS-232-utrustning behöver en RS-232-adapter; TTL-headers behöver en TTL-adapter.

För konsolarbete vänder en rollover-kabel alla åtta stift från ände till ände och används med en RJ45-till-DB9-adapter på Cisco-liknande konsolportar. Många nyare enheter har istället en USB-konsolport, som inte behöver någon adapter alls.

Vad som går fel

En drivrutinsuppdatering blockerar adaptern. Piratkopierade chip avvisas av den äkta tillverkarens drivrutin. Adaptern är inte felaktig; drivrutinen accepterar den inte längre. Behåll en fungerande drivrutinsinstallatör, eller ersätt adaptern med en byggd på ett chip med en underhållen drivrutin.

En USB-till-TTL-adapter används på RS-232-utrustning, eller tvärtom. Det första fallet ger vanligtvis ingen kommunikation; det andra kan skada lågspänningssidan. Matcha adaptern till de nivåer utrustningen förväntar sig.

Fel kabel används mellan två DTE-enheter. En rakt-igenom-kabel mellan två datorer eller två terminaler fungerar inte. En nollmodemkabel eller adapter behövs.

Portnumret ändras. Adaptern är okej, men terminalprogramvaran tittar på den gamla porten. Välj om porten, eller fäst enhetsnamnet.

Flödeskontrollen är fel inställd. Med hårdvaruflödeskontroll vald och ingen RTS/CTS-kablering stannar länken efter de första tecknen. Prova ingen flödeskontroll eller mjukvaruflödeskontroll för att bevisa länken, ställ sedan in den korrekt.

En könsomvandlare förväntas korsa signaler. Den byter bara hane och hona. Den gör inte en rak kabel till en nollmodemkabel.

Adaptern förväntas driva utrustningen. En serieport är en datalänk, inte en strömförsörjning. Utrustning som behöver egen ström behöver fortfarande egen ström.

Långa kabelsträckor försöks vid höga baudhastigheter. RS-232 är begränsad till 15 m (50 ft) vid 19 200 baud, och mindre vid högre hastigheter. För långa sträckor, använd RS-422 eller RS-485 istället.

En USB-förlängning läggs till utan att kontrollera ström. En oberoende hubb delar värdportens ström mellan sina enheter. Om adaptern är opålitlig genom en hubb, anslut den direkt eller använd en strömförsörjd hubb.

Vanliga frågor

Varför slutade min USB-till-serieadapter fungera efter en drivrutinsuppdatering?

Adaptern innehåller troligen en piratkopierad kopia av ett omvandlarchip. Den äkta tillverkarens drivrutin upptäcker avvikelsen och vägrar enheten. Adaptern är inte felaktig, men den kommer inte att fungera med den drivrutinen. Ersätt den med en adapter byggd på ett chip med en underhållen drivrutin, eller behåll en fungerande drivrutinsinstallatör för utrustningen den betjänar.

Vad är skillnaden mellan en USB-till-RS-232-adapter och en USB-till-TTL-adapter?

RS-232 använder single-ended-signaler där +3 V till +15 V är en logisk 0 och -3 V till -15 V är en logisk 1. TTL använder 3,3 V eller 5 V logiska nivåer. Att koppla ihop de två direkt kan skada lågspänningssidan, så matcha adaptern till utrustningen: RS-232 för DB9- eller DB25-portar, TTL för mikrokontrollerheaders.

Hur ansluter jag två datorer med USB-till-serieadaptrar?

Varje dator behöver sin egen adapter, och de två adaptrarna kopplas ihop med en nollmodemkabel eller en nollmodemadapter. En nollmodemkabel korsar TXD och RXD, korsar RTS och CTS, och korsar DTR till DSR och DCD, med signaljord som går rakt igenom. En rakt-igenom-kabel fungerar inte mellan två DTE-enheter.

Hur långt kan jag dra en USB-till-serieadapterkabel?

RS-232-sidan är begränsad till 15 m (50 ft) vid 19 200 baud, och mindre vid högre baudhastigheter. USB-sidan begränsas av USB-kabelregler, inte av adaptern. För längre sträckor, använd RS-422 eller RS-485, som är differentiella och når upp till 1200 m (4000 ft) vid lägre hastigheter.

Varför ändras mitt serieportsnummer hela tiden?

Portnumret tilldelas när adaptern kopplas in, och det kan ändras om adaptern flyttas till en annan USB-port. Koppla adaptern till samma USB-port varje gång, eller fäst enhetsnamnet med hjälp av adapterns serienummer där operativsystemet stöder det. Inte varje adapter rapporterar ett serienummer.

Läs nästa