RS-422 Information
RS-485 Information
Der serielle UART
I/O and IRQ's
Datenflußkontrolle
Which null modem?
RS232-Kabel
Spy cables
Serial printers
von USB nach RS232
Software-Downloads

RS232-Spezifikationen und -Standard

RS232-Spezifikationen, Einführung

Kommunkation, so wie sie im RS232-Standard definiert ist, ist eine asynchrone serielle Kommunikationsmethode. Der Begriff seriell bedeutet, dass die Information Bit für Bit verschickt wird. Asynchron lehrt uns, dass die Information nicht zu vorher vereinbarten Momenten versendet wird. Das Versenden der Daten kann zu jedem willkürlichen Augenblick starten und es gehört zur Aufgabe des Empfängers, zu entdecken wann eine Botschaft startet und endet. Asynchrone Kommunikation hat sowohl Vor- als auch Nachteile, beide werden im nächsten Absatz erörtert.

RS232 Bit-Reihen

Der RS232-Standard beschreibt eine Kommunikationsmethode, bei der Information Bit für Bit über einen physischen Kanal verschickt wird. Die Information muss in Datenworte unterverteilt sein. Die Länge eines Datenwortes ist variabel. Auf PCs kann einen Länge von 5 bis 8 Bits eingestellt werden. Diese Länge ist die Netto-Informationslänge jedes Wortes. Für eine gute Übertragung werden extra Bits hinzugefügt, um Synchronisation und Fehlererkennung zu ermöglichen. Es ist wichtig, dass sowohl der Sender als auch der Empfänger auf die gleiche Anzahl Datenbits eingestellt sind. Sonst kann die hereinkommende Information falsch interpretiert werden, oder sogar gar nicht erkannt werden.

Bei synchroner Kommunikation gibt es einen Zeitgeber oder ein Triggersignal, mit dem der Anfang einer jeden Datenübertragung angezeigt wird. Das Fehlen eines Zeitgebersignals macht asynchrone Kommunikation billiger in der Implementierung. Im Kabel werden weniger Leitungen benötigt. Ein Nachteil ist, dass der Empfänger zum falschen Moment anfangen kann zu empfangen. In dem Fall, ist eine zeitraubende Neusynchronisation erforderlich. Alle Daten, die während der Neusynchronisationsperiode versendet werden, gehen verloren. Ein weiterer Nachteil ist, dass extra Bits in der Bit-Reihe notwendig sind, um den Anfang und das Ende der Datenbytes anzuzeigen. Diese zusätzlichen Bits benötigen Bandbreite.

Datenbits werden mit einer festgelegten Frequenz versendet, dem Baudrate. Sowohl der Sender als auch der Empfänger müssen für den Gebrauch der gleichen Bitfrequenz programmiert sein. Nachdem der erste Bit empfangen ist, errechnet der Empfänger zu welchen Momenten die folgenden Datenbits erwartet werden können. Zu diesen Momenten wird die Leitungsspannung festgelegt werden.

Bei RS232 kann sich die Leitungsspannung in zwei Zuständen befinden. Der An-Stand ist auch unter dem englischen Namen Mark bekannt, der Aus-Stand als Space. Andere Leitungszustände sind nicht möglich. Wenn keine Daten übermittelt werden, wird die Leitung im Mark-Zustand gehalten.

Startbit

RS232 definiert eine asynchrone Kommunkationsart. Das bedeutet, dass das Versenden eines Datenwortes zu jedem Zeitpunkt anfangen kann. Das zu jedem Moment Anfangen-können kann zu einigen Problemen an der Empfängerseite führen, wenn es darum geht, zu entdecken welches Bit als erstes Bit eines Datenwortes zu empfangen ist. Um dieses Problem zu lösen, geht jedem Datenwort ein Signalbit voraus. Dieses Signalbit, auch bekannt als Startbit, ist jederzeit an dem Spacesignalniveau zu erkennen. Weil die Leitung sich im Mark-Zustand befindet, wenn keine Kommunikation erfolgt, kann das Startbit einfach vom Empfänger erkannt werden.

