Aus RN-Wissen.de
Version vom 19. Dezember 2005, 09:55 Uhr von PicNick (Diskussion | Beiträge) (Softwarehandshake)

Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

Baustelle.gif An diesem Artikel arbeitet gerade Mitglied vish.

Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.

Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor vish per PM / Mail oder Forum nachfragen ob er vergessen wurde.

Einleitung

Die heute als EIA-232 bekannte Schnittstelle wurde 1960 als RS-232 Schnittstelle (RS = Radio Section) eingeführt und definiert die Verbindung zwischen Terminal (DTE Data Terminal Equipment) und Modem (DCE Data Communication Equipment), was Timing, Spannungspegel, Protokoll und Steckverbindungen angeht. Damals wurden Mainframes mittels Modem mit Text-Terminals verbunden.

Übertragung

Allgemeines

Die EIA-232 Schnittstelle ist eine Spannungsschnittstelle, die aus zwei direktionalen, Datenleitungen (RxD und TxD) und einigen Steuerleitungen besteht und somit Daten seriell verschickt werden. Der Spannungsbereich der Schnittstelle erstreckt sich von -3V bis -12V beziehungsweise von +3V - +12V. Die Datenleitungen sind invertiert, folglich wird eine logische 1 durch eine Spannung von -3V bis -12V repräsentiert und eine logische 0 durch eine Spannung von +3V bis +12V. Ein weiterer Aspekt ist, dass es kein Synchronisationssignal (Clock-Signal) gibt, wie beispielsweise beim I2C-Bus, weshalb man auch von einer asynchronen Datenübertragung spricht.

Timing

Datei:EIA-232 Datenübertragung.png

Synchronisation

Die Synchronisation erfolgt ausschließlich über die Datenleitungen in Form von Start- und Stoppbits. Da der Empfänger die Datenleitung mit seiner Baudrate "abtastet", müssen alle Parameter wie Baudrate, Parität, etc. auf beiden Geräten gleich eingestellt sein.

Startbit

Als erstes wird ein Startbit (logisch 0) verschickt, dass, wie oben schon erwähnt, zur Synchronisation dient. Der Zustand der Übertragungsleitung wechselt also vom Ruhezustand (logisch 1) auf logisch 0.

Nutzdaten

Nachdem das Startbit übertragen wurde, werden die eigentlichen Daten beginnend mit dem LSB (Least Significant Bit) übertragen, folglich wird als letztes Bit das MSB (Most Significant Bit) übermittelt. Die Nutzdaten werden unverändert verschickt, also ohne zusätzliche Synchronisierungsdaten oder ähnliches.

Parität

Nach den Nutzdaten kann zusätzlich noch ein Paritätsbit (oder auch Parity-Bit) übertragen werden, welches dazu dient mögliche Übertragungsfehler zu entdecken.

Even-parität

Bei der Even-parität ist das Paritätsbit genau dann 1, wenn die Anzahl der übertragenen Einsen ungerade ist, andernfalls ist es 0.

Beispiel: 01101110 hat eine ungerade Anzahl von Einsen, folglich wäre das Paritätsbit 0.

Beispiel 2: 01010101 hat eine gerade Anzahl von Einsen, folglich wäre das Paritätsbit 1.

Odd-parität

Bei der Odd-parität ist es genau andersherum. Wenn die Anzahl der übertragenen Einsen gerade ist, dann ist das Paritätsbit 0, ansonsten ist es 1.

Beispiel: 01101110 hat eine ungerade Anzahl von Einsen, folglich wäre das Paritätsbit 1.

Beispiel 2: 01010101 hat eine gerade Anzahl von Einsen, folglich wäre das Paritätsbit 0.

Stoppbit

Es kann ein oder zwei Stoppbits geben, auch das muss vorher festgelegt werden. Das Stoppbit wird nach den Nutzdaten und eventuellem Partitätsbit als logische 1 übertragen. Nach dem Stoppbit folgt eine Ruhezeit, die von null bis unendlich reichen kann.

Baudrate

Die Baudrate definiert die Anzahl der Symbole die pro Schritt übertragen werden können. Bei der EIA-232 Schnittstelle ist die Baudrate also mit der Bitrate gleichzusetzen. Sie gibt an, wie viele Bits pro Sekunde übertragen werden können. Die daraus resultierende Bitlänge errechnet man nach folgender Formel: 1000000 / Baudrate = Bitlänge in µs

Baudrate Bitlänge
2400 417 µs
4800 208 µs
9600 104 µs
19200 52 µs
38400 26 µs
57600 17 µs
115200 8,68 µs

Datenflusskontrolle

Der Empfänger muss melden können, wenn er nicht mehr in der Lage ist, Daten zu verarbeiten. Dies geschieht über das sogenannte Handshake, welches entweder Softwareseitig aber auch Hardwareseitig implementiert werden kann.

Hardwarehandshake

Beim Hardwarehandshake steuert der Empfänger über folgende Datenleitungen die Handshakeeingänge des Senders:

Abkürzung Name Funktion
RTS Request to Send Liegt an dieser Steuerungsleitung eine logische Eins an, dann signalisiert der Empfänger, dass er gerne Daten empfangen möchte. (Sendeanforderung)
CTS Clear to Send Liegt an dieser Steuerungsleitungsleitung eine logische Eins an, dann signalisiert der Empfänger, dass er empfangsbereit ist.

Softwarehandshake (XON/XOFF)

Beim Softwarehandshake werden spezielle Zeichen übermittelt, um den Datenfluss zu steuern. Um zu signalisieren, dass die Gegenstelle aufnahmebereit ist wird 0x11 (XON) verschickt. Um die Datenübertragung anzuhalten wird 0x13 (XOFF) übermittelt. Diese Zeichen haben die gleiche Funktion wie die Steuerleitungen CTS/RTS.

Verbindung

Verbindungslänge

Steckverbindungen

Schaltungen


LiFePO4 Speicher Test