Hallo, ich muss eine serielle Datenübertragung eines HC908 realisieren und die Datenmenge wäre recht umfangreich. Der parity-check ist damit ziemlich laufzeitsteigernd.Also hab ich mir gedacht ich bilde eine Checksumme im μC und schicke die mit, wenn sie nicht stimmt soll das ganze Datenpaket nochmal geschickt werden. Kennt jemand hier verschiedene checksum-Algorithmen oder eine gute Seite zu dem Thema? MfG
So nebenbei, ich hab damit noch absolut keine Erfahrung!!! Das Problem dabei ist, dass mein Datenblock 512 Bytegroß ist. Die Checksumme müsste im uC gebildet werden, dann mit an den Rechner geschickt und dann entschieden werden, ob der Datenblock nochmal geschickt werden soll. Ich weiß nicht, ob da CRC die beste Wahl wäre.
Hi das kommt drauf an. CRC wird durchaus bei großen Datenblöcken verwendet -> siehe IP. Allerdings bietet CRC nur eine recht hohe Wahrscheinlichkeit für die Entdeckung von Fehlern. Garantieren kann dir niemand ob nicht doch Daten verändert wurden. Matthias
nim doch einfach 2 Bytes als Checksumme, addiere jedes Byte mit der checksumme(überlauf ist ja völlig egal). Dann sendest du die 512 byte und die 2 byte Checksumme. also so chksumme = 0x0000 1. byte0 +chk -> chk 2. byte1 +chk -> chk ... 512. byte511 +chk -> chk und fertig
Hi CRC ist wesentlich besser als simple Prüfsummen da die Wahrscheinlichkeit für die Entdeckung von Fehlern deutlich höher ist. Genau deshalb verwendet man ja CRC und keine simplen Prüfsummen. Matthias
hi die Frage ist aber, ob der 68HC908 das schafft und ob das für die Anwendung nich n bisschen aufwendig ist. Die Datenblöcke wären ja bloß zwischen 200 und 512 Byte groß: mehr geht vom momentanen Programm nicht. Ich dacht halt es gibt spezielle Algorithmen zur checksum auf uC. Danke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.