Datenbits

Direkt nach dem Startbit werden die Datenbits versendet. Ein Bitwert 1 sorgt dafür, dass die Leitung in den Mark-Zustand übergeht, wohingegen der Bitwert 0 durch den Space-Zustand repräsentiert wird. Das am wenigsten signifikante Bit wird immer als Erstes verschickt.

Paritätsbit

Um Transmissionsfehler entdecken zu können, ist es möglich, am Ende des Datenwortes automatisch einen Paritätsbit generieren zu lassen. Der Sender errechnet den Wert dieses Bits an Hand der verschickten Informationen. Der Empfänger führt die gleiche Berechnung aus und überprüft danach, ob das empfangene Paritätsbit mit dem errechneten Wert übereinstimmt. Dies wird eingehender in einem anderen Abschnitt beschrieben.

Stopbits

Angenommen, der Empfänger hat das Startbit verpasst, weil es zu dem Zeitpunkt Leitungsstörungen gab, in dem Fall startet der Empfang mit dem nächstfolgenden Datenbit, das einen Space Wert hat. Hierdurch werden verstümmelte Daten empfangen. Es muss ein Mechanismus vorhanden sein, der Neusynchronisation bewerkstelligen kann. Um dies zu ermöglichen, wurde der Begriff des Framing introduziert. Framing bedeutet, dass die Datenbits und das Paritätsbit von Start- und Stopbits umringt werden. Der Zeitraum zwischen den Start- und Stopbits ist konstant und hängt vom Baudrate und einer Anzahl Daten- und Paritätsbits ab. Das Startbit wird immer mit einem Space Niveau angegeben, das Stopbit mit dem Mark Niveau. Wenn der Empfänger einen anderen Wert als Mark in dem Moment entdeckt, zu dem das Stopbit hätten empfangen werden müssen, dann ist somit entdeckt, dass ein Framing Error aufgetreten ist. Hierdurch wird eine Fehlerbedingung in das UART eingebracht. Danach wird erneut versucht werden, hereinkommende Bits neu zu synchronisieren.

Um erneut zu synchronisieren sucht der Empfänger in den hereinkommenden Daten nach korrekten Pärchen aus Start- und Stopbits. Das funktioniert, solange es genug Abwechslung in den Bitmustern der hereinkommende Datenworte gibt. Wenn zum Beispiel andauernd der Datenwert 0 versendet wird, kann folglich überhaupt keine Neusynchronisation stattfinden.

Das Stopbit, das das Ende des Datenblocks anzeigt, kann verschiedene Längen haben. Eigentlich handelt es sich nicht um ein richtiges Bit, sondern um den Mindestzeitraum, in dem die Leitung sich, nach dem Ende eines jeden Datenwortes, im Mark-Zustand befinden muss. Bei PCs kann dieser Zeitraum auf drei Werte eingestellt werden : die Zeit, die benötigt wird für 1, 1,5 oder 2 Bits. 1,5 Bits können nur bei Datenworten mit einer Länge von 5 Bits benutzt werden, und 2 Bits sind nur für längere Worte anwendbar. Eine Stopbitlänge von einem Bit ist bei allen Datenwortlängen anwendbar.

RS232 Physische Eigenschaften

Der RS232-Standard beschreibt eine Kommunikationsmethode, mit der es möglich ist, unter verschiedenen Umständen zu kommunizeren. Dies wirkt sich auf die maximal zulässige Spannungen und ähnlich auf die Pins aus. In der Originaldefinition wurden die derzeitigen technischen Möglichkeiten berücksichtigt. Der maximale Baudrate, der definiert ist, ist zum Beispiel 20 kbps. Mit gegenwärtigen Elektronika, wie dem 16550A UART sind Höchstgeschwindigkeiten von 1,5 Mbps möglich.

