RS-232

RS-232 er i telekommunikasjonen en standard for seriell sammenkopling mellom en dataterminal (DTE) og datakretsløpsterminerende utstyr (DCE; for eksempel et modem). Standarden er ofte brukt i seriellporter på PC-er. En lignende ITU-T standard er V.24. RS er en forkortelse for «Recommended Standard» (anbefalt standard).

Historie

Standarden var originalt laget for å spesifisere sammenkoplingen mellom en elektromekanisk fjernskriver og et modem. Når elektroniske terminaler (smarte og dumme) først begynte å bli brukt, så var de ofte laget for å bytte eller bli byttet ut med fjernskrivere. Derfor støttet de også RS-232. C-revisjonen ble utgitt i 1969 for å tilpasse standarden til terminalenes elektriske egenskaper.
Fordi at standarden ikke var laget for datamaskiner, printere og så videre, så implementerte ofte designerne av slike apparater RS-232 på sin egen måte. Vanlige problemer var andre pinneoppsett og uriktige eller ingen kontrollsignaler. På grunn av denne manglende overholdelsen av standarden så begynte mange firmaer med å lage breakout- og patchbokser, testutstyr, bøker og andre hjelpemidler for å kople sammen forskjellig utstyr.
Senere begynte datamaskiner å ta i bruk standarden slik at de kunne koples opp mot eksisterende utstyr. RS-232-kompatible porter var i flere år en standard for seriell kommunikasjon, for eksempel for modem, for mange datamaskiner. Standarden var populær fram til slutten av 1990-tallet. Selv om den i dag har stort sett blitt byttet ut med andre standarder, så er den fremdeles brukt på bakoverkompatibelt utstyr.
Standarden har blitt omdøpt flere ganger på grunn av at sponsororganisasjonen har skiftet navn. Andre navn er EIA RS 232, EIA 232, og senest TIA 232. Standarden fortsetter med på bli revidert og oppdatert av EIA og, siden 1988, TIA (TIA). Revisjon C ble utgitt august 1969 og revisjon D i 1986. Nåværende revisjon kalles TIA-232-F Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange og kom ut i 1997. Forandringer siden revisjon C er timing og større samsvar med CCITT-standarden V.24. Utstyr laget for nåværende standard vil virke med utstyr bygd etter eldre revisjoner.

Rolle i dagens datamaskiner

I boken "PC 97 Hardware Design Guide" anbefalte Microsoft å slutte med å bruke den RS-232-kompatible serieporten fra det originale IBM PC-designet. I dag blir RS-232 gradvis erstattet med USB for lokal kommunikasjon. USB er raskere, bruker lavere spenningsnivå og har mindre kontakter som det er enklere å koble ting til. USB er designet slik at det skal være enklere for driverne å kommunisere med tilkoplet maskinvare. USB er dog en mer kompleks standard som trenger mer programvare som støtter protokollen. RS-232 ble også brukt til å kontrollere forskjellig apparat som ikke hadde RS-232 implementert på apparatets side. Dette er ikke mulig med USB.
Mange datamaskiner for kontorbruk blir ofte solgt uten bakoverkompatibilitet med RS-232. Det er dog ofte brukt på salgsteder (strekkode- og kortlesere), amatørelektronikk og industrielle måleapparater og fjernkontrollering. Datamaskiner laget for slike formål har derfor ofte en RS-232 port. Som et alternativ så finnes det maskinvare for USB som lar deg kople til apparater som bruker serieporten. Disse trenger da en ekstra driver slik at programmene kan bruke det som er koplet til serieporten som om det skulle være koplet direkte til maskinen.

Detaljer

Data blir sendt som en serie med biter. Både synkrone og asynkrone overføringer er tillatt ifølge standarden. Hver krets opererer bare en vei, som for eksempel signal fra en DTE til en DCE eller omvendt. Siden datasending og datamottak er på separate kretser, kan grensesnittet operere i full dupleks, altså sende og motta data samtidig. Standarden definerer ikke innpakning av data eller koding av karakterer.
Det vanligste oppsettet er en asynkron link som sender sju eller åtte biter om gangen. Bitene består av en startbit, sju eller åtte databiter (minst signifikante bit først), en valgfri paritetsbit og en stoppbit. Den konstante tilstanden er kalt for "Marking state". Begynnelsen på en ny karakter signaliseres ved å sette den til "Space state". Bitene blir da sendt ved å alternere mellom disse to og slutter med en stoppbit. Mange mekaniske fjernskrivere trenger ekstra tid for å klargjøres for neste karakter så mange systemer sender derfor to stoppbiter.
Historisk sett så brukte fjernskrivere og lignende ASCII i USA, og forskjellige andre tegnsett andre steder. Noen veldig gamle fjernskrivere og Telex-systemene brukte Baudot.

Spenningsnivå

RS-232-standarden definerer spenningsnivå som samsvarer med logisk en og null. Signaler er pluss eller minus 3-15V. Området rundt 0V er ikke et gyldig nivå. Logisk en er definert som negativ spenning og har funksjonen OFF. Logisk null er positiv og har funskjonen ON.  Standarden spesifiserer en maks spenningsnivå på 25V. ±5 V, ±10 V, ±12 V og ±15 V er vanlige etter hvilken type strømforsyning apparatet har. Kretser som driver et RS-232-kompatibelt grensesnitt må kunne tåle endeløs kortslutning til jord eller spenning til og med 25V. "Slew-rate", eller hvor raskt signalet skifter mellom nivåene, er også kontrollert.

