- COM-Port
-
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.
Inhaltsverzeichnis
Anwendung
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
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. es existiert kein gemeinsamer Takt, jeder Teilnehmer kann vollständige Datenwörter zu jedem beliebigen Zeitpunkt senden und/oder empfangen. Die Synchronisation in die Übertragung erfolgt durch den Empfänger als sogenannte 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 sogenannten 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 −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 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 +5 V bzw. −5 V an einer Last von 3…7 kΩ betragen, um genügend Störabstand zu gewährleisten. Üblich ist die Verwendung von +12 V und −12 V. - 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 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. 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
übliche Bitraten 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
Maximalwerte max. Baud max. Länge 2.400 900 m 4.800 300 m 9.600 152 m 19.200 15 m 57.600 5 m 115.200 <2 m 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. 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. 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
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.
Messung
zwischenDTE DCE GND und TxD −3 … −15 V ca. 0 V GND und RxD ca. 0 V −3 … −15 V Namen und Bedeutungen der wichtigsten Signalleitungen. WICHTIG: Leitungsbezeichnungen immer aus Sicht des DTEs (Computers)!
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,TX,TD Transmit Data Leitung für ausgehende (gesendete) Daten. Pin 2 Pin 3 Out RxD,RX,RD Receive Data Leitung für den Empfang von Daten. Pin 3 Pin 2 In RTS Request to Send „Sendeanforderung“; Eine logische Null an diesem Ausgang signalisiert der Gegenstelle, dass sie Daten senden kann Pin 4 Pin 7 Out CTS Clear to Send Eine logische Null 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 Null auf dieser Leitung anliegt. Pin 6 Pin 6 In GND Ground Signalmasse. Die Signalspannungen werden gegen diese Leitung gemessen. Pin 7 Pin 5 — DCD,CD (Data) Carrier Detect Ein Gerät signalisiert dem Computer, dass es einlaufende Daten auf der Leitung erkennt (dem Namen nach ist das die Modulationsträger-Erkennung) 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). Siehe auch: Rufton. Pin 22 Pin 9 In Weitere Standards
- V.24: Der ITU-Standard (1964) definiert über 50 Schnittstellenleitungen. Die EIA-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 weitgehend übernommene deutsche Industrienorm der V.24.
- ISO 2110: Definition der Mechanik eines Steckverbinders.
Literatur
- Burkhard Kainka: Messen, Steuern, Regeln über die RS 232-Schnittstelle, m. CD-ROM. 7. Auflage. Franzis Verlag, 1997, ISBN 978-3-7723-6058-9.
- Joe Campbell: V 24 / RS-232 Kommunikation. (6313 736). 4. Auflage. Sybex-Verlag GmbH, 1984, ISBN 978-3-8874-5075-5.
Weblinks
- verschiedene Schnittstellen
- diverse Steckerbelegungen und Kabel
- alle Steckerbelegungen
- diverse Verkabelungen
- Tutorial und 16550-Programmierung (UART)
- UART 16550 (Register)
- UART-Programmierung RS-232/V.24
- Einführung in RS-232
- Die serielle Schnittstelle – Grundlagen
- Application Note von Texas Instruments, u. a. mit Übersicht über Timing-Anforderungen und Hinweisen zur Abschätzung der erreichbaren Kabellänge (englisch) (PDF)
Wikimedia Foundation.