Spannungen

Das Signal-Niveau der RS232-Pins kann sich in zwei Zuständen befinden. Ein hohes Bit, oder auch ein Mark-Zustand, wird mit einer negativen Spannung angedeutet, während ein niedriges Bit oder der Space-Zustand an einer positiven Spannung zu erkennen sind. Dies kann verwirrend erscheinen, weil normalerweise hohe logische Werte durch hohe Spannungen repräsentiert werden. Die Spannungsgrenzwerte werden in der nachfolgenden Tabelle gezeigt.

RS232 Spannungen
NiveauSender
Grenzwerte (V)
Ontvanger
Grenzwerte (V)
Space-Zustand (0)+5 ... +15+3 ... +25
Mark-Zustand (1)-5 ... -15-3 ... -25
undefiniert--3 ... +3

Weitere Informationen zu den Spannungsniveaus von RS232 und anderen seriellen Interfaces kann in der Schnittstellen-Vergleichungstabelle gefunden werden.

Das maximale Spannungsniveau, welches der Computer an der Schnittstelle erzeugen kann, kann sich auf die maximal zulässige Kabellänge und auf die Kommunikationsgeschwindigkeit auswirken. Wenn der Spannungsunterschied zu gering ist, kann Datenverstümmelung auftreten. Es folgt ein Beispiel: mein Toshiba-Laptop verfügt über eine Mark-Spannung von -9,3 V, im Vergleich dazu hat mein Desktop-Computer -11,5 V. Der Laptop hat Schwierigkeiten, mit Mitsubishi PLCs unter industriellen Bedingungen mit großen Störquellen zu kommunizieren, obwohl bei dem Desktop an sich, unter Einsatz der gleichen Kabel, keine Datenverstümmelung auftritt. Also, sogar weit außerhalb der minimal notwendigen Spannungsniveaus können 2 Volt extra zu einen erheblichen Unterschied in der Kommunikationsqualität führen.

Trotz der hohen Spannungen, die vorhanden sind, ist es nicht möglich, eine serielle Schnittstelle durch Kurzschluss zu beschädigen. Nur das Anschließen externer Spannungsquellen mit hohen Strömen wird letztendlich die RS232 Treiber in Rauch aufgehen lassen. In dem Fall wird jedoch meistens das UART noch immer nicht beschädigt sein.

Maximale Kabellängen

Kabellänge ist eines der am häufigsten erörterten Themen in der RS232-Welt. Der Standard hält hier eine deutliche Antwort bereit. Die maximal zulässige Kabellänge beträgt 15 Meter, oder die Kabellänge, die mit einer Kapazität von 2500 pF übereinkommt. Die letzte Zeile wird jedoch oft vergessen. Das bedeutet, dass es, wenn man ein Kabel mit einer niedrigen Kapazität benutzt, möglich ist, größere Entfernungen zu überbrücken, ohne außerhalb der Grenzen des Standards zu geraten. Wenn beispielsweise ein UTP CAT-5-Kabel mit einer typischen Kapazität von 57 pF/m angewendet wird, dann beträgt die maximal zulässige Kabellänge 44 Meter.

Bei der in dem Standard erwähnten Kabellänge ist es möglich, die maximale Kommunikationsgeschwindigkeit zu hantieren. Wenn die Geschwindigkeit um das zwei- oder vierfache herabgesetzt wird, dann nimmt die maximal mögliche Länge dramatisch zu. Texas Instruments hat vor einigen Jahren praktische Experimente ausgeführt, um bei verschiedenen Baudrates die maximal zulässige Kabellänge zu bestimmen. Bitte vergessen Sie hierbei nicht, dass der RS232-Standard ursprünglich für Geschwindigkeiten bis zu 20 kbps entwickelt wurde. Durch das Halbieren der maximalen Kommunikationsgeschwindigkeit nimmt die maximal zulässige Kabellänge um ein Zehnfaches zu!

