www.mikrocontroller.net

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


Autor: Andreas Buhr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Buhr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian (Gast)
Datum:

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

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Buhr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cool, danke
vielleicht werd ich das z-modem mal implementieren

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8N1 -- hmtja, hat eine gewisse Logik. Mea Culpa. :-)

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhardt (Gast)
Datum:

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

Autor: Bernhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andreas Buhr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
prima, danke

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

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.