Schnittstelle RS 232

Der Begriff EIA-232, ursprünglich RS-232, bezeichnet einen Standard für eine serielle Schnittstelle, die in den frühen 1960ern von einem US-amerikanischen Standardisierungskomitee (heute EIA – Electronic Industries Alliance) eingeführt wurde.

Anwendung der EIA-232

Mainframes und Text-Terminals sind unter Zuhilfenahme von Modems durch Punkt-zu-Punkt-Verbindungen über die Telefonleitung ähnlich wie Fernschreiber zusammengeschlossen worden. Die Übertragung der Daten bei beiden Systemen erfolgte sequenziell.

Amerikanische Norm

Die aktuelle amerikanische Version heißt offiziell ANSI/EIA/TIA-232-F-1997 und ist aus dem Jahr 1997. Die aktuell in den USA und Europa übliche Bezeichnung ist RS-232 (RS steht dabei für Radio Sector, womit die ursprünglich zuständige Abteilung der Behörde gemeint ist, wird aber heute als Recommended Standard gelesen). Zur Frage der korrekten Bezeichnung siehe den Abschnitt Kennzeichnung von Standards bei EIA – Electronic Industries Alliance.

Definition

Prinzip Verbindung DTE-DCE-Telefonnetz-DCE-DTE

Verwendungsprinzip

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 RS-422, RS-485 findet man unter der Rubrik Serielle Schnittstelle.

  • Die Übertragung erfolgt in Wörtern. Ein Wort entspricht dabei je nach Konfiguration 5 bis 9 Bits, in dem dann ein einzelnes Zeichen kodiert ist. Meistens erfolgt die Kodierung gemäß ASCII. Häufig kommen auch (ASCII-)Steuercodes für die Ansteuerung eines Terminals wie VT100 zum Einsatz, diese sind im RS232 Standard jedoch nicht definiert. Üblich ist daher, 7 bzw. 8 Datenbits zu übertragen. Jedoch ist beispielsweise auch (nach Anpassung der Signalpegel) die Verarbeitung des 5-bit-Fernschreib-Codes möglich.
  • Eine EIA-232-Verbindung arbeitet (bit-)seriell mit je einer Datenleitung für beide Übertragungsrichtungen. Das heißt, die Bits werden nacheinander auf einer Leitung übertragen, im Gegensatz zur parallelen Datenübertragung. Die dafür nötige Seriell-Parallel-Wandlung geschieht meistens in sog. UARTs (entweder als integriertes Modul in einem Microcontroller oder als Stand-Alone-Baustein). Die EIA-232 wird deshalb häufig salopp „serielle Schnittstelle“ genannt, obwohl es zahllose andere serielle Schnittstellenarten gibt.
  • Die Datenübertragung erfolgt asynchron. D. h. der Zeitabstand zwischen den zu übertragenen Worten kann beliebig lang sein. Die Synchronisation in die Übertragung erfolgt durch den Empfänger als so genannte Wortsynchronisation, also am Anfang und am Ende des Wortes. Die Synchronisation des Abfragetaktes des Empfängers geschieht mit dem Start der Übertragung auf der Datenleitung. Der Empfänger synchronisiert sich in die Mitte des so genannten Startbits (1 Bit vor den Datenbits) und taktet die folgenden Bits des Datenwortes mit „seiner“ Baudrate ab. Damit das funktioniert, muss die Baudrate von Sender und Empfänger ungefähr (bis auf einige Prozent) übereinstimmen. Jedes übertragene Wort muss somit von einem Startbit (logischer Wert 0) eingeleitet und mit 1, 1,5 oder 2 Stopbit(s) (logischer Wert 1) abgeschlossen werden. Zwischen Start- und Stopbit(s) werden die eigentlichen Nutzdaten (Datenbits) über die Taktzeit unverändert (NRZ-codiert) übertragen.
  • EIA-232 ist eine Spannungsschnittstelle (im Gegensatz z. B. zu einer Stromschnittstelle). Die Information (Bit) wird durch eine elektrische Spannung kodiert. Für die Datenleitungen (TxD und RxD) wird eine negative Logik verwendet, wobei eine Spannung zwischen -3 Volt und -15 Volt (ANSI/EIA/TIA-232-F-1997) eine logische Eins und eine Spannung zwischen +3 Volt und +15 Volt eine logische Null darstellt. Signalpegel zwischen -3V und +3V gelten als undefiniert. Bei den Steuerleitungen (DCD, DTR, DSR, RTS, CTS und RI) wird der aktive Zustand durch eine Spannung zwischen +3 Volt und +15 Volt dargestellt, der inaktive Zustand durch eine Spannung zwischen -3 Volt und -15 Volt. Man beachte jedoch, dass die hier angegebenen (und mehrheitlich benutzten) Bezeichnungen für die Steuerleitungen im Original Standard so nicht vorkommen. Dort sind lediglich gewisse Schaltkreise beschrieben die diesen Bezeichnungen zwar zugeordnet werden können, die im Standard aber anders benannt sind. Die oben angegebenen Spannungen beziehen sich auf die Empfänger (Eingänge). Bei den Sendern (Ausgänge) muss die Spannung mindestens +5V bzw. -5V an einer Last von 3…7 kO betragen, um genügend Störabstand zu gewährleisten. Üblich ist die Verwendung von +12V und -12V.
  • Als Steckverbindung wurden nach der ursprünglichen Norm 25-polige D-Sub-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, welche häufig DB-9 genannt werden oder korrekter DE-9. Diese waren beim IBM PC/AT ursprünglich als reine Notlösung zum Platzsparen eingeführt worden (damals ging es darum, den Stecker zusammen mit einer ebenfalls verkleinerten Centronics-Schnittstelle auf einer Steckkarte unterzubringen). Der 9-polige Stecker ist daher auch nicht in der RS-232 Norm zu finden, sondern im Standard EIA/TIA-574. Für die EIA-232 Datenübertragung werden selten auch noch andere Konnektoren benutzt wie z. B. RJ45 (spezifiziert in EIA/TIA 561) oder komplett firmenspezifische.
  • Zur Vermeidung von Datenverlusten muss der Empfänger die Datenübertragung anhalten können, wenn keine weiteren Daten mehr verarbeitet werden können. Dieser so genannte 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. Entsprechend werden für die Datenübertragung lediglich drei Leitungen (RxD, TxD und Gnd) benötigt, aber diese Art Handshake ist nur dann möglich, wenn die beiden Steuercodes in den Nutzdaten nicht vorkommen. Beim Xon/Xoff-Protokoll sendet der Empfänger zur Steuerung des Datenflusses spezielle Zeichen an den Sender (Xon = 11h und Xoff = 13h).
  • Beim Hardware-Handshake steuert der RxD-Empfänger über Steuerleitungen die Handshake-Eingänge CTS, DSR und DCD des TxD-Senders mit seinen Handshake-Ausgängen RTS ? CTS und DTR ? DSR & DCD. Ein Minimal-Interface mit Hardware-Handshake besteht demzufolge aus fünf Leitungen (TxD, RxD, Gnd, RTS und CTS). Dieser Abschnitt trifft so nur auf Nullmodem-Verbindungen zu.
  • Grundsätzlich sind Simplex-, Halbduplex- und Vollduplex-Verbindungen möglich (siehe Duplex).
  • Im Standard ist auch eine 25-polige Variante mit zwei unabhängigen Datenkanälen (jeweils mit Sende- und Empfangsleitungen) spezifiziert, die in der Praxis jedoch sehr selten anzutreffen ist.
  • Spezielle Baudraten oder Paritätsverfahren sind im Standard nicht festgelegt.

