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


von Georg X. (schorsch666)


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.

von (prx) A. K. (prx)


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.

von Klaus (Gast)


Lesenswert?

Solange keine Daten fehlen ist das mit der Kreuzparität einfach.

von g457 (Gast)


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

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.