RS232 Kabellänge gemäß Texas Instruments
Baudratemaximale Kabellänge (m)
1920015
9600150
4800300
2400900

Fehlererkennung

Eine Methode, um Fehler während der Datenübertragung zu entdecken, wurde bereits erörtert. Es handelt sich um den Frame-Entdeckungsmechanismus, bei dem kontrolliert wird, ob hereinkommende Datenbits von einigen Start- und Stopbits umringt werden. Zwecks weiterer Fehlerkontrolle kann das Paritätsbit eingesetzt werden. Der Einsatz dieses Bits ist jedoch nicht unbedingt erforderlich. Wenn nur selten Fehler auftreten, (wie zum Beispiel beim Kommunizieren mittels eines internen Modems) oder wenn ein Protokoll auf einem höherem Niveau eingesetzt wird, zur Fehlererkennung und Korrektur (Z-Modem, RAS, uzw.) kann die Kommunikationsgeschwindigkeit erhöht werden, indem die Paritätsmöglichkeit, die auf dem UART vorhanden ist, nicht benutzt wird.

Parität ist eine einfache Art ein Datenwort zu codieren, bei dem ein Mechanismus vorhanden ist, mit dem Fehler in der Information entdeckt werden können. Die Methode so wie sie bei der seriellen Kommunikation benutzt wird, fügt jedem Datenwort ein Bit hinzu. Der Wert dieses Bits hängt von dem Wert des Datenwortes ab. Es ist unbedingt erforderlich, dass sowohl der Sender als auch der Empfänger denselben Algorithmus benutzen um den Wert des Paritätsbits zu berechnen. Sonst kann der Empfänger Fehler entdecken, die in Wirklichkeit gar nicht vorliegen.

Gerade Parität

Einfach ausgedrückt, kann das Paritätsbit auf zwei Arten errechnet werden. Wenn eine gerade Parität angewendet wird, wird die Anzahl der versendeten hohen Informationsbits immer gerade sein. Wenn die Anzahl der Bits mit logischem Wert eins in dem Datenwort ungerade ist, dann wird eine logische eins als Paritätsbit hinzugefügt werden. Sonst wird eine logische Null benutzt werden.

Ungerade Parität

Das ungerade Paritätssystem gleicht dem geraden Paritätssystem, mit dem Unterschied, dass die Anzahl der hohen Bits immer ungerade ist.

Nachteile des Paritätssystems

Ein Paritätssystem, das sich eines Bits für jedes Datenwort bedient, ist nicht in der Lage, alle vorkommenden Fehler zu entdecken. Das zweite Problem ist, dass es keine Möglichkeit gibt, nachzuprüfen, welches Bit fehlerhaft verschickt wurde. Dort, wo es nötig ist, muss eine Protokoll auf höherem Niveau benutzt werden, um den Sender die verstümmelt empfangene Information erneut versenden zu lassen. Deshalb werden auf gestörten Datenleitungen oft andere Entdeckungssysteme angewendet, die zusichern können, dass die empfangene Information tatsächlich fehlerlos angekommen ist. Diese Systeme funktionieren meistens nicht mit einigen Datenworten, sondern mit Wortgruppen. Bekannte Systeme sind:

Literatur
1998Application Note 83 herausgegeben von Dallas Semiconductor—die sich jetzt mit Maxim vereinigt haben—in dem in einfach verständlicher (englischer) Sprache alle Aspekte des RS-232 Interface beschrieben werden.Maxim
2004Application Report SLLA067A veröffentlicht von Texas Instruments über allerlei praktische physikalische Aspekte heutiger Interfacesysteme, einschließlich einer Grafik in der die Leitungslänge und die Kommunikationsgeschwindigkeit im Verhältnis zueinander dargestellt sind.Texas Instruments
There are some things which are impossible to know,
but it is impossible to know which things these are.
JAFFE'S PRECEPT
   Lammert Bies     Interfacing     Sitemap     Forum 
 EN   NL   DE