Forum: Mikrocontroller und Digitale Elektronik Unbekannte Prüfsumme


von Timo L. (peep)


Lesenswert?

Hey,
ich hab folgendes Problem, ich hab hier eine serielle Datenübertragung 
zwischen einer Display & Tastaturplatine und einem Master, nun möchte 
ich den Teil vom Master mit einem eigenen µC übernehmen und Werte auf 
dem Display ausgeben.
Herausgefunden habe ich, dass eine Übertragung aus 12 Bytes besteht, 
wobei das 12. vermutlich (inzwischen ziemlich sicher) eine Prüfsumme 
ist.

Die unten aufgeführten Werte habe ich durch einfaches ausprobieren 
herausgefunden.

Leider finde ich nun keinen Zusammenhang zwischen Werten und Prüfsumme 
und fange langsam an zu verzweifeln.

Ich hoffe ihr könnt mir bei meinem Problem helfen.

          Test 1  Test 2  Test 3  Test 4  Test 5
Byte 0     00      00      00      01      00
Byte 1     00      00      00      00      00
Byte 2     00      00      00      00      00
Byte 3     00      00      00      00      00
Byte 4     00      00      00      00      00
Byte 5     00      00      00      00      00
Byte 6     00      00      00      00      00
Byte 7     00      00      00      00      00
Byte 8     00      00      00      00      00
Byte 9     00      00      00      00      00
Byte 10    01      02      03      00      00
Byte 11    9B      AD      36      D0      00

Danke und freundliche Grüße
peep

von Detlev T. (detlevt)


Lesenswert?

Schon einmal das übliche CRC-8 ausprobiert? Code dazu gibt es überall.

von Timo L. (peep)


Lesenswert?

Hey,
ich muss leider gestehn, dass ich das mit der CRC prüfsumme noch nicht 
so ganz verstehe.

Auch der Wiki Artikel hat mehr verwirrt als geholfen.

Wenn du oder wer anders es mir mal simpel erklären könnte, wäre ich ihm 
unendlich dankbar. :)

Mit freundlichem Gruß
peep

von byte (Gast)


Lesenswert?

Vieleicht mal binär darstellen, vieleicht sieht man da mehr.

von Timo L. (peep)


Lesenswert?

Hey!
Danke schonmal für eure schnelle Hilfe, habs nun mal in binär vor mir, 
ich seh leider immernoch nicht mehr. :(

Aber ihr ja vielleicht. :)

 Test 1     Test 2     Test 3     Test 4
0000 0000  0000 0000  0000 0000  0000 0001
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0000  0000 0000  0000 0000  0000 0000
0000 0001  0000 0010  0000 0011  0000 0000
1001 1011  1010 1101  0011 0110  1101 0000



Mfg
peep

von Peter (Gast)


Lesenswert?

Hallo,

das ist eine ganz normale CRC8 (Byte 0 bis 10, MSB zuerst, nix 
invertiert, kein finales XOR). Das Generatorpolynom ist 0x9B. Testen 
lässt sich das Ganze auf dieser Seite hier:

http://depa.usst.edu  --punkt cn-- 
/chenjq/www2/software/crc/CRC_Javascript/CRCcalculation.htm

Im µC funktioniert der Code aus folgender APP-Note gut:

http://www.sensiron.com/en/pdf/product_information/AN_sdp6x0_differential-pressure-sensors_CRC-calculation.pdf


Gruß Peter


sry musste den Link wegen Spamschutz etwas ändern

von Timo L. (peep)


Lesenswert?

Vielen vielen lieben Dank Peter.

Du warst meine Rettung. :)

Wie bist du aber nun so schnell auf die 0x9B gekommen?
Ich würds gern verstehen, damit ich euch beim nächsten mal nicht 
schonwieder belästigen muss :)

Mit freundlichen Grüßen
peep :)

von Peter (Gast)


Lesenswert?

bei deiner Nachricht "Test 1" wird als CRC-Wert immer das 
Generatorpolynom ausgegeben. Ist ja auch logisch, da bei 1/Zahl der Rest 
(also der CRC-Wert) immer die Zahl ist.

Falls noch jemand die Info braucht, ausgeschrieben ist das Polynom 0x9B 
= x^8+x^7+x^4+x^3+x+1. Scheint keines der gebräuchlichen Polynome zu 
sein.


Gruß Peter

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.