HALLO, BENT U DAAR?
Het aan elkaar koppelen van twee computers via de serieele poorten
door Kees Stravers
Een groot probleem is vaak het aan elkaar koppelen van twee serieele poorten met een zogenaamde null-modem kabel, zodat je van de ene computer direkt naar de andere data kunt oversturen zonder modems enzovoort ertussen. Kort geleden moest ik mijn tekstverwerker Tandy Model II aan mijn PC knopen om wat bestandjes over te zetten, zodat ik een en ander heb uitgezocht. Om te vieren dat het gelukt is heb ik meteen maar dit verhaal geschreven met de Tandy tekstverwerker, en het uitgeprint met de PC.
Wat moet je doen?
In het kort de procedure:
- Uitzoeken hoe de serieele poort van elke computer gedefinieerd is (DTE of DCE) en hiervan een duidelijke notitie maken voor later.
- Het bedraden van een connector voor iedere computer om de statussignalen met elkaar te verbinden (de signalen die de computer met het modem uitwisselt om in de gaten te houden of de verbinding goed blijft zijn nu niet nodig).
- Een kabeltje tussen de connectors leggen.
1. Definitie serieele poort bepalen
Als eerste moet je weten wat de definitie van de serieele poort op iedere computer is. Als er een 9-polige connector aanwezig is voor de RS232, zoals bij de PC AT, sommige PC-klonen en de NMS9100, dan is de definitie altijd hetzelfde; maar als de RS232 poort een 25-polige connector is, kan de definitie zowel DTE als DCE zijn. DTE is eigenlijk de bedoeling, maar bijvoorbeeld bij de Philips P3102 en bij veel multifunktiekaarten voor PC-klonen kun je een jumper omzetten die de poort DCE maakt. De Phlips P2000 heeft een serieele printeraansluiting die lijkt op DCE, maar diverse signalen zijn er niet op aanwezig.
Zie figuur 1 voor de pinout van 25-polig DTE, 25-polig DCE en 9-polig.
25-polig DTE 25-polig DCE 9-polig IBM
2 - TXD (uitgang) 2 - TXD (ingang) 1 - DCD (ingang)
3 - RXD (ingang) 3 - RXD (uitgang) 2 - RXD (ingang)
4 - RTS (uitgang) 4 - RTS (ingang) 3 - TXD (uitgang)
5 - CTS (ingang) 5 - CTS (uitgang) 4 - DTR (uitgang)
6 - DSR (ingang) 6 - DSR (uitgang) 5 - Massa
7 - Massa 7 - Massa 6 - DSR (ingang)
8 - DCD (ingang) 8 - DCD (uitgang) 7 - RTS (uitgang)
20 - DTR (uitgang) 20 - DTR (ingang) 8 - CTS (ingang)
figuur 1
Er zijn nog meer signalen op de connectors beschikbaar, maar die zijn voor dit verhaal niet belangrijk, zodat ik er hier niet verder op in ga.
Je kunt met een eenvoudige multimeter (voltmeter) bepalen of een 25-polige poort DTE of DCE is. We moeten gaan zoeken naar de -12 volt van de zenduitgang voor de data. Deze uitgang is op alle computers met een RS232 poort erop aanwezig (sommige andere signalen zijn wel eens afwezig, of vast bedraad zoals bij de P2000). De procedure:
- Zet de multimeter op het meten van gelijkspanning (DC), 25V bereik.
- Pootje 7 van de 25-polige RS232 connector is altijd massa. Hier zet je de RODE pen van de multimeter op (we moeten naar een negatieve spanning gaan zoeken). Als de poort met gaatjes is uitgevoerd waar de meetpennen niet inpassen, kun je op de poort een connector plaatsen waar nog geen draadjes aan gesoldeerd zijn. Dan kan je met de meetpen precies op elk pootje gaan zitten zonder dat de pen kan wegschuiven.
- Houd de zwarte meetpen op pootje 2 en daarna op pootje 3.
- Als er spanning op pootje 2 staat is de poort DTE, als er spanning op pootje 3 staat is de poort DCE.
2. Bedraden van de connector
Er zijn 5 statuslijnen die correct gedefinieerd moeten zijn om de serieele poort te laten werken.
- RTS de computer vraagt aan het modem of hij mag zenden
- CTS de computer krijgt toestemming om te gaan zenden
- DSR het modem staat klaar om te gaan werken
- DTR de computer staat klaar om te gaan werken
- DCD het modem heeft aan de andere kant van de telefoonlijn een ander modem gevonden.
Om een verbinding tussen twee computers te maken is al deze informatie niet nodig. De verbinding is zo kort dat er geen storing kan optreden en we zorgen er zelf wel voor dat alle apparaten klaar staan. We moeten dus op elk van de twee connectors RTS met CTS doorverbinden, zodat als de computer toestemming tot zenden vraagt die ook meteen krijgt (van zichzelf), en we moeten DSR, DTR en DCD met elkaar verbinden, zodat de computer denkt dat het modem aanstaat en er aan de andere kant van de lijn ook een modem is. Om narigheid te voorkomen is het het beste om tussen de RTS/CTS en de DSR/DTR/DCD draad geen verbinding te leggen. Dan komt de computer tijdens zijn conversatie met zichzelf tenminste niet in de war.
Maak zo voor iedere computer een connector met de juiste doorverbindingen. Kijk in figuur 1 voor de pennummers van de signalen. De connectors die je moet gaan kopen luisteren naar de naam 25 polige of 9 polige D-connector. Kijk ook voor je naar de winkel gaat of de connectors achter op de computers pennetjes of gaatjes hebben, zodat je niet met verkeerde connectors thuis komt. Over het algemeen heeft een DTE pennetjes en een DCE gaatjes, maar het kan best andersom wezen. Vergeet niet er ook afschermkappen bij te kopen zodat alle solderingen aan de connector opgeborgen worden in een kap. Dan kan er geen kortsluiting komen als er wat achter de computer ligt.
3. Het maken van de kabel
Als je de twee connectors bedraad hebt, is het leggen van de verbinding niet moeilijk meer. De enige pinnen die nu nog over zijn gebleven, zijn de TXD, RXD en massa. Je hebt gemeten aan de pinnen 2 en 3 van elke computer dus je weet welke de uitgang is en welke de ingang (op de uitgang staat -12 volt, op de ingang meet je niks). Verbind de uitgang van de ene computer met de ingang van de andere en andersom, en verbind de massapinnen van beide computers met elkaar. Je kunt nu op beide computers een communicatieprogramma opstarten en bestanden gaan uitwisselen. Gelieve wel op beide communicatieprogramma's dezelfde baudsnelheid, aantal databits, pariteits- en stopbits in te stellen. Moet werken!
4. Als het niet werkt
Er zijn twee soorten storingen mogelijk: er vindt geen communicatie plaats of er wordt wel gecommuniceerd, maar de tekens komen verminkt over.
4.1. Er vindt geen communicatie plaats
Als de ene computer wel tekens wegstuurt, maar ze komen op de andere computer niet aan, dan kan dat drie oorzaken hebben: de statuslijnen zijn niet goed bedraad zodat de computer gaat staan wachten omdat hij denkt dat er niemand aan de andere kant is, de in- en uitgangsdraden zijn verwisseld zodat de ingang van de ene computer aan de ingang van de andere hangt, of er is een draad vergeten. Alleen nameten met de multimeter kan hier helpen.
Voor de volledigheid de verschillende mogelijkheden voor het verbinden van de pinnen 2 en 3 en de statuslijndoorverbindingen.
- Beide computers DTE 25-polig of beide DCE 25-polig: pin 2 van de ene naar pin 3 van de andere en pin 3 van de ene naar pin 2 van de andere. De massa van pin 7 van de ene naar pin 7 van de andere. Dit komt het meeste voor.
- De ene computer DTE 25-polig en de andere DCE 25-polig: pin 2 van de ene naar pin 2 van de andere, en pin 3 van de ene naar pin 3 van de andere. De massa van pin 7 van de ene naar pin 7 van de andere.
- De ene computer DTE 25-polig en de andere 9-polig: pin 2 van de ene naar pin 2 van de andere, en pin 3 van de ene naar pin 3 van de andere. De massa van pin 7 van de ene naar pin 5 van de andere.
- De ene computer DCE 25-polig en de andere 9-polig: pin 2 van de ene naar pin 3 van de andere, en pin 3 van de ene naar pin 2 van de andere. De massa van pin 7 van de ene naar pin 5 van de andere.
- Beide computers 9-polig: pin 2 van de ene naar pin 3 van de andere, pin 3 van de ene naar pin 2 van de andere. De massa van pin 5 van de ene naar pin 5 van de andere.
Voor de statuslijndoorverbindingen bij 25 polig: pin 4 en 5 aan elkaar en pin 6, 8 en 20 aan elkaar. Bij 9-polig: 1, 4 en 5 aan elkaar en 7 en 8 aan elkaar.
Als het nu nog niet werkt is een van de twee serieele poorten stuk of zit er een onderbreking of sluiting in de connector door slecht soldeerwerk. Door sluiting zou de poort stuk kunnen gaan, dus uitkijken bij het solderen.
Ook bestaat de mogelijkheid dat de serieele poort defect is of niet wordt ondersteund door het besturings systeem. Om te testen of de poort werkt, maak je een testplug waarop je eerst zoals hierboven omschreven de statuslijnen doorverbindt, zodat de poort denkt dat er een werkend modem is aangesloten, en vervolgens verbind je ook 2 en 3 met elkaar. Alles wat je dan intypt wordt meteen terug gestuurd en moet dan zichtbaar worden in het terminal programma.
4.2. De tekens worden verminkt
Als er wel communicatie is, maar de tekens die aankomen zijn niet dezelfde als de weggestuurde tekens, dan zijn niet aan beide kanten dezelfde baudsnelheid, aantal databits en pariteits- en stopbits ingesteld. Het aantal databits kan bij de ene computer 7 en de andere 8 zijn, dit moet met elkaar overeenstemmen. Over het algemeen kun je op 9600 baud, 8 bits met 1 stopbit en geen pariteitsbit gaan werken. Lukt dit niet dan moet je terug naar 4800, 2400 of (God verhoede het!) 1200 baud. Uiteraard moet je op een zo hoog mogelijke snelheid gaan werken, anders kon je wel eens heel lang moeten wachten voordat je bestand overgeseind is.
5. De uitzonderingen
Het maken van een kabel als je aan de ene kant een 25-polige DTE en aan de andere kant een 25-polige DCE hebt, kan ook makkelijker (maar duurder): koop een stuk flatcable en pers er aan elk eind een 25-polige flatcable-D-connector op. Dan worden alle pennen met hetzelfde nummer van de twee connctors met elkaar doorverbonden. Werkt in één keer. Handig als je 2 P3102's moet doorverbinden, je zet dan bij de ene de jumper op DTE en bij de andere op DCE, de flatcable er tussen en klaar zijn we. Ook kan je op die manier de printeruitgang van een P2000 aan een apparaat met een 25-polige DTE aansluiten, omdat de P2000 DCE is.
6. De software
Als de hardware verbinding er is, moet je op iedere computer een communicatieprogramma opstarten om de bestanden waar het om gaat over te seinen. Op de ontvangende computer moet je dan het communicatieprogramma alles wat er binnenkomt op schijf laten zetten. Dit wordt loggen naar disk genoemd. Soms kun je een communicatieprotocol zoals bv. xmodem gebruiken voor een foutvrije overdracht. Dat hangt er maar net van af wat voor software er voor de zendende computer beschikbaar is.
De zendende computer moet de juiste bestanden naar de RS232 poort zien te krijgen. Soms moet dat ook met een communicatieprogramma, soms zijn er ook andere wegen. Als de zendende computer een aansluiting voor een serieele printer heeft, zoals bijvoorbeeld bij de P2000 het geval is, kun je aan die aansluiting de ontvangende computer knopen. Alles wat je dan print, komt aan bij de nadere computer.
7. Tabel totaaloverzicht

