Daten und CRC in Einklang bringen

Gast #3103474
Lesenswert?

Hallo zusammen,

nachdem ich mich seit 2 Tagen mit dem Prüfsummenverfahren beschäftige 
und einfach auf keinen grünen Zweig komme, habe ich ein gewisses 
Frustrationslevel

erreicht und benötige eure Hilfe.

Mein konkretes Problem ist, dass ich von meinem Mikrocontroller mit 
einem Sensor-IC kommuniziere. Dies geschieht über 3-wire SPI, wobei der 
µC als

Master fungiert. Dieser sendet ein Commando-Word und empfängt vom IC ein 
Data- und Safety-Word (MSB immer zuerst). Im Safety-Word enthalten ist 
ein

CRC-Byte, welches nach CRC8 J1850 spezifiziert ist.

Ich habe eine aufgezeichnete Datenübertragung als Bild angehangen.

Ich schaffe es einfach nicht, die Prüfsumme (in dem Beispiel die 1C(hex) 
ganz am Ende der Übertragung) in Zusammenhang mit den vorherigen Daten 
zu

bringen. Der Hersteller gibt im Datenblatt folgendes zur CRC an:

• This CRC is according to the J1850 Bus Specification.
• Every new transfer restarts the CRC generation.
• Every Byte of a transfer will be taken into account to generate the 
CRC (also the sent command(s)).
• Generator polynomial: X8+X4+X3+X2+1, but for the CRC generation the 
fast-CRC generation circuit is used
• The remainder of the fast CRC circuit is initial set to "11111111"
• The remainder is inverted before transmission.

Auf http://www.zorc.breitbandkatze.de/crc.html habe mit CRC 8.Grades und 
0x1D als CRC Polynom, sowie dem Initial Value 0xFF verschiedene 
Einstellungen

ausprobiert und bin nie auf den Prüfsummenwert gekommen. Auch diverse 
Rechnungen mit Taschenrechner haben nicht zum Erfolg geführt.

Wo liegt mein Fehler, bzw. wie passt die Prüfsumme zu den übertragenen 
Bytes? Ich hoffe ihr könnt mein Verständnisproblem lösen.
Angehängte Dateien:
Gast #3105425
Lesenswert?

Ja, ist ein Infineon Chip.

Auf der breitbandkatze-Seite gibt man das Polynom ohne die führende "1" 
an, also 0x(1)1D. Die Eingabe 11D wird auch durch das Programm 
verweigert, da der CRC-Grad nicht mehr zum Polynom passt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren