Forum: Mikrocontroller und Digitale Elektronik CRC16 - Berechnung


von Ingo B. (Gast)


Lesenswert?

Hi,

ich möchte den integrierten CRC16-Generator vom M16C verwenden. Soweit 
kein Problem.

Aber mir gelingt es nicht, die Checksumme selbst zu berechnen (z.B. mit 
einem anderen Controller oder PC).

Hat jemand eine Ahnung (bzw. Source) für die CRC16 Berechnung, die der 
M16C integriert hat?

Bis dann,
Ingo.

von MooseChecker (Gast)


Lesenswert?

X^16+x^12+x^5+1

schau mal dort nach:

http://www.eagleairaust.com.au/code/crc16.htm


MooseC

von Ingo B. (Gast)


Lesenswert?

Hi,

leider gibt das nicht den gewünschten Erfolg.

Beispiel:
Ich bekommen beim M16C bei diesem Code:
{
  crcd = 0x0000;    // init.
  crcin = 0x01;
}
... eine CRC-Summe von 0x1189.

Der PC berechnet 0x1021.

Irgendeine Idee?

Bis dann,
Ingo.

von edi (Gast)


Lesenswert?

hi,

die beiden crc16 bytes sollten anfangs 0ffh sein.

ed

von Ingo B. (Gast)


Lesenswert?

Hi,

wenn beide Berchnungungen gleich sind, sollte doch bei gleichem 
Ausgangswert, das gleiche herauskommen, oder?

Die 0x0000 stammten übrigends aus dem UserManual vom M16C, wo eine 
Beispielberechnung zu finden ist.

Hätte nicht gedacht, dass das so schwierig ist....

Bis dann,
Ingo.

von ralf (Gast)


Lesenswert?

als ich zu meinen m16c per xmodem1k daten rüberjuckeln wollte
bin ich über folgende seite gestolpert. dort kann man sehr
schön rumprobieren.

http://rcswww.urz.tu-dresden.de/~sr21/crc.html

bei meinen problem mußte ich die eingangsbytes und die
end-crc spiegeln, nur dann hats gestimmt.

von MooseChecker (Gast)


Lesenswert?

Hi, für eine MMC prüfe ich die CRC. Dafür muß jedes Byte flippen bevor 
die Daten in die M16-CRC Hardware geschrieben werden können. Leider dann 
auch das Word-Ergebnis. Die LSB/MSB sind bei der MMC im Bezug zur 
CRC@M16 gedreht. Es scheint wohl Unterschiede in den CRC16 zu geben. 
Vielleicht ist das auch bei Dir der Fall.

MooseC

von Ingo B. (Gast)


Lesenswert?

Hi,

endlich klappt es.
Quellcode unter Codesammlung im Forum
http://www.mikrocontroller.net/forum-extern/read-4-31729.html

Bis dann,
Ingo.

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.