RS232
RS232 er en standard definert av EIA. I utgangspunktet står de to
første bokstavene i RS232 for ”Recomended 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 blandt 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 omhandre erthernet 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 stop bit for å avklare om datastrømmen er “data
eller støy”. Asynkron kommunikasjon blir derfor fra tid til annen
også kalt “start-srtop 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 |
SGnd |
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 |
| 2 |
RxD |
- |
2 |
RxD |
| 3 |
TxD |
- |
3 |
TxD |
| 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 1sender 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,
1dag 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 © 2005 Irontech AS
Jørn Jensen
Full oversikt over
de andre interface løsningene vi har beskrevet finner du på
vår support side.
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.
Interface for våre små
embedded industripc for vegg og bord montering
finnes her.
Hjemmesidene til Irontech AS
besøkes årlig av nesten 40.000. De 2 siste årene har Irontech vært
"leid ut", men vil bli vurdert solgt for "en årslønn". Dette vil
kjøper garantert tjene inn første året, og hvis så ikke skjer vil
det overskytende betales tilbake.
Også undertegnede som har skrevet denne artikkelen (eier av Irontech
AS) og andre tekniske artikler på Irontech sin hjemmeside kan tenke
seg å vurdere jobbtilbud med lønnsnivå ned mot statens satser av
personlige årsaker.
For begge saker kan jeg
kontaktes på jornjen@online.no
|