Forum: Mikrocontroller und Digitale Elektronik Protokoll für RS232 gesucht


von Andreas Buhr (Gast)


Lesenswert?

Hallo,

Ich habe meine Atmels bisher mit dem PC über den UART kommunizieren
lassen. Das funktioniert auch wunderbar, nur jetzt ist der Wunsch nach
Sicherheit in der Übertragung gekommen.
Ich möchte also ein Protokoll implementieren, welches Sicherstellt,
dass alles ankommt, und dass alles richtig ankommt.

Bevor ich nun anfange, mir selbst etwas zu stricken, möchte ich
schauen, ob es nicht so etwas schon gibt. Googlen half mir nicht
weiter, die Suchfunktion dieses Forums leider auch nicht. Vielleicht
hab ich nach den falschen Begriffen gesucht.

Könnt ihr mir weiterhelfen?
Ein Protokoll für eine serielle Verbindung, das mir eine sichere
Übertragung aller Daten sicherstellt?
Vielleicht gibt es ein schönes RFC oder so?

vielen Dank

Andreas Buhr

von Fritz Ganter (Gast)


Lesenswert?

Das kannst dir ja selber ausdenken, mach Prüfsummen z.B CRC oder so
drüber.
RS-232 hat keine Sicherung, das machen immer andere Schichten, z.B. IP
oder PPP.

von Andreas Buhr (Gast)


Lesenswert?

Hallo,

Ich weiß, dass RS232 keine Sicherung hat. Das machen andere Schichten.
Ich will jetzt so eine Schicht drüberlegen. Und da schaue ich nach
bereits vorhandenen Protokollen.

trotzdem danke für die Antwort

Andreas

von Sebastian (Gast)


Lesenswert?

IMHO hat RS232 eine Sicherung. Wofür ist wohl das Parity-Bit gut? ;-)

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo Andreas

sichere Protokolle sind die Internet-Protokolle X- Y- und Z-Modem.
Ich habe keine Quellkodes dafür, aber such mal im Internet nach diesen
Begriffen. In diesen Protokollen (das Z-Modem isr das aktuellste) ist
die Überprfung der daten-pakete inkl Retries schon integriert.
(Ist übrigens auch im Hyperterminal von Microweich integriert.)

Gruß
gerhard Gunzelmann

von Andreas Buhr (Gast)


Lesenswert?

cool, danke
vielleicht werd ich das z-modem mal implementieren

von Fritz Ganter (Gast)


Lesenswert?

@Sebastian

Klar gibt es ein Parity. Aber normalerweise überträgt man 8N1, was
8-bit, *no*-parity, 1 Stopbit bedeutet.
Und es kann nur 1-bit Fehler entdecken.
Normalerweise sollte eine Quersumme in 1 Byte pro Datensatz reichen,
das NMEA Protokoll macht es z.B. so.

X,Y und Z Modem ist aber eher ein Datentransferprotokoll wo noch mehr
drinsteckt. Eines von denen (weiss nimmer welches) sendet einfach alle
Daten doppelt, der Empfänger muss die dann vergleichen.

von Sebastian (Gast)


Lesenswert?

8N1 -- hmtja, hat eine gewisse Logik. Mea Culpa. :-)

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo

zum Parity-Bit

Das Parity-Bit zur Fehlererkennung zu verwenden ist nur in solchen
System geeignet, wo die Wahrscheinlichkeit eines fehlers sehr gering
ist. In Datenübertragungssystemen die Funk verwenden oder durch lange
Leitungen störanfällig sind ist das System nicht geeignet. Da führt
kein Weg an CRC-Check vorbei.

Gruß
Gerhard

von Bernhardt (Gast)


Lesenswert?

Bei ATMEL gab es mal eine AN (AVR350) zum Thema XMODEM-READ inkl. CRC
und Pseudocode / C example.
Gruß Bernhard

von Bernhardt (Gast)


Lesenswert?


von Andreas Buhr (Gast)


Lesenswert?

prima, danke

das ist genau das, was ich gesucht habe :-)

von Hagen (Gast)


Lesenswert?

Du solltest dir auch darüber Gedanken machen was passieren soll wenn in
einem CRC abgesicherten Protokoll ein fehler auftritt. Mein Hinweis
zielt darauf ab das CRC's schön und gut sind aber eben nur die halbe
Miete darstellen. Mit CRC's kann man zwar Fehler erkennen, aber noch
lange nicht Fehler korregieren oder die fehlerhaften Daten neu
anfordern. Das Protokoll sollte also Packet orientiert sein, Sender und
Empfänger sollten die Möglichkeit der wiederholten Versendung
fehlerhafter Packete enthalten, und bei der Prüfsumme ist es
überlegenswert sich komplexere Verfahren anzuschauen. Zb.der Reed
Salomon Code kann weit mehr Fehler in einem Datenpacket entdecken und
auch exakt korregieren.

Gruß Hagen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.