Hi, Folgendes Szenario: Daten werden von einem Sensor an einem Microcontroller erfasst und über eine Funkverbindung (Zigbee) zu einem weiteren Microcontroller weitergeleitet. Dieser soll die Daten dann über RS232 zur Auswertung an einen angeschlossenen PC weiterreichen. Fehlerhafte Daten sollen entweder erneut übertragen oder einfach verworfen werden. Deshalb möchte ich CRC8 zur Fehlererkennung bei der Übertragung zum PC verwenden. Jetzt frage ich mich aber, wie groß der Datensatz, über den die Prüfsumme gebildet wird, für CRC8 sinnvollerweise maximal sein darf? Konnte bisher noch keine Angaben dazu finden. In meiner Anwendung ist die maximale Paketgröße ca. 85 Bytes (vorgegeben durch die maximale Nutzdatengröße der Funkverbindung), die durchschnittliche aber wesentlich kleiner, vielleicht so 10-20 Bytes (die gemessenen Sensordaten). Reicht CRC8 dafür aus, oder sollte ich CRC16 verwenden? Gruß, fitzefatze
Hi Hagen, kannst du mir genauer erklären, warum das so ist bzw. hast du eine Quellenangabe für mich, wo ich das nachlesen kann? Gruß, fitzefatze
>>kannst du mir genauer erklären, warum das so ist bzw. hast du eine >>Quellenangabe für mich, wo ich das nachlesen kann? ganz genau kann ich es nicht, weis aber das folgendes gilt - eine "8 Bit CRC" (ansich schon eine falsche Bezeichnung) stellt ein Polynom dar das maximal 8 Koeffizienten besitzen kann. Wichtig dabei ist das es im Grunde maximal 9 Koeffizienten gibt und der höchste davon wäre immer X^8, wird aber nicht benutzt - sollte das benutze Polynom "irreducibel" also nicht reduzierbar bzw. teilerfremd sein dann entsteht die maximale Periode im modualren Galois Field GF(2). - da wir zu einem Basis 2 Glaois Field arbeiten heist dies die maximal Periode kann 2^8-1 sein. Es ist aber schwierig solche Polynome zu finden. Man geht davon aus das eine CRC8 minimal bis zu 2^7=128 Bits lange Daten absichern kann. Eine CRC16 demzufolge bis 2^15. Bei größeren Daten wird aber die CRC nicht komplett untauglich sondern nur Teileigenschaften gehen verloren, zb. 1/2 Bit Fehlerkorrektur,Abstände der minimalen 1 Bit Fehler reduziert sich. Du solltest das aber nochmal genauer aus qualifizierter Quelle nachlesen, ich hatte das vor 15 Jahren mal gelernt. Gruß Hagen
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.