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 wurden bis in die frühen 1990er-Jahre unter Zuhilfenahme von Modems durch Punkt-zu-Punkt-Verbindungen über die Telefonleitung zusammengeschlossen. Die Datenübertragung zwischen den beiden Systemen erfolgte seriell. Durch den ursprünglichen Verwendungszweck bedingt, weist die Schnittstelle einige Asymmetrien bei der Definition der Steuerleitungen auf, die bei den später üblich gewordenen Anwendungen in völlig anderen Bereichen zu Verschaltungsproblemen führen können.
Amerikanische Norm
Die aktuelle amerikanische Version heißt offiziell (ANSI EIA/) TIA-232-F, ist vom Oktober 1997 und enthält Ergänzungen und Bestätigungen bis 2012 (Stand März 2023). 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
RS-232 definiert die Verbindung zwischen dem Terminal (Datenendeinrichtung (DEE), englisch data terminal equipment (DTE)) und dem Modem (Datenübertragungseinrichtung (DÜE), englisch data communication equipment (DCE)), was Timing und Spannungspegel betrifft. Als Steckverbinder wurden die 25-polige D-Sub empfohlen (nicht vorgeschrieben). Das Übertragungsprotokoll ist nicht Bestandteil des Standards. Allgemein sind die Parameter unter Serielle Datenübertragung erläutert.
Weitere Übertragungsstandards wie RS-422, RS-485 sind in dem Artikel Serielle Schnittstelle zu finden.
- Die Übertragung erfolgt in Wörtern. Ein Wort entspricht dabei je nach Konfiguration fünf bis neun 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 RS-232-Standard jedoch nicht definiert. Üblich ist daher, sieben bzw. acht Datenbits zu übertragen. Jedoch ist beispielsweise auch (nach Anpassung der Signalpegel) die Verarbeitung des 5-bit-Fernschreib-Codes möglich.
- Eine RS-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 sogenannten UARTs (entweder als integriertes Modul in einem Mikrocontroller oder als Einzelbaustein).
- Obwohl es zahllose andere serielle Schnittstellenarten gibt, wird die RS-232 traditionell „serielle Schnittstelle“ genannt, weil sie früher speziell im PC-Bereich die einzig übliche war.
- Die Datenübertragung erfolgt asynchron, es existiert also kein gemeinsamer Takt. Jeder Teilnehmer kann bei freier Leitung, zu jedem beliebigen Zeitpunkt, vollständige Datenwörter übertragen. Die Synchronisation in der Übertragung erfolgt durch den Empfänger als sogenannte Wortsynchronisation, also am Anfang durch die Signalflanke des Startbits.
Die Synchronisation des Empfängers geschieht mit dem Start der Übertragung auf der Datenleitung, da das Stopp-Bit bzw. der Ruhezustand auf der Leitung den inversen Pegel zum Start-Bit aufweist. Der Empfänger synchronisiert sich so in die Mitte der einzelnen Datenbits und tastet die folgenden Bits des Datenwortes mit seiner eigenen Bitrate ab.
Damit das funktioniert, dürfen die Bitraten von Sender und Empfänger nur einige Prozent voneinander abweichen. Jedes übertragene Wort muss somit von einem Startbit (logischer Wert 0) eingeleitet und mit mindestens einem Stopp-Bit (logischer Wert 1) abgeschlossen werden. Das Stopp-Bit ist kein Bit im eigentlichen Sinne, sondern bezeichnet die Mindestlänge der Pause bzw. des Ruhezustands. Daher können zwischen zwei Wörtern beliebig viele Stopp-Bits vorliegen, auch nichtganzzahlige Werte wie 1,5 Stopp-Bits. Damit ist gemeint, dass die Mindestdauer der Pause der Zeitdauer von 1,5 Bitzellen entspricht. Der Grund liegt darin, dass manche UARTs zwischen dem Empfang zweier Wörter eine etwas längere Pause von mehr als einer Bitdauer benötigen.
Zwischen Start- und Stopp-Bit(s) werden die eigentlichen Nutzdaten (Datenbits) über die Taktzeit unverändert (NRZ-codiert) übertragen. Beispielhafter Spannungsverlauf bei serieller Übertragung des Zeichens „K“ (0x4b) mit einem UART und den zulässigen Spannungsbereichen - RS-232 ist eine Spannungsschnittstelle (im Gegensatz z. B. zu einer Stromschnittstelle). Die binären Zustände werden durch verschiedene elektrische Spannungspegel realisiert.
Für die Datenleitungen (TxD und RxD) wird eine negative Logik verwendet, wobei eine Spannung zwischen −3 V und −15 V (ANSI/EIA/TIA-232-F-1997) eine logische Eins und eine Spannung zwischen +3 V und +15 V eine logische Null darstellt. Signalpegel zwischen −3 V und +3 V gelten als undefiniert.
Bei den Steuerleitungen (DCD, DTR, DSR, RTS, CTS und RI) wird der aktive Zustand durch eine Spannung zwischen +3 V und +15 V dargestellt, der inaktive Zustand durch eine Spannung zwischen −3 V und −15 V. Zu beachten ist jedoch, dass die hier angegebenen (und mehrheitlich benutzten) Bezeichnungen für die Steuerleitungen im Original-Standard so nicht vorkommen. Dort sind lediglich gewisse Schaltungen beschrieben, die diesen Bezeichnungen zwar zugeordnet werden können, 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 +5 V bzw. −5 V an einer Last von 3 bis 7 kΩ betragen, um genügend Störabstand zu gewährleisten. Üblich ist die Verwendung von +12 V und −12 V. - Der ursprüngliche Standard empfahl die Verwendung von 25-poligen Steckverbindern, die zwei unabhängige Datenkanäle (jeweils mit Sende- und Empfangsleitungen) ermöglichten. Mit der Einführung der PCs verbreitete sich die heute meist verwendete Variante mit 9-poligen Verbindern.
- 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 D-Sub-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 RS-232-Datenübertragung werden selten auch noch andere Konnektoren benutzt, wie z. B. Mini-DIN, Modular 8P8C (unkorrekterweise oft als RJ-45 bezeichnet, 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 sogenannte Handshake kann auf zwei Arten realisiert werden, entweder softwareseitig über bestimmte Steuercodes oder über spezielle Leitungen (Hardware-Handshake). 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. Diese Art Handshake ist aber nur möglich, wenn die beiden Steuercodes in den Nutzdaten nicht vorkommen. Beim meist verwendeten Xon/Xoff-Protokoll sendet der Empfänger zur Steuerung des Datenflusses spezielle Zeichen an den Sender (Xon = 11h und Xoff = 13h).
Beim Hardware-Handshake signalisieren sich die beiden Geräte über zusätzliche Steuer- und Meldeleitungen ihren jeweiligen Status. Ein Minimal-Interface mit Hardware-Handshake besteht beispielsweise aus fünf Leitungen (TxD, RxD, GND, RTS und CTS).
Grundsätzlich ist eine Vollduplex-Verbindung möglich, da für Sendung und Empfang getrennte Datenleitungen zur Verfügung stehen.
Spezielle Bitraten oder Paritätsverfahren sind im Standard nicht festgelegt.
Der Standard legt keine Bitraten fest, obwohl erwähnt wird, dass er für Übertragungsraten bis 20 kbit/s gedacht ist. Übliche UARTs, die in Verbindung mit der RS-232 verwendet werden, unterstützen Übertragungsraten von 115,2 kbit/s und mehr. 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.
Manche Computer (wie der Amiga) akzeptieren als Eingang auch +5 V für Low und 0 V für High, deshalb reicht schon ein einfacher Inverter.
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.
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
Pinbelegung des DE-9-Steckers (9-pol., male)
Pinbelegung der DE-9-Buchse (9-pol., female)
DE-9-Stiftleiste, neunpolig (Foto: Wollschaf)
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 RS-232.
Ihr Bild „EIA-232-Datenrahmen“ habe Sie von Wikipedia geklaut. Beachten Sie, dass auch für Bilder aus der Wikipedia häufig Lizenzen angewandt werden, in diesem Fall eine Creative Commons CC BY-SA 4.0 Lizenz. Das heißt, Sie müssen den Urheber nennen und Ihr Werk unter die gleiche Lizenz stellen.
Sie hätten sicherlich auch was dagegen, wenn jemand ihr geistiges Eigentum übernimmt und Sie dafür keine Credits bekommen würden…
Danke für den Hinweis! Das entsprechende Bild ist in Wikipedia nicht mehr vorhanden, sodass ich keine Quellenangabe mehr machen kann. Bei den anderen Bildern habe ich dies nachgeholt, sofern erforderlich. Der Artikel hatte und hat am Ende zusätzlich einen Verweis auf den Artikel und die Bilder bei Wikipedia.