RS-232
RS-232 (Recommended Standard 232) ist ein Standard für eine serielle Schnittstelle, der in den frühen 1960er Jahren vom US-amerikanischen Standardisierungsgremium Electronic Industries Association (EIA) erarbeitet wurde und bis in die 2010er Jahre häufig bei Computern vorhanden war.
Anwendung
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.
Aktuelle Verwendung
Weltweit werden immer weniger Geräte mit RS-232-Schnittstelle produziert. Beispiele sind Service- und Konfigurationsanschlüsse bei Geräten wie z. B. Router, Switches, Speichersysteme, Laborgeräte und Point-Of-Sale-Terminals. Alternative serielle Schnittstellen bieten zuverlässigere und schnellere Verbindungsmöglichkeiten. Nur noch wenige PCs werden mit einem COM-Port ausgeliefert, Notebookhersteller bieten diese Ausstattungsoption nahezu gar nicht mehr an. Um Geräte, die eine RS-232-Schnittstelle besitzen, mit Computern ohne diese betreiben und programmieren zu können, gibt es Konverter von USB auf RS-232. Auch Steckkarten mit RS-232-Schnittstellen für PCs werden angeboten.
Viele aktuelle Geräte mit RS-232 nutzen nur drei Adern bzw. Pins (RX, TX, GND), verzichten also auf die Handshake- und Steuerleitungen. Wegen der niedrigen Datenrate, der vergleichsweise geringen Anforderungen an die Verkabelung und des hohen, toleranten Signalpegels ist die RS-232 auch weiterhin verbreitet, wenn es um Störsicherheit und lange Signalverbindungen geht. Sie wird jedoch in dieser Hinsicht von Twisted-pair-Netzwerkkabelverbindungen mit Transformator („Ethernet“) sowie vom RS-485-Standard übertroffen.
Zur Potentialtrennung sowie zur Erhöhung der Störsicherheit werden optische Zwischenstecker angeboten, die ihre Betriebsspannung aus den Signalpegeln beziehen, also keine eigene Stromversorgung benötigen.
ANSI-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).[2] Die in den USA und Europa übliche Bezeichnung ist RS-232 (RS steht dabei für Recommended Standard). 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.
- 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[3]). 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.
Leitungslänge und Übertragungsrate
Übertragungsrate (kBd) |
Länge (m) |
---|---|
2,4 | 900 |
4,8 | 300 |
9,6 | 152 |
19,2 | 15 |
57,6 | 5 |
115,2 | < 2 |
Da die Signalqualität mit zunehmender Leitungslänge abnimmt, ist die Leitungslänge begrenzt.
Ein begrenzender Faktor ist die Laufzeit des Signals. Da eine RS-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 Auswirkungen der Reflexionen begrenzt werden. Empfängerseitig wird durch einen Schmitt-Trigger wieder ein Rechtecksignal mit sehr hoher Flankensteilheit hergestellt.
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. durch induktive Einkopplung in die Schleife RxD-GND entstehen. 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
Um zwei Geräte über die serielle Schnittstelle zu verbinden, müssen die „hörenden“ Leitungen des einen Gerätes mit den „sprechenden“ der anderen Seite verbunden werden. Bei Terminals bzw. Rechnern (DTE / data terminal equipment) sind „sprechende“ Leitungen TxD, RTS und DTR, „hörende“ Leitungen sind RxD, CTS, DSR, DCD und RI. 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 Gegenseite „gehörten“ Signale zum Terminal „weitergesagt“.
- Handelt es sich um eine Verbindung von Terminal bzw. Rechner (DTE) (meistens mit Stecker) zu einem Modem (DCE) (meistens mit Buchse), ist ein 1:1-Kabel nötig.
- Handelt es sich dagegen um eine Verbindung zweier Geräte gleichen Typs (z. B. zweier PCs), so sind die Leitungen zu kreuzen. Ein solches Kabel nennt man Nullmodem-Kabel, da kein Modem (also '0 Modems') eingesetzt wird. Aufgrund des unsymmetrisch definierten Satzes von Steuersignalen und deren zum Teil recht freizügiger Verwendung gibt es jedoch nicht DAS gekreuzte Kabel schlechthin, das immer passt. Jedoch hat sich ein Standard durchgesetzt, der allgemein als Nullmodemkabel bezeichnet wird und in aller Regel funktioniert. In Extremfällen kann aber z. B. ein Kabelende, das für den Anschluss an ein DTE-Gerät ausgelegt ist, evtl. an einem DCE-Gerät einen Kurzschluss verursachen (der im Normalfall laut V.28-Spezifikation keinen Hardware-Schaden nach sich ziehen darf, aber in der Praxis bereits vorgekommen ist).
- Durch einen Loopback-Stecker bzw. -Buchse wird das serielle Sendesignal eines Gerätes direkt zum Empfangsteil desselben Gerätes geführt. Anwendung findet ein solches loopback device u. a. bei der Entwicklung von Kommunikationsprogrammen oder zum Testen der Hardware. Falls auch die Steuerleitungen „geloopt“ werden, ist auch hier zu beachten, dass je nach Typ des Gerätes (DTE oder DCE) die Steuersignale DCD und RI jeweils beide entweder Eingang oder Ausgang sind und kein eindeutig definiertes „Gegenüber“ haben. Sie müssen daher geeignet verschaltet werden, damit keine Kurzschlüsse zwischen Ausgängen oder undefinierte Eingangspegel entstehen.
Die praktische Identifizierung von DTE- und DCE-Geräten ist durch Messung des Ruhepegels möglich (Spannung zwischen GND und TxD bzw. RxD, unterschiedliche Belegung 9- und 25-poliger Kabel beachten). Manche modernen Geräte erkennen unbeschaltete Anschlüsse und schalten zwecks Energieeinsparung die Ausgangstreiber ab. In diesem Fall muss den vermutlichen Ausgängen durch einen geeigneten Widerstand zwischen Signalanschluss und GND ein angeschlossenes Gegenüber vorgegaukelt werden.
Messung zwischen |
DTE | DCE |
---|---|---|
GND und TxD | −3 … −15 V | ca. 0 V |
GND und RxD | ca. 0 V | −3 … −15 V |
Die Namen und Beschreibungen der wichtigsten Signalleitungen orientieren sich an der ursprünglichen Verwendung der Schnittstelle. Mit „Gegenstelle“ ist in dieser Tabelle nicht die Gegenseite (beim klassischen Verwendungszweck diejenige am anderen Ende der Telefonleitung) gemeint, sondern der lokale Partner des DTE (also im klassischen Fall ein DCE (Modem)). Die Leitungsbezeichnungen sind sowohl bei DTE (PC) als auch bei DCE (Modem) die gleichen und aus der Sicht des DTE formuliert, aber die Eigenschaft des Anschlusses (Eingang bzw. Ausgang) ist jeweils unterschiedlich.
Abkürzung | Name | Beschreibung | Pin-Nr. DB-25 |
Pin-Nr. DE-9 |
Pin-Nr. Modular 8P8C |
Richtung beim DTE (z. B. PC) | Richtung beim DCE (z. B. Modem) |
---|---|---|---|---|---|---|---|
Common Ground | Gemeinsame Abschirmmasse (nicht Datenmasse) | 1 | — | — | — | — | |
TxD, TX, TD | Transmit Data | Leitung für ausgehende (von DTE gesendete) Daten (negative Logik). | 2 | 3 | 6 | Ausgang | Eingang |
RxD, RX, RD | Receive Data | Leitung für eingehende (von DTE zu empfangende) Daten (negative Logik). | 3 | 2 | 5 | Eingang | Ausgang |
RTS | Request to Send | „Sendeanforderung“; ein High-Pegel an diesem Ausgang signalisiert, dass DTE Daten senden möchte | 4 | 7 | 8 | Ausgang | Eingang |
RTR | Ready to Receive | „Empfangsstatus“; ein High-Pegel an diesem Ausgang signalisiert der Gegenstelle, dass DTE bereit ist, Daten zu empfangen | 4 | 7 | 8 | Ausgang | Eingang |
CTS | Clear to Send | „Sendeerlaubnis“; Ein High-Pegel an diesem Eingang ist ein Signal der Gegenstelle, dass sie Daten von DTE entgegennehmen kann | 5 | 8 | 7 | Eingang | Ausgang |
DSR | Data Set Ready | Ein High-Pegel an diesem Eingang ist ein Signal der Gegenstelle, dass sie im Prinzip einsatzbereit ist (aber nicht notwendigerweise auch empfangsbereit, siehe CTS) | 6 | 6 | 1 | Eingang | Ausgang |
GND | Ground | Signalmasse. Die Signalspannungen werden gegen diese Leitung gemessen. | 7 | 5 | 4 | — | — |
DCD, CD, RLSD | (Data) Carrier Detect | Mit einem High-Pegel an diesem Eingang signalisiert die Gegenstelle, dass sie einlaufende Daten auf der Leitung erkennt (dem Namen nach ist das die Modulationsträger-Erkennung) und an DTE weitergeben möchte | 8 | 1 | 2 | Eingang | Ausgang |
DTR | Data Terminal Ready | Mit einem High-Pegel an diesem Ausgang signalisiert DTE seine Betriebsbereitschaft an die Gegenstelle. Damit kann die Gegenstelle, z. B. ein Modem, aktiviert oder auch zurückgesetzt werden. Üblicherweise antwortet die Gegenstelle mit einem High-Pegel auf DSR | 20 | 4 | 3 | Ausgang | Eingang |
RI | Ring Indicator | Ein High-Pegel an diesem Eingang signalisiert dem DTE-Gerät, dass ein Anruf ankommt, d. h., dass jemand eine Datenverbindung aufbauen will („ring“ ist englisch für „klingeln“; besonders bei Telefonen und im übertragenen Sinne auch bei Modems). Siehe auch Rufspannung. | 22 | 9 | — | Eingang | Ausgang |
RTS, CTS und RTR
Ursprünglich wurde RTS/CTS für Halbduplex-Modems (wie das Bell 202) entwickelt. Solche Modems schalten ihren Transmitter ab, wenn er nicht benötigt wird; sie müssen ein Synchronisationssignal schicken, wenn der Transmitter wieder eingeschaltet wird. Will der Rechner (DTE) Daten senden, so wird das über RTS signalisiert. Hat das Modem (DCE) sich mit dem entfernten Modem synchronisiert, wird dies über CTS signalisiert. Solche Modems werden nicht mehr benutzt. Da nur Synchronisation in eine Richtung erlaubt ist, ist das Verfahren asymmetrisch.
Ein symmetrisches Verfahren, das Flusskontrolle in beide Richtungen erlaubt, wurde in den späten 1980er Jahren entwickelt. Die Bedeutung des RTS-Signals wurde neu definiert, so dass es angibt, ob der DTE bereit ist, Daten vom DCE zu empfangen. Analog signalisiert CTS, ob der DCE bereit ist, Daten vom DTE zu empfangen. Diese neue Definition ist auch unter dem Namen „RTR“ (Ready To Receive) bekannt (siehe CCITT V.24 circuit 133 und TIA-232-E). Wenn von RTS/CTS-Flusskontrolle gesprochen wird, ist oft RTR/CTS-Flusskontrolle gemeint.
Weitere Standards
- V.24: Der ITU-Standard (1964) definiert über 50 Schnittstellenleitungen. Die RS-232-Schnittstelle benutzt davon 22.
- V.28: Der ITU-Standard (1972) beschreibt elektrische Eigenschaften einer Schnittstelle, die sehr oft zusammen mit der V.24 benutzt wird.
- DIN 66020-1: Die durch das Deutsche-Institut-für-Normung weitgehend übernommene V.24.
- ISO 2110: Definition der Mechanik eines Steckverbinders.
Siehe auch
Literatur
- Burkhard Kainka: Messen, Steuern, Regeln über die RS 232-Schnittstelle. 7. Auflage. Franzis Verlag, 1997, ISBN 3-7723-6058-0 (mit CD-ROM).
- Joe Campbell: V 24 / RS-232 Kommunikation. (6313 736). 4. Auflage. Sybex-Verlag, 1984, ISBN 3-88745-075-2.
- Gerhard Schnell und Bernhard Wiedemann: Bussysteme in der Automatisierungs- und Prozesstechnik. 7. Auflage. Vieweg + Teubner Verlag, 2008, ISBN 978-3-8348-0425-9.
Weblinks
- Diverse RS-232-Steckerbelegungen und Kabel. lammertbies.nl
- UART-Programmierung RS-232/V.24 (PDF, 148 kB) adontec.com
- Einführung in RS-232. sprut.de
- Die serielle Schnittstelle – Grundlagen. hsg-kl.de
- RS232-Schnittstelle – Hintergrundinformationen. wut.de
Einzelnachweise
- ↑ Yamaha Receiver RX-V Driver 1.0. RTI Home Automation Systems “This driver is for the Yamaha RX-V Series of receivers connected to the XP processor via RS-232”
- ↑ TIA-232 Revision F, October 1997. Includes all amendments and changes through Reaffirmation Notice. TIA, Dezember 2012, abgerufen am 10. März 2023 (englisch).
- ↑ Bild einer ähnlichen Steckkarte von Compaq mit Druckeranschluss und seriellem Port auf dem Slotblech