Datenrahmen und Timing

Bitrate (bit/s) Bitdauer
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
230.400 4,34 µs
460.800 2,17 µs

Das Timingdiagramm zeigt ein Beispiel, wie ein Zeichen übertragen wird. Zunächst liegt der Ruhepegel an. Der Ruhezustand der Übertragungsleitung, der auch mit „Mark“ bezeichnet wird, entspricht dem Pegel einer „logischen 1“. Als Erstes wird das Startbit logisch „0“ („Space“) gesendet, um den Empfänger mit dem Sender synchronisieren zu lassen. Die (zeitliche) Dauer der jeweiligen Bits hängt von der eingestellten Bitrate ab, welche bei der EIA-232 als Sonderfall gleich der Baudrate ist.

EIA-232-Datenrahmen

EIA-232-Datenrahmen

Darauf folgen 5 bis 8 Datenbits (Nutzdaten). Angefangen wird mit den LSB (least significant bit) und beendet mit dem MSB (most significant bit). In diesem Beispiel werden 8 Datenbits gesendet. Nun folgt optional ein Parity-Bit, welches zur Erkennung von Übertragungsfehlern dient. Das Paritätsbit bewirkt, dass 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 no parity. Weiterhin kann das Paritätsbit immer gesetzt („M“ wie mark parity) oder immer gelöscht („S“ wie space parity) sein. Abgeschlossen wird die Übertragung mit ein oder zwei Stoppbits logisch „1“. Die folgende Ruhezeit darf beliebig lang sein (hier im Beispiel ist sie 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, damit eine erfolgreiche Kommunikation garantiert werden kann.

Von vielen Geräten werden folgende Einstellungen verwendet: 8 Datenbits, no Parity, 1 Stoppbit, was oft als 8N1 abgekürzt wird. Damit sind für die Übertragung eines Bytes auf der Leitung mindestens 1 + 8 + 1 „Bitdauern“ nötig, woraus sich bei 115.200 Bit/s für die Nutzdaten ein Maximaldurchsatz von 92.160 Bit/s (=115.200×8/10 Bit/s) ergibt. Um ein definiertes Übertragungsverhalten zu erreichen, schreibt die Norm eine maximale Flankensteilheit am Sender und eine (von der Bitrate abhängige) minimale Flankensteilheit im Übergangsbereich -3 V .. 3 V am Empfänger vor.

Leitungslänge und Übertragungsrate

max. Baud max. Länge
2400 900m
4800 300m
9600 152m
19.200 15m
57.600 5m
115.200 < 2m

Da wegen der verwendeten Spannungsübertragung die Spannung am Empfänger mit zunehmender Leitungslänge (wegen des größer werdenden elektrischen Kabelwiderstandes und der Kabelkapazität) abnimmt, ist die Leitungslänge begrenzt.

Ein weiterer begrenzender Faktor ist die Laufzeit des Signals. Da eine EIA-232-Schnittstelle am Leitungsende nicht mit ihrem Wellenwiderstand abgeschlossen werden kann (zu große Verlustleistung), gibt es unweigerlich Leitungsreflexionen. Mit zunehmender Übertragungsrate und Kabellänge stören die Reflexionen immer mehr die Datenübertragung. Die Norm verlangt, dass die Flankensteilheit am Sender den Wert 30 V/µs nicht überschreiten darf, womit die Auswirkung der Reflexionen begrenzt werden.

Ein weiterer Aspekt ist, dass die Signalübertragung nicht differentiell, sondern asymmetrisch (single-ended bzw. unbalanced) erfolgt. Das zu übertragende Signal beinhaltet einen Gleichspannungsanteil und ist deshalb relativ empfindlich auf Gleichtaktstörungen. Solche Störungen können z. B. entstehen durch induktive Einkopplung in die Schleife RxD-Gnd. Weil sich alle Signale auf das gleiche Gnd-Signal beziehen, kann ein Strom auf der Txd-Leitung einen Spannungsabfall auf der Gnd-Leitung erzeugen, welcher zu einer Potentialverschiebung zwischen den beiden Kommunikationspartnern führt und beispielsweise auf der RxD-Leitung gesehen wird und Störungen verursacht.

Laut ursprünglichem Standard ist eine Kabelkapazität von max. 2500 pF zulässig, was bei Standardkabeln einer Kabellänge von max. 15 m (50 Fuß) entspricht. Mit Kabeln, welche eine besonders niedrige Kapazität aufweisen (beispielsweise UTP CAT-5 Kabel mit 55 pF/m), lassen sich konform zur Definition 45 m erreichen. Die nebenstehende Tabelle gibt Erfahrungswerte von Texas Instruments wieder.

Die Probleme der gegenseitigen Beeinflussung über Gnd, fehlender Abschlusswiderstand etc. lassen sich durch eine differentielle Übertragung wie bei RS-485, LVDS etc. beheben.

Verkabelung und Stecker

DE-9-Stecker

Pinbelegung des DE-9-Steckers (9-pol., male)

DE-9-Buchse

Pinbelegung der DE-9-Buchse (9-pol., female)

DE-9-Stiftleiste

DE-9-Stiftleiste, neunpolig

Um zwei Geräte über die serielle Schnittstelle zu verbinden, müssen die „hörenden“ mit den „sprechenden“ Leitungen verbunden werden. Bei Terminals bzw. Rechnern (DTE – data terminal equipment) sind „sprechende“ Leitungen TxD, RTS und DTR, „hörende“ Leitungen sind RxD, CTS und DSR. Bei Modems (DCE – data circuit-terminating equipment) ist es genau umgekehrt; es gibt die vom Terminal „gesprochenen“ Signale an die Gegenseite weiter und muss daher auf diese „hören“, andersherum werden die von der Gegenstelle „gehörten“ Signale zum Terminal „weitergesagt“.

  • Handelt es sich um eine Verbindung von Terminal bzw. Rechner (DTE) mit Stecker zu einem Modem (DCE) mit Buchse, ist ein 1:1-Kabel nötig.
  • Handelt es sich dagegen um eine Verbindung zweier gleicher Geräte (z. B. zweier PCs), so sind die Leitungen zu kreuzen. Ein solches Kabel nennt man Nullmodem-Kabel.
  • Durch einen Loopback-Stecker bzw. -Buchse wird das serielle Sendesignal eines Gerätes direkt zum Empfangsteil des gleichen Gerätes geführt. Anwendung findet ein solches loopback device u. a. bei der Entwicklung von Kommunikationsprogrammen.

Die praktische Identifizierung von DTE- und DCE-Geräten ist durch Messung der Spannung zwischen GND und TxD bzw. RxD (Pins 2 und 3, unterschiedliche Belegung 9- und 25-poliger Kabel beachten) möglich.

Textquelle und weitere Informationen

Die Texte und Bilder aus diesem Artikel stammen aus der freien Enzyklopädie Wikipedia und dem Artikel EIA-232.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.