RS232

RS232 er en standard definert av EIA. I utgangspunktet står de to første bokstavene i RS232 for ”Recommended Standard”.
RS232 (også beskrevet som RS232C) har vært en av de mest brukte standarder for seriell overføring over korte distanser, men ser ut til å gradvis bli overtatt av USB.

RS232 leveres med 3 forskjellige konnektor typer som standard. Den mest kjente er 9-pins Dsub (han plugg i terminal). Deretter kommer 25-pins Dsub (både hun og han plugg brukes). Og i de senere år har også RJ-45 (hun plugg i terminal) kommet i stadig større omfang.

Alle data som er beskrevet nedenfor relaterer seg til hva som vanligvis brukes på terminal siden.

Irontech leverer også såkalt Trådløs RS232 overgang som i realiteten baserer seg på en RS232 til Bluetooth overgang (fysisk størrelse som en USB stick) eller RS232 til Ethernet (kablet eller trådløst). Trådløs RS232-Bluetooth med «multi drop» er beskrevet i en link lenger ned på siden. Våre industri tastaturer og touch screen skjermer er blant de løsningene som kan benytte seg av RS232 interface. Teknisk info om våre tastaturer finnes her. Vi har imidlertid valgt å ikke inkludere USB – RS232 overganger. Årsaken til dette er beskrevet nederst på siden. Forøvrig har vi en egen siden som omhandler USB kabler og interface på lik linje med denne siden.

Nedenfor er pin-layout for RS232 beskrevet og sett fra PC siden. Tegningene avviker på ett punkt ved at han plugger som oftest har beskrevet pinnene som sorte felt. Ettersom vi har valgt å legge pin nummer inn der evt pinner skal stå er både han og hun plugger beskrevet med kun en sirkel. Legg også merke til at 9-pins Dsub har pin nr. 1 øverst til venstre. Alle andre Dsub har pinne 1 øverst til høyre om vi ser mot en PC (fra kabelen).

Begrensninger ved bruk av RS232

RS232 standarden har noen begrensninger som elektrisk interface. Et av dem er at det forventes felles jord mellom DTE og DCE signalene (se oversikt nedenfor). Dette fungerer fint for korte kabelstrekk i samme rom, men med lengre kabler kan det oppstå ekstreme forskjeller mht jordpotensialet. Dessuten er det vanskelig å avsløre støy på et slikt signal. Eksternstøy kan til en viss grad forhindres vha skjerming av kabelen, men intern støy er vesentlig vanskeligere å fjerne. Dessuten vil det oppstå store problemer med «crosstalk» (signaloverføring mellom ledere) når kabelen blir lang og kapasitansen mellom lederne øker. Bruk av spesielle kabler med lav kapasitans vil kunne redusere slik støy. Også overføring med reduserte hastigheter kan være med på å redusere slike støy problemer. Alle disse støykildene indikerer at RS232 er best egnet over korte avstander (under 30 meter ?) og fra punkt til punkt. Mange velger derfor RS422 eller 485 som en alternativ løsning for tradisjonell seriekommunikasjon med RS232 (RS422/485 beskriver også bruken av galvanisk skille). RS422/485 standardene er mindre mottagelig for støy og kan kables over 1 km. Et alternativ kan være å bruke en overgang mellom RS232 og ethernet og å eventuelt benytte standard ethernet kabel. Siden som omhandler ethernet gir også en veldig enkel beskrivelse av galvanisk skille. Et annet alternativ er å benytte våre RS232 til Bluetooth overganger å få til en «multi drop» (kommunikasjon med flere RS232 enheter på en port).Det finnes også overganger for trådløs RS232 eller USB kommunikasjon som kan fungere opp til 600-700 meter med riktig antenne.

DCE og DTE enheter

DTE står for “Data Terminal Equipment”, og DCE står for Data Communications Equipment. Disse beskrivelsene er brukt for å beskrive pinout signalene på de forskjellige konnektorene som benyttes og hvilke vei signalene sendes. En PC er en DTE enhet, mens de fleste enhetene som er koblet til denne (for eksempel et modem) er DCE enheter. Det finnes i realiteten flere såkalte RS232 standarder. Eksempler er RS-232C, RS-232D, V.24, V.28 og V.10. RS232 benyttes både til asynkron kommunikasjon og synkron kommunikasjon som SDLC, HDLC, Frame Relay og X.25.

Synkron dataoverføring

Dette krever at dataoverføringen skjer direkte fra program til program svarer uten å påbegynne ny kommunikasjon. En typisk overføring vha synkron kommunikasjon vil være å overføre datafiler fra et punkt til et annet. Eneste svaret som sendes er om overføringen har skjedd riktig eller om det må oversendes på nytt.

Asynkron kommunikasjon

