RS-232

standardisierte serielle Datenübertragung
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 15. August 2005 um 09:44 Uhr durch Q. Wertz (Diskussion | Beiträge) (Gruppierung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Vorlage:IPStack Die heute bekannte EIA-232-Schnittstelle wurde in den frühen 60ziger von einem Standardisierungskommitee (heute als EIA oder Electronic Industries Association bekannt) eingeführt (1969 als RS-232 wie Recommended Standard 232). Zum damaligen Zeitpunkt wurden über Telefonleitungen mittels Modem Mainframes mit Text-Terminals Punkt zu Punkt verbunden. EIA-232 definiert die Verbindung zwischen dem Terminal (DTE data terminal equipment) und dem Modem (DCE data communication equipment), was Timing, Spannungspegel, Protokoll und Stecker betrifft. Allgemein sind die Parameter unter Serielle Datenübertragung erläutert. Weitere Übertragungsstandards wie RS422 RS485 etc. findet man unter der Rubrik Serielle Schnittstelle.


Übersicht

  • Eine EIA-232-Verbindung stellt eine serielle Datenübertragung dar, das heißt Bits werden nacheinander auf einer Leitung übertragen, im Gegensatz zur parallelen Datenübertragung. Die dafür nötige Seriell-Parallel-Wandlung meistens in sog. UARTs (entweder als integriertes Modul in einem Microcontroller oder als Stand-Alone-Baustein).
  • EIA-232 ist eine Spannungsschnittstelle (im Gegensatz zur Stromschnittstelle. D.h. verschiedene Spannungspegel stellen die Information dar.
    Die Datenleitungen (TxD und RxD) sind invertiert, d.h. der Spannungsbereich für die logische Eins geht von -3 Volt bis -12 Volt und die logische Null wird durch Spannungen zwischen +3 und +12 Volt abgebildet. Die Abbildung der logischen Null als positive Spannung und der logischen Eins als negative Spannung nennt man negative Logik.
    Bei den Steuerleitungen (DCD, DTR, DSR, RTS, CTS und RI) wird der aktive Zustand durch einen Spannungspegel zwischen +3 Volt und +12 Volt dargstellt, der inaktive Zustand durch Spannungen zwischen -3 und -12 Volt.
  • Die Übertragung erfolgt zeichenweise. Ein Zeichen entspricht dabei je nach Konfiguration 7 oder 8 Bits.
  • Die Datenübertragung erfolgt asynchron. D.h. es wird kein zusätzliches Synchronisationssignal (Clock-Signal) übertragen.
    Die Synchronisation geschieht ausschliesslich über die Datenleitungen selber. Das geschieht, indem sich der Empfänger genau auf die Baudrate des Senders einstellt (pro Zeichen) und sich danach auf die erste empfangene Flanke synchronisiert.
    Damit das funktioniert, muss die Baudrate von Sender und Empfänger ungefähr (bis auf einige Prozent) übereinstimmen und es müssen genügend Flanken vorhanden sein. Letzteres wird durch Start- (0 als Einleitung) und Stopbit(s) (1 als Abschluss) sichergestellt.
    Zwischen Start- und Stopbit(s) werden die eigentlichen Nutzdaten unverändert (NRZ-codiert), also ohne Synchronisierungs-Informationen, übertragen
  • Als Steckverbindung wurden nach der ursprünglichen Norm 25-polige Sub-D Stecker für DTE und Buchsen für DCE benutzt. Da viele der 25 Leitungen reine Drucker- bzw. Terminal-Steuerleitungen aus der elektromechanischen Ära sind, die für die meisten Verbindungen mit moderneren Peripheriegeräten nicht benötigt werden, haben sich heute 9-polige Sub-D-Stecker und Buchsen etabliert, die beim ersten IBM PC ursprünglich als reine Notlösung zum Platzsparen eingeführt worden waren; damals ging es darum, den Stecker zusammen mit einer ebenfalls verkleinerten Centronics-Schnittstelle auf einer Steckkarte unterzubringen.
  • Zur Vermeidung von Datenverlusten muß der Empfänger die Datenübertragung anhalten können, wenn keine weiteren Daten mehr verarbeitet werden können. Dieses sogenannte Handshake kann auf zwei Arten realisiert werden, entweder softwareseitig über bestimmte Steuercodes oder über spezielle Leitungen.
  • Beim Software-Handshake sendet der Empfänger zur Steuerung des Datenflusses spezielle Zeichen an den Sender (Xon = dez. 17 und Xoff = dez. 19). Entsprechend werden für die Datenübertragung lediglich 3 Leitungen (RxD, TxD und Gnd) benötigt. Im jeweiligen Stecker müssen dann RTS mit CTS gebrückt werden und DTR mit DSR und DCD. Andernfalls wartet die Hardware, weil die Handshakeleitungunen nicht richtig bedient werden.
  • Beim Hardware-Handshake steuert Der RxD-Empfänger über Steuerleitungen die Handshake-Eingänge CTS, DSR und DCD des TxD-Senders mit seinem Handshake-Ausgängen RTS -> CTR und DTR -> DSR & DCD. Ein Minimal-Interface mit Hardware-Handshake besteht demzufolge aus 5 Leitungen (TxD, RxD, Gnd, RTS und CTS).

Timing

 
EIA-232 Timing

Das Timingdiagramm zeigt ein Beispiel wie ein Zeichen übertagen werden kann. Zunächst liegt der Ruhepegel an. Der Ruhezustand der Übertragungsleitung, der auch mit Mark bezeichnet wird, entspricht dem Pegel einer logischen 1. Als ersten wird ein Startbit logisch 0 (Space) gesendet um Empfänger mit Sender zu synchronisieren. Die Länge der jeweiligen Bits hängt von der Baudrate ab.

übliche Baudraten
Baud s/Bit
50 20 ms
300 3,3 ms
1.200 833 µs
2.400 417 µs
4.800 208 µs
9.600 104 µs
19.200 52µs
38.400 26 µs
57.600 17 µs
115.200 8,68 µs

Darauf folgen 5-8 Datenbits (Nutzdaten). Angefangen wird mit den LSB (lowest significant bit) und beendet mit MSB (most significant bit). In diesem Beispiel wurden 8 Datenbits gesendet. Nun folgt evtl. ein Parity-Bit, welches zur Erkennung von Übertragungsfehlern dient. Das Paritätsbit bewirkt, daß bei gerader ("EVEN") Parität immer eine gerade bzw. bei ungerader ("ODD") Parität eine ungerade Anzahl von "1"-Bits übertragen wird. Es gibt also die Möglichkeiten E wie even parity oder O wie odd parity oder kein Parity-Bit entsprechend N wie non parity. Abgeschlossen wird die Übertragung mit ein oder zwei Stoppbits logisch "1". Die folgende Ruhezeit ist undefiniert und kann zwischen 0 und unendlich liegen (hier im Beispiel ein halbes Bit lang). Da alle möglichen Variationen in den Standards festgelegt sind, müssen bei beiden Geräten, die an der Kommunikation beteiligt sind, alle Parameter gleich eingestellt sein, bevor eine erfolgreiche Kommunikation zustande kommen kann.

Heutzutage hat sich für diese Einstellungen ein "üblicher Standard" herauskristallisiert, der von vielen Geräten benutzt wird.

Diese "üblichen" Einstellungen sind: 8 Datenbits, kein Parity, 1 Stoppbit, was oft als 8N1 abgekürzt wird. Entsprechend werden bei 115.200 Baud ca. 11kByte pro Sekunde übertragen.

Da meistens keine Binärübertagung erfolgt, sondern eine ASCII-Übertragung z.B. VT100 Terminal sind die ersten 32 Bitkombinationen zur Terminal Steuerung vorbehalten.

Leitungslänge & Übertragungsrate

maximal Werte
max. Baud max. Länge
2.400 900 m
4.800 300 m
9.600 152 m
19.200 15 m

Da wegen Spannungsübertragung die Spannung am Empfänger mit zumehmender Länge einer Leitung (wegen des größer werdenden elektrischen Kabel-Widerstandes und KabelKapazität) immer kleiner wird, ist die Leitungslänge begrenzt. Laut ursprünglichem Standard ist eine max. Kabellänge von 15 m entsprechend 50 Fuß entsprechend einer Kabelkapazität von 2500 pF definiert. Mit entsprechenden Kabel, welche eine besonders niedrige Kapazität aufweisen beispielsweise UTP CAT-5 Kabel mit einer Kapazität von 55 pF/m lassen sich dann konform der Definition 45 m erreichen. Ein weiterer begrenzender Faktor ist die Laufzeit des Signals. Da eine EIA-232 Schnittstelle am Ende der Leitung nicht mit einem Wellenwiderstand abgeschlossen werden kann (zu große Verlustleistung), gibt es unweigerlich eine Leitungsreflektion. Mit zunehmender Übertragungsrate und Kabellänge stören die Reflexionen immer mehr die Datenübertragung. Die folgende Tabelle gibt Erfahrungswerte von Texas Instruments wieder.

 
Kabel Ersatzschaltbild

Ein weiterer Aspekt ist das die Übertragung der Spannungspegel unbalanced ist. Das bedeutet das für alle Leitungen, egal ob Daten oder Handshake das gleiche Gnd-Kabel verwendet wird. Somit kann ein Strom auf der Txd-Leitung einen Spannungsabfall auf der Gnd-Leitung erzeugen, welcher zu einer Potentialverschiebung zwischen den beiden Komunikationspartnern führt und beispielsweise auf der Rxd-Leitung gesehen wird bzw. Störungen verursacht. Die Probleme der gegenseitigen Beinflussung über Gnd, fehlender Abschlußwiderstand etc. läßt sich nur über eine differentielle Übertragung wie bei RS-485, LVDS, etc. beheben.

Verkabelung & Stecker

Datei:Rs232 buchse 9pol.png
Pinbelegung des EIA-232 Steckers (9-pol.)
 
EIA-232 Stecker, neunpolig

Um zwei Rechner über die serielle Schnittstelle zu verbinden, müssen die "hörenden" mit den "sprechenden" Leitungen verbunden werden, d.h. TxD muss mit RxD und CTS mit RTS verbunden werden.

  • Handelt es sich bei der Verbindung um ein Terminal (DTE data terminal equipment) mit Stecker und ein Modem (DCE data communication equipment) mit Buchse, ist ein 1:1 Kabel möglich.
  • Handelt es sich jedoch um zwei gleiche Geräte z.B. 2 PCs, so sind die Leitungen zu Kreuzen. Ein solches Kabel nennt man ein Nullmodem-Kabel.

Die wichtigsten Signalleitungen, ihre Namen und Bedeutungen (am 25-pol. und 9-pol. Anschluss)

Abkürzung Name Beschreibung Pin-Nr.
25-pol.
Pin-Nr.
9-pol.
Input/Output (vom PC aus gesehen)
  Common Ground Gemeinsame Abschirmmasse (nicht Datenmasse) Pin 1 - -
TxD Transmit Data Leitung für ausgehende (gesendete) Daten. Pin 2 Pin 3 Out
RxD Receive Data Leitung für den Empfang von Daten. Pin 3 Pin 2 In
RTS Request to Send "Sendeanforderung"; Eine logische Eins an diesem Ausgang signalisiert der Gegenstelle, dass sie Daten Senden kann Pin 4 Pin 7 Out
CTS Clear to Send Eine logische Eins an diesem Eingang ist ein Signal der Gegenstelle, dass sie Daten entgegennehmen kann Pin 5 Pin 8 In
DSR Dataset Ready Ein angeschlossenes Gerät signalisiert dem Computer, dass es einsatzbereit (nicht notwendigerweise empfangsbereit) ist, wenn eine logische Eins auf dieser Leitung anliegt. Pin 6 Pin 6 In
GND Ground Signalmasse. Die Signalspannungen werden gegen diese Leitung gemessen. Pin 7 Pin 5 -
DCD Data Carrier Detected Ein Gerät signalisiert dem Computer, dass es einlaufende Daten auf der Leitung erkennt Pin 8 Pin 1 In
DTR Data Terminal Ready Über diese Leitung signalisiert der PC dem Gerät, dass er betriebsbereit ist. Damit kann ein Gerät eingeschaltet oder zurückgesetzt werden. (Üblicherweise schaltet ein Gerät z.B. Modem diese Leitung auf DSR durch, wenn es einsatzbereit ist) Pin 20 Pin 4 Out
RI Ring Indicator Das Gerät zeigt dem PC an, dass ein Anruf ankommt ("ring" ist engl. für "klingeln"; besonders bei Modems) Pin 22 Pin 9 In

Weitere Standards

V.28 der ITU standard (1972) welcher alle Funktionen der Schaltkreise des RS-232 interface def. EIA-232 enthält. die elekt. signal def. von V.28, control signale von V.25 und Stecker und Pin Belegung def. in ISO 2110.

V.24 An ITU standard (1964) def. alle Funkt. RS-232 interface, aber nicht Stecker oder Belegung, welche in ISO 2110 def. sind.

EIA-232 enthält. die elekt. signal def. von V.24, elect. Char. von V.28 aber nicht Stecker oder Belegung, welche in ISO 2110 def. sind.

Sie entspricht einer V.24/V.28/ISO-2110-Schnittstelle hinsichtlich Signalsemantik, Elektrik und Steckerbelegung.


Siehe auch: Hardware-Protokoll, Software-Protokoll, RS-422 RS-485 LVDS USB etc.