Fachkonzept - Ein Bitübertragungsprotokoll
Zielsetzung
Ziel ist es, Bitfolgen von einem Rechner zu einem anderen Rechner über die serielle Schnittstelle zu übertragen.
Wir orientieren uns im Folgenden am RS-232-Protokoll, das häufig bei der Übertragung von Daten über die serielle Schnittstelle benutzt wird.
Vereinbarungen
Die Übertragung eines Bytes soll am Beispiel der Bitfolge 01000001 erläutert werden.
Die einzelnen Bits werden durch Spannungen zwischen Datenleitungen dargestellt. Wir abstrahieren hier von den konkreten Spannungswerten und stellen nur die zugeordneten logischen Werte 0 und 1 dar.
Sender und Empfänger müssen eine sogenannte Bitzeit
vereinbaren. Das ist die
Zeit, die zur Darstellung einzelner Bits benutzt werden soll.
Die Übertragung der Bits soll seriell (d.h. der Reihe nach) erfolgen. Sender und Empfänger müssen noch vereinbaren, in welcher Reihenfolge die Bits übertragen werden. Soll bei einer Bitfolge wie z.B. 01000001 die Übertragung mit dem höchstwertigen Bit (MSB / most significant bit) - hier 0 - oder mit dem niedrigstwertigen Bit (LSB / least significant bit) - hier 1 - erfolgen? Wir benutzen hier die Reihenfolge beginnend mit dem höchstwertigen Bit.
Die Anzahl der zu Bits einer zu übertragenen Bitfolge muss vereinbart werden. Da wir hier Bytes übertragen wollen, beträgt diese Anzahl hier 8.
Der Beginn und das Ende einer Bitfolge müssen markiert werden.
Wir benutzen hierzu ein Startbit
und ein Stoppbit
.
Wir legen fest, dass das Startbit immer den Wert 1 und das Stoppbit immer den Wert 0 hat. Wenn mehrere Bytes gesendet werden, dann erzeugt das Stoppbit jeweils eine kleine "Ruhephase". Das Stoppbit muss Null sein, sonst gäbe es beim darauffolgenden Startbit keine ansteigende Flanke.
Mit Hilfe dieser Festlegungen kann jetzt eine Bitfolge mit Start- und Stoppbit wie folgt erkannt werden. Der Empfänger tastet hierzu permanent die Spannung zwischen den betroffenen Datenleitungen ab. Wenn er einen Wechsel von 0 auf 1 - also den Beginn des Startbits - registriert, dann können die weiteren Bits systematisch abgetastet werden. Mit dem Stoppbit wird dann garantiert, dass die nächste Bitfolge auf die gleiche Weise behandelt werden kann.
Beachte, dass zum Versenden eines Bytes hier weitere Bits benötigt werden. Die 8 Datenbits werden von zwei weiteren Bits - dem Start- und Stoppbit - eingerahmt. Alle Bits zusammen bilden dann ein Datenpaket, das oft auch Rahmen genannt wird.