Forum: Mikrocontroller und Digitale Elektronik xmodem CRC Berechnung


von Chris B. (chrisb20)


Lesenswert?

Hallo zusammen,

ich arbeite momentan an einem Projekt bei dem ich ein Bin-File an ein am 
µController angeschlossenes EEPROM via xmodem sende. Das empfangen der 
Packete und das schreiben auf's EEPROM klappt soweit auch.

Jetzt möchte ich aber noch eine Funktion einbauen um das ganze auch 
wieder via xmodem auszulesen.

Der PC sendet mir jetzt statt einem NACK ein 'C' was laut Spezifikation 
soviel bedeutet wie das er ein 2 Byte (16-bit) CRC/CRC-16 verlangt.

Hab gestern einige Zeit im Internet gesucht, bin aber nicht wirklich 
fündig geworden. Das ganze läuft wohl mit Hilfe einer Polynomdivision, 
hab auch ein paar C Codes gefunden.
Die Funktionieren auch sicher, möchte das ganze aber verstehen und nicht 
einfach nur einen Code kopieren.

Hat damit jemand Erfahrung und kann mir das evtl. etwas genauer 
erklären?

Es sind 128 Datenbytes die übertragen werdem sollen,
also KEIN xmodem 1K (1024).

Danke und Gruß
Chris

von Mike (Gast)


Lesenswert?

Chris Br schrieb:
> Hat damit jemand Erfahrung und kann mir das evtl. etwas genauer
> erklären?

Hast du hier schon mit der Suche dein Glück versucht, z.B.
Beitrag "Re: Mal wieder CRC (16)-CCITT (XModem).Berechnung von Hand?"

von Chris B. (chrisb20)


Lesenswert?

Hallo Mike,

danke für die schnelle Antwort.
Den Link habe ich schon gesehen, ich versteh nur das mit den 1021 nicht 
so richtig.
Ist das nicht die Berechnung bei einer xmodem 1k Übertragung?

Gruß Chris

von (prx) A. K. (prx)


Lesenswert?

Chris Br schrieb:
> Den Link habe ich schon gesehen, ich versteh nur das mit den 1021 nicht
> so richtig.

Solche magischen Werte stecken in jeder Art von CRC. Wenn man das 
partout verstehen will - was für die Nutzung nicht erforderlich ist - 
dann hilft es sehr, sich in die Grundlagen von CRCs einzuarbeiten.

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.