mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ECC Code Erläuterung.


Autor: Georg X. (schorsch666)
Datum:

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

Autor: A. K. (prx)
Datum:

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

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange keine Daten fehlen ist das mit der Kreuzparität einfach.

Autor: g457 (Gast)
Datum:

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

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.