Det er egentlig en overføringsmetode som tilsier at bare deler av datamengden behøver oversendes, for så å gjenoppta overføringen litt senere. En telefonsamtale kan regnes som asynkron kommunikasjon om den i den andre avbryter før den første kan fortsette å si det som var meningen å fortelle. Dessuten vil asynkron kommunikasjon kreve en start og stopp bit for å avklare om datastrømmen er “data eller støy”. Asynkron kommunikasjon blir derfor fra tid til annen også kalt “start-stopp overføring”.

Pinout og konnektorer

9-pin Dsub – male

25-pin Dsub – female

RJ-45 – female

Foruten de 3 overstående konnektorene refereres det fra tid til annen til 6-pins serieporter.
Noen ganger er det snakk om RS232 konnektor som støtter både CMOS og TTL.

Andre ganger er det ikke snakk om RS232 i det hele tatt men USB, firewire (IEEE1394), keyboard/mus vha mini din, Serial ATA (SATA), PCI-X eller andre typer seriell overføringer. Noen leverer dessuten 15-pins Dsub løsninger med RS232.
Dessuten er NMEA en mye brukt standard innen maritime applikasjoner. NMEA er dessuten blitt standard mht seriell interface mot f.eks. GPS og satellittnavigering. For de som ønsker å lage sine egne kabler er dette enkelt om en begrenser seg til de standard konnektorer som er beskrevet. Det er likevel å anbefale å kjøpe ferdige løsninger da slike kabler koster godt under en 50 lapp avhengig av kabellengde.

Nedenfor er signalene og pinner som brukes på de 3 aktuelle konnektorene beskrevet. Noen ganger kan signalene ha litt annen benevnelse hos enkelte leverandører (f.eks. at TxD beskrives som TD, RxD som RD og GND beskrives som SG eller SGND, etc).

RS232 - DB9 INTERFACE

Pin# Signal Signalbesrivelse (engelsk)
1 DCD Data carrier detect
2 RxD Receive data
3 TxD Transmit data
4 DTR Data terminal ready
5 GND Signal Ground
6 DSR Data set ready
7 RTS Request to send
8 CTS Clear to send
9 RI Ring indicator

RS232 - DB25 INTERFACE

Vanligvis benyttes ikke pinner/signaler beskrevet med rødt

Pin# Signal Signalbesrivelse (engelsk) Pin# Signal Signalbesrivelse (engelsk)
1 PG Protective ground 14 STD STD Secondary TD
2 TxD Transmit data 15 TC TC Transmit Clock
3 RxD Receive data 16 SRD SRD Secondary RD
4 RTS Request to send 17 RS RS Receiver clock
5 CTS Clear to send 18 RES Ready to Send
6 DSR Data set ready 19 SES SRS Secondary RTS
7 GND Signal Ground 20 DTR Data terminal ready
8 DCD Data carrier detect 21 SQD SQD Signal Quality Detector
9 + + Voltage (testing) 22 RI Ring indicator
10 - - Voltage (testing) 23 DRS DRS Data rate select
11 NC Not connected 24 XTC XTC External Clock
12 SCD SCD Secondary CD 25 NC Not connected
13 SCS SCS Secondary CTS

RS232 - RJ45 INTERFACE

Pin# Signal Signalbesrivelse (engelsk)
1 DSR/RI Data set ready/Ring
2 DCD Data carrier detect
3 DTR Data terminal ready
4 GND Signal ground
5 RxD Receive data
6 TxD Transmit data
7 CTS Clear to send
8 RTS Ready to send

Null modem kabel pinout:

Om 2 terminaler skal koples sammen (DTR) er Null Modem kabel et mye brukt alternativ.

DTE (25 pin) → DTE (25 pin)

Pin# Signal Pin# Signal
2 TxD 2 TxD
3 RxD 3 RxD
4 RTS 4 RTS
5 CTS 5 CTS
6 DSR 6 DSR
8 DCD 8 DCD
20 DTR 20 DTR
7 SG 7 SG

DTE (25 pin) → DTE (9 pin)

Pin# Signal Pin# Signal
2 TxD 3 TxD
3 RxD 2 RxD
4 RTS 7 RTS
5 CTS 8 CTS
6 DSR 6 DSR
8 DCD 1 DCD
20 DTR 4 DTR
7 SG 5 SG

DTE (9 pin) → DTE (9 pin)

Pin# Signal Pin# Signal
3 TxD 3 TxD
2 RxD 2 RxD
7 RTS 7 RTS
8 CTS 8 CTS
6 DSR 6 DSR
1 DCD 1 DCD
4 DTR 4 DTR
5 SG 5 SG

Signal beskrivelse:

TxD – Denne pinnen overfører data fra PC til den serielle enheten som er tilkoblet.
RxD – Denne pinnen overfører data fra den seriell enheten som er tilkoblet og til PC.
DTR – DTR brukes av PC (datamaskin) for å fortelle at den er klar til å kommunisere med seriell enhet som modem, etc. (dvs. informerer modem eller annen seriell enhet/DSU/CSU at DTE (PC) er slått på.
DSR – Tilsvarer DTR og forteller at seriell enhet (eks. modem) er slått på.
DCD – Data Carrier Detect forteller at bærer for sender data er slått på.
RTS – Denne pinnen benyttes for å få klarsignal om at data kan sendes til seriell enhet (f.eks. modem).
CTS – Denne pinnen benyttes til å gi seriell enhet beskjed om at PC’ens RTS signal er slått på. I mange tilfeller er RTS og CTS konstant på (høy) ved kommunikasjon.
TC og RC og XTC er klokkesignaler for synkron kommunikasjon. Seriell enhet/DSU trekker klokkesignalet og gir et stabilt klokkesignal til DTE. Vær oppmerksom på at klokkesignaler for sender og mottager ikke behøver å like (ikke engang samme overføringshastighet).
CD – Carrier detect brukes av f.eks. modem til å fortelle at det har fått kontakt med et annet modem (gjenkjent «carrier» tone).
RI – Ring indicator er et signal som forteller at det er mottatt et innkommende signal til modemet og modemet bytter status på innkommende linje.

CD og RI er derfor kun tilgjengelig når serielinjen koples til et modem ettersom modem må gi beskjed til PC om at en ekstern telefonlinje åpnes eller at det detekteres et modem i andre linjen.

 

Spesifikasjoner for RS232

Mode SINGLE-ENDED
Maks antall sendere og mottagere – 1 sender, 1 mottager
Maksimum kabellengde 50 FT.
Maksimum overføringshastighet 20kb/s (kan være høyere med spesielle chipset)
Maksimum Output Voltage +/-25V
Sender Output Signal nivå med last +/-5V to +/-15V
Sender Output Signal nivå uten last +/-25V
Last Impedance (Ohms) 3k to 7k
Mottager max inngangs spenning +/-15V
Mottager inngangs følsomhet/udefinert +/-3V

Problem med USB - RS232 overgang

En del har opplevd problemer ved bruk av USB til/fra RS232 overgang. Årsaken kan være mange, men kjente tilfeller har bl.a. bakgrunn i dette:

På PC siden er det gjerne 3 spenningsnivåer som er tilgjengelig. +5V (for UART, +12V og -12V (for signal). Noe av årsaken til problemer med kommunikasjonen ligger på det ekstreme prispresset som produsentene har. I mange miljøer er pris det eneste kriteriet ved valg av løsning, og leverandørene i Norge har små muligheter til å teste overgangene i hvert enkelt tilfelle.

USB interface leverer som kjent kun +5V (se mer info om USB på vår side som omhandler dette). En intern DC-DC konverter skal booste opp denne spenningen til 12V og invertere den. Dette er det dessverre vanskelig for de rimeligste DC-DC konverterne å gjøre. I andre tilfeller benyttes +/- 5V til å drive signalene ettersom spesifikasjonene (se ovenfor) tilsier at spenninger mellom +/- 3V er udefinerte signaler mens spenningsnivåer som er høyere enn dette defineres som «high/low». +5V brukes også i en del tilfeller til å drive UART på RS232 siden. Men en del UART kretser (også fra kjente produsenter) klarer ikke å følge denne spesifikasjonen. En stor og kjent produsent av UART kretser definerer f.eks. spenninger mellom 0-2V som ‘0’ (space/low), mens spenninger under ‘0’ defineres som ‘1’ (mark/high). Andre UART løsninger definerer også spenninger over +2V som ‘0’ (space/low). Noen ganger fungerer inngangssignalet fint, men enheten klarer ikke å svare med riktig signal tilbake.

Enda vanskeligere blir det når overgangen mellom USB og RS232 fungerer noen ganger, mens den andre ganger feiler. Dette kan for eksempel skje at en rimelig USB device fungerer greit når den henges på en rimelig laptop, mens en dyrere USB enhet ikke fungerer. Årsaken kan da være at den dyrest USB enheten er designet for å være «immun mot støy, mens den rimelige løsningen ikke er det. Når en laptop med en «low cost» RS232 implementasjon sender signalet som blir sett på som støy i andre enden, vil løsningen naturligvis ikke fungere tilfredsstillende.

Et annet problem som kan skje er «handshake» signalene. Noen benytter software handshake mens andre løsninger benytter hardware handshake. Hardware handshake er utelat av en del produsenter av USB-RS232. Om det er krav til hardware handshake vil det naturligvis kunne oppstå problemer.

I andre tilfeller benyttes hardware handshake kun om det er snakk om å overføre store datamengder. I slike tilfeller kan en oppleve at løsningen fungerer greit i 1 time, 1 dag eller 1 uke, – for så å feile. Slike ustabile løsninger skaper av naturlige årsaker store problemer om en avhengig av en løsning som fungerer tilfredsstillende over lengre tid.

Copyright © 2020
Jørn Jensen

Gjengitt med tillatelse.

Om ønsker informasjon som ikke finnes på våre sider, ber vi deg kontakte oss med f.eks. en mail til vår support avdeling. Vi vil da forsøke å få opp mer informasjon så raskt som mulig.

Skroll til toppen