Kabler

Siden standarden ikke alltid er korrekt anvendt, så er det ofte nødvendig å bruke dokumentasjon, testkoplinger med en breakoutboks eller prøve og feile for å finne en kabel som virker mellom to apparater. For å koble sammen en fullt kompatibel DCE og DTE trenger man en kabel som kobler sammen identiske pinner på hver kontakt (en såkalt straight kabel). Kjønnsskiftere er tilgjengelig for å løse problemer med å koble sammen apparater og kabler. For å koble sammen apparater med forskjellig type kontakter trenger man en kabel som kopler sammen pinnene ifølge tabellen over. Kabler med 9 pinner på en side og 25 på den andre er vanlige og produsenter av utstyr med RJ-45 kontakter inkluderer som oftest en kabel med enten en DB-25 eller DE-9 kontakt (eller utbyttbare kontakter).
Man trenger ett såkalt null modem for å kople sammen to DTEer. Denne vil da oppføre seg som en DCE og kobler sammen de rette pinnene (TD-RD, DTR-DSR og RTS-CTS). Man kan enten bruke to vanlige kabler og et apparat eller en kabel hvor pinnene er koblet sammen for dette formålet. En egenskap ved Yost-standarden er at en nullmodem-kabel er en "rollover"-kabel som bare kobler om pin 1 og 8.
Hvis man skal konfigurere eller finne problemer med RS-232-kabler så kan en "breakoutboks brukes. Denne vil normalt ha en hunnkjønns- og en hannkjønnskontakt og er ment til å koples til mellom to apparater. Den har lys som indikerer aktivitet på de forskjellige pinnene og mulighet til å kople om pinnene til forskjellige konfigurasjoner.
RS-232-kabler kan lages med kontakter som kan kjøpes på elektronikkforretninger. Kablene må ha mellom 3 og 25 ledninger, vanligvis brukes 4 eller 6. Flate RJ-kabler (telefonkabler) kan bli brukt med spesielle RJ-RS232 kontakter, som er de enkleste å konfigurere.
Grunnen til at et tvo-veis grensesnitt kan bli laget med bare tre ledninger er at signalene deler jord. Bruken av ubalanserte kretser gjør at RS-232 er følsom overfor forandringer i jord mellom apparatene. RS-232 har også relativt dårlig kontroll over tiden mellom skifting av spenningsnivå, noe som kan forårsake krysstale. RS-232 var anbefalt for korte distanser (15 meter eller kortere). RS-232-kabler er vanligvis ikke laget med tvinnete par på grunn av de ubalanserte kretsene.
Selv om kontrollinjene på RS-232-grensesnittet var originalt laget for å sette opp og ta ned oppkoplinger, så kan andre "handshake"-metoder være nødvendig. Disse linjene kan bli brukt som flytkontroll slik at man kan verifisere mottak av data sendt til en skriver. Pinn 20 er ofte brukt for å indikere at apparatet er klart til mottak av data. Pinner kan også bli rutet tilbake på ett av apparatene. For eksempel så kan en pinne som sier "er du klar?" på apparat A bli sendt til pinnen som sier "jeg er klar" på apparat A hvis B ikke sendte signalet. Vanlige pinner for "handshake" er 20, 8, 4 og 6.

Sjeldent brukte egenskaper

EIA-232-standarden spesifiserer koblinger for flere egenskaper som ikke er mye brukt. Disse egenskapene trenger en 25-pins kontakt og kabler, og selvfølgelig må både DTE og DCE støtte det.

Signalhastighetsvalg

DTE eller DCE kan velge mellom en høy eller lav hastighet. Hastigheter og hvilken av de som skal bestemme hastighetet må være konfigurert i både DTE og DCE. Høy hastighet blir valgt ved å sette pin 23 til ON.

Loopbacktest

Mange DCEer kan bruke loopback for testing av oppkoplingen. Når den er slått på så vil signalene bli sendt tilbake til senderen istedenfor å bli sendt til mottakeren. Hvis det er støttet så kan en DTE signalisere en lokal DCE (den DTEen er koplet til) at den skal gå inn i loopbackmodus ved å sette pin 18 til ON, eller en fjern DCE (den den lokale DCEn er koplet til) ved å sette pin 21 til ON. Når DCEen er i denne modusen så vil den signalisere DTEen ved å sette pin 25 til ON.
En annen måte er å koble sammen pinnene i kabelen. Da trenger man ikke støtte for loopback i apparatene.
Loopback er ofte utført med en spesialisert DTE kalt en "Bit Error Rate Tester (BERT).

Timingsignal

Noen apparater som opererer synkront bruker et klokkesignal til å synkronisere dataoverføringen. Dette er gjort av DCEen på pinnene 15 og 17. Pin 15 er sendeklokka; DTEen sender neste bit på datalinjen (pin 2) når pin 15 går fra OFF til ON. Pin 17 er mottakerklokka; DTEen leser neste bit fra datalinjen (pin 3) når denne klokka går fra ON til OFF.
Alternativt så kan DTEen sende ut et klokkesignal på pin 24 for både sendt og mottatt data. Igjen så er data sendt når klokka går fra OFF til ON og lest når den går fra ON til OFF.