Nollmodemkablar: Koppling, adaptrar och pinout
Nollmodemkabel korsar TX och RX för att koppla ihop två datorer direkt. Här går vi igenom DB9- och DB25-pinout, adaptrar kontra kablar och loopback-testning.
En nollmodemkabel kopplar ihop två enheter som båda förväntar sig att vara datoränden av en seriell länk. Den korsar sändnings- och mottagningsledningarna så att varje sidas utdata når den andra sidans indata, och det är den seriella motsvarigheten till korsad kabel som används inom Ethernet. Du behöver en närhelst två DTE – två datorer, två terminaler, en dator och en routerkonsol – måste kommunicera med varandra utan ett modem emellan.
Varför en rak kabel inte fungerar
RS-232 definierar två roller. En DTE är datorn eller terminalen; en DCE är modemet eller annan kommunikationsutrustning. En rakt igenom-kabel är kopplad pinne för pinne och är avsedd att förena en DTE med en DCE, eftersom modemet redan utför korsningen internt. Sätter du två DTE på en rak kabel sänder båda på samma ledning och båda lyssnar på den andra: inget kommer fram. Nollmodemet gör korsningen i kabeln istället.
Nollmodemkoppling
Minimilänken behöver bara sändning, mottagning och signaljord korsade eller delade. Hårdvaruflödeskontroll lägger till handskakningsledningarna. Den fullständiga DB9-nollmodemuppsättningen är:
| Signal | DB9-pinne (sida A) | DB9-pinne (sida B) |
|---|---|---|
| DCD | 1 | 7 och 8 |
| RXD | 2 | 3 |
| TXD | 3 | 2 |
| DTR | 4 | 6 och 1 |
| Signaljord | 5 | 5 |
| DSR | 6 | 4 |
| RTS | 7 | 8 |
| CTS | 8 | 7 |
| RI | 9 | inte ansluten |
Läs det som en korsning: TXD på ena sidan hamnar på RXD på den andra, RTS hamnar på CTS, och DTR korsas till DSR och DCD. Signaljord går rakt igenom. Vissa kablar knyter DTR till DSR och DCD i samma ände istället för att korsa dem; det tillfredsställer programvara som bara kontrollerar om linjen är aktiv, men det överför ingen riktig handskakning.
En tretrådig nollmodem använder endast pinnarna 2, 3 och 5. Den fungerar med programvara inställd på ingen flödeskontroll, och misslyckas med programvara som väntar på CTS. Om en länk kommer upp och sedan stannar efter en databurst är saknad handskakningskoppling den vanliga orsaken.
DB9, DB25 och adaptrarna
DE-9-kontakten, nästan alltid kallad DB9, är den vanliga PC-serieporten. DB25 var den ursprungliga PC- och modemkontakten. Pinnfunktionerna skiljer sig mellan de två, så en nollmodem byggd för den ena är inte samma kabel som en byggd för den andra. De fullständiga pinnkonfigurationerna för båda finns i RS-232 seriell pinout-referens.
Adaptrar finns i två former. En nollmodemadapter är ett litet skal med en hankontakt på ena sidan och en honkontakt på den andra, internt kopplad som en korsning; den gör vilken rak förlängningskabel som helst till en nollmodemlänk. En nollmodemkabel har korsningen inbyggd och är det bättre valet för en permanent installation, eftersom varje extra par kontakter är ännu en felkälla. Adaptrar är användbara när kontakternas kön på utrustningen är fast och du inte kan byta kabel.
Könsbytare
En könsbytare byter han mot hon utan att korsa något. Den är inte en nollmodem och kommer inte att få två DTE att prata. Den används när en kabel och en port båda är han eller båda är hon. En nollmodemadapter och en könsbytare ser likadana ut; kontrollera märkningen, och om du är osäker testa pinnarna med en kontinuitetsmätare.
DB9 till DB25
En DB9-till-DB25-nollmodemadapter måste korsa signalerna och översätta pinnnumren samtidigt. En vanlig DB9-till-DB25 rak adapter gör ingendera. Att blanda de två är en vanlig källa till en länk som verkar död.
När porten sitter på en USB-adapter
Många maskiner har inte längre någon seriell port, så länken går genom en USB-till-seriell-omvandlare. Omvandlaren presenterar en DTE, precis som en inbyggd port, så nollmodemregeln är oförändrad: två DTE behöver en korsning. Omvandlarchippen behöver rätt drivrutin, och adaptrar med TTL-utgång är inte RS-232 och får inte kopplas direkt till en RS-232-port. Dessa punkter tas upp i guiden för USB till seriell-adapter.
Testa med en loopback
Innan du skyller på kabeln, bevisa att porten fungerar. En loopback-plugg kopplar ihop TXD med RXD och, för ett fullständigt test, RTS med CTS och DTR med DSR och DCD. Med pluggen isatt kommer allt som skrivs i ett terminalprogram tillbaka direkt. Om det inte gör det är det porten, drivrutinen eller terminalinställningarna som är fel, inte nollmodemet.
För själva kabeln bekräftar en kontinuitetstestare att varje pinne hamnar där tabellen säger. En enkel wiremap-kontroll hittar avbrott, kortslutningar och korsade ledningar, men den kan inte säga om handskakningsledningarna är kopplade alls om programvaran aldrig aktiverar dem. Testa med programvaran du tänker använda, vid den baudrate du tänker köra.
Vad som går fel
- Två DTE på en rak kabel. Det vanligaste misstaget. Inget skadas, men ingen data passerar. Sätt dit en nollmodem.
- En nollmodem där en rak kabel hör hemma. En PC till ett modem eller en PC till en DCE behöver en rak kabel. En nollmodem där korsar signalerna två gånger och länken misslyckas.
- Tretrådig kabel med hårdvaruflödeskontroll aktiverad. Länken startar och hänger sig sedan. Antingen koppla handskakningsledningarna eller stäng av flödeskontrollen i båda ändar.
- Könsbytare använd som nollmodem. Den byter skalet, inte signalerna.
- TTL-seriell ansluten till RS-232. Lågspänningssidan kan skadas. RS-232 svänger mellan ungefär plus och minus 3 till 15 V; en 3,3 V eller 5 V mikrokontrollerpinne är inte kompatibel utan en nivåomvandlare.
- En kabel längre än standarden tillåter. RS-232 är specificerad till 15 m (50 ft) vid 19 200 baud, och lägre baudrater går längre. Bortom det, använd en omvandlare till en differentiell standard som RS-422 eller RS-485.
- Fel adapter för jobbet. En DB9-till-DB25 rak adapter i en nollmodemlänk lämnar korsningen saknad.
Samma logik finns på nätverkssidan, där en korsad kabel förenar två likadana enheter och en rak kabel förenar en enhet med en switch. Auto-MDI-X har gjort det mesta automatiskt inom Ethernet, men seriella portar förhandlar aldrig: kabeln måste vara rätt. Jämförelsen av korsade kablar förklarar Ethernet-fallet.
Att välja rätt del
| Situation | Vad du ska använda |
|---|---|
| PC till PC, båda DB9 | DB9-nollmodemkabel |
| PC till PC, en DB9 och en DB25 | DB9-till-DB25-nollmodemkabel eller adapter |
| PC till modem eller DCE | Rakt igenom-kabel |
| Befintlig rak kabel, fel koppling | Nollmodemadapter i ena änden |
| Kabel och port båda han eller båda hon | Könsbytare, plus en nollmodem om det behövs |
| Två DTE, ingen flödeskontroll behövs | Tretrådig nollmodem, flödeskontroll avstängd |
| Lång sträcka bortom RS-232-gränsen | Omvandlare till RS-422 eller RS-485 |
Köp eller bygg kabeln för de kontakttyper som faktiskt finns, och märk båda ändarna. En nollmodemkabel ser identisk ut med en rak kabel från utsidan, och de två är lätta att blanda ihop i en låda. En kontinuitetskontroll tar en minut och sparar en eftermiddag.
Vanliga frågor
Vad är skillnaden mellan en nollmodemkabel och en rak seriell kabel?
En rak kabel kopplar varje pinne till samma pinne i andra änden och används mellan en DTE och en DCE, till exempel en dator och ett modem. En nollmodemkabel korsar sändning och mottagning, och vanligtvis handskakningsledningarna, så att två DTE kan kommunicera direkt.
Vad är DB9-nollmodem-pinouten?
Pinne 2 korsas till pinne 3 och pinne 3 korsas till pinne 2. Pinne 7 korsas till pinne 8 och pinne 8 till pinne 7. Pinne 4 korsas till pinnarna 6 och 1, och pinne 1 korsas till pinnarna 7 och 8. Pinne 5, signaljord, går rakt igenom, och pinne 9 är inte ansluten.
Kan jag använda en nollmodemadapter istället för en nollmodemkabel?
Ja. En nollmodemadapter innehåller samma korsning och gör en rak kabel till en nollmodemlänk. Den lägger till ett extra par kontakter, så en specialbyggd kabel är att föredra för en permanent installation.
Fungerar en könsbytare som nollmodem?
Nej. En könsbytare byter bara han- och honkontakter och korsar inga signaler. Den används när en kabel och en port har samma kön.
Hur testar jag en nollmodemkabel?
Sätt i en loopback-plugg som kopplar ihop TXD med RXD och handskakningsledningarna, skriv sedan i ett terminalprogram och se om tecknen kommer tillbaka. För själva kabeln, använd en kontinuitetstestare för att bekräfta att varje pinne hamnar där nollmodemtabellen säger.
Läs nästa
Parallellskrivarkablar: IEEE 1284, DB25 och Centronics
IEEE 1284-parallellskrivarkablar förklarade: DB25- och Centronics 36-kontakter, kabellängdsgränser, lägen och när en USB-till-parallell-adapter fungerar.
RS-232-pinkonfiguration: DB9 och DB25 förklarade
Fullständig RS-232-pinkonfiguration för DB9- och DB25-kontakter: DTE- och DCE-stift, spänningsnivåer, kabellängder och TTL-misstaget som förstör kretskort.
RS-422 vs RS-485: Differentiell seriell jämförelse
RS-422 är en drivare till många mottagare; RS-485 är en riktig multipunktbuss. Jämför avstånd, hastighet, terminering och kablage, och se vad som skadar hårdvara.