i

Fachkonzept - Ein Bitübertragungsprotokoll

Zielsetzung

Ziel ist es, Bitfolgen von einem Calliope mini zu einem anderen Calliope mini 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.

Bitfolge[1]

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.

Bitmuster[2]

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 (=Polling). 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.

Abtasten[3]

Algorithmus des Empfängers in Pseudocode:
  1. Polling (maximale Abtastung) bis Startbit erkannt
  2. 1.5 Bitzeiten warten, um die Mitte des ersten Datenbits zu treffen (Sicherheit)
  3. Wiederhole 8 mal:
    • abtasten
    • Bitzeit warten
  4. Polling bis Startbit erkannt

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.

Quellen

Suche

v
10.2.3.4
www.inf-schule.de/rechnernetze/bituebertragung_sicherung/bituebertragung_calliope/konzept_bituebertragungsprotokoll
www.inf-schule.de/10.2.3.4
www.inf-schule.de/@/page/mCyKTEfWDdOAT7i4

Rückmeldung geben