2025 spreekt Even nog een aanvulling vanwege de moderne tijd. Dit artikel is geschreven in de tijd dat computers op DOS liepen en een eigen hardware RS232 poort op het moederbord of een insteekkaart hadden zitten. DOS communicatieprogrammas konden deze poort rechtstreeks gebruiken. Maar tegenwoordig hebben we Windows, en computers waar geen RS232 poorten meer op zitten. Om dan toch contact te kunnen leggen met een apparaat (packet modem, scanner, e.d.) waar RS232 op zit, moet er een USB naar RS232 verloopkabel worden aangeschaft. Als je een USB-RS232 kabel aanschaft, dan moet je opletten dat dit een moderne is, ten minste USB 2.0. Als je deze inplugt in de Windows computer, dan krijgt deze kabel een COM poort nummer toegewezen, maar je weet nooit van te voren welk nummer. Na het inpluggen moet je het apparaatbeheer van Windows openen, en kijken bij LPT/COM poorten welk COM nummer de USB RS232 poort gekregen heeft. Dit nummer heb je dan nodig voor het instellen van het communicatie programma. Vervolgens moet je uitzoeken hoe de RS232 aansluiting van de verloopkabel bedraad is. Het is over het algemeen een 9 polige aansluiting zoals bij de PC AT, maar ik heb vaak gezien dat het gespiegeld bedraad is. Er van uit gaand dat pin 5 de massa blijft, moet je eerst meten of je een spanning ziet op pin 2 of op pin 3, zodat je weet welke van de twee de TXD is, dan moet de andere de RXD zijn en kan je van daar af verder werken. Succes
met de knutsel!
Kees Stravers