Hallo Leute, ich bin momentan auf der Suche nach einer einfachen und effektiven Möglichkeit Fehler in einer seriellen Datenübertragung zu detektieren. Dabei ist mir die ECC Variante eingefallen. Aber mir ist nicht klar wie diese genau funktioniert. Kann mir jemand dies erläutern oder nützliche Links zur Verfügung stellen. Denn das was ich gefunden habe bringt mich irgendwie nicht weiter. Kann es sein dass es da mehrere Möglichkeiten gibt? Gruss und Danke, Schorschi.
Georg X. schrieb:
> Kann es sein dass es da mehrere Möglichkeiten gibt?
Durchaus.
Allerdings lassen sich die Grundlagen vieler Verfahren nicht in wenigen
Zeilen darlegen und die üblichen Webseiten kommen ziemlich mathematisch
daher.
Gut verständlich ist hingegen die Kreuzparität. Die kriegt man
beispielsweise, wenn man per UART mit Parität überträgt und dazu noch
eine XOR-Prüfsumme der Daten hinten dran hängt. Wird klar wenn man sich
das zweidimensional aufmalt.
Gast
#1579835
Solange keine Daten fehlen ist das mit der Kreuzparität einfach.
Gast
#1579843
Georg X. schrieb: > ich bin momentan auf der Suche nach einer einfachen und effektiven > Möglichkeit Fehler in einer seriellen Datenübertragung zu detektieren. ^ > Dabei ist mir die ECC Variante eingefallen. ^ Willst Du Fehler ★erkennen★ oder ★korrigieren★? Ersteres ist abhängig von der geforderten Sicherheit primitiv einfach (Parität bilden und anhängen, BCC [1], .. - jeweils ggf. Paketummer mitschicken damit auch Verlust erkannt wird) bis mittelaufwendig (CRC [2], md5 [3], sha-1 und co [4], ..). Fehlerkorrektur dagegen reicht - abhängig von der geforderten Sicherheit - von aufwendig bis noch aufwendiger :-) Der Wikipedia-Artikel unter [5] ist recht ausführlich.. für einige Verfahren brauchts aber einfach die Mathematik um sie wirklich zu verstehen, sonst muss man sie so nehmen wie sie kommen.. Codebeispiele gibts zu den üblichen Verfahren wie Sand am Meer, häufig sogar fertige Routinen in Open Source. Jetzt heisst nur noch den Mittelweg finden aus 'viel sicher' und 'wenig Aufwand' ;-) HTH [1] http://en.wikipedia.org/wiki/Block_check_character [2] http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check [3] http://de.wikipedia.org/wiki/MD5 [4] http://de.wikipedia.org/wiki/SHA1 [5] http://de.wikipedia.org/wiki/Fehlerkorrekturverfahren
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.