-
-
Erfahrener Benutzer
Robotik Einstein
Protokoll
Hallo Knickohr,
du hast ja schon die Erfahrung gemacht, wie viele Bytes am Anfang einer Sendung meistens "Müll" sind. Nehmen wir an, es sind maximal 3 Bytes, die am Anfang unsicher empfangen werden.
Dann müßtest du ja zur Sicherheit 4 Bytes zur Synchronisierung an den Anfang stellen. Danach würde ich noch einmal 4 Bytes stellen, danach die Abfolge 00-00-FF. Dann folgen die beiden Datenbytes.
Das ganze Protokoll:
AA-AA-AA-AA-[highlight=red:927fd02520]AA-AA-AA-AA-00-00-FF[/highlight:927fd02520]-Daten(2 Bytes)-00-00-FF-PP-00-00-FF
Das wären dann 20 Byte.
Wenn du fest nur 2 Datenbytes überträgst, brauchst du ja die Bytezahl nicht zu übertragen. Es bleibt die Prüfsumme (PP). Man kann sie z.B. durch Addition von Datenbyte 1 und 2 bilden (Byte-Überlauf ist egal!).
Im Empfänger prüft man dann (nach korrektem Eintreffen des 1. 00-00-FF) auch die letzten 4 Bytes davor (AA-AA-AA-AA, d.h. die 2. Hälfte der AAs) auf Unversehrtheit (also insgesamt die roten Bytes oben). Die 4 AAs ganz am Anfang werden natürlich nicht gestestet, denn da ist ja der Müll drin.
Der Empfänger setzt je nach Ergebnis ein Error-Flag, das er z.B. als erneute Datenanforderung zum Sender zurückschickt. Dieses Error-Flag wird auch gesetzt, wenn am Ende die Prüfsumme oder die übertragene Bytezahl nicht stimmt.
Wenn der Sender eine solche Datenanforderung bekommt, wiederholt er z.B. die Datensendung. Bekommt er ein OK vom Empfänger, wird nicht wiederholt.
Auch hier kann man die Sicherheit weiter erhöhen. Zusätzlich zur Datenanforderung nach einem Fehler kann der Empfänger auch die Daten selbst wieder zurück schicken. Erkennt der Sender, dass die Daten identisch mit seinen gesendeten Daten sind, gibt er das letzte OK an den Empfänger, der dann die Aktion (Bild machen o.ä.) ausführt.
Dazu braucht man noch ein "Kontroll-Protokoll".
Z.B.:
AA-...-AA-00-00-FF-(Error-Flag/Sendeanforderung)-00-00-FF-Empfangene Daten(2 Bytes)-00-00-FF-PP-00-00-FF
Wie gesagt: Die Sicherheit läßt sich erhöhen, wenn man das braucht! Man kann das alles voll automatisieren, so dass man im Idealfall gar nicht mehr mitbekommt, ob z.B. eine Sendung verloren ging.
Gruß Dirk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen