Moin Leute, weiß jemand welches Generatorpolynom der CAN-Controller von OpenCore verwendet, um den CRC auszurechnen? Das gängige Polynom (x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1) ist es nicht, denn da passt die Bitfolge hinten und vor nicht zusammen mit der errechneten. Nachricht: 0110010001001100011100000000001100000010 Polynom: x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1 (100010110011001) errechnetes CRC: 11111101000001 vom CAN-Controller errechnetes CRC: 010010010000000 Kennt sich jemand damit aus und kann mir dabei weiterhelfen?
Hast recht, steht sogar im Klartest da (ich Honk). Bloß nun stellt sich die Frage, wie errechnet der Controller bloß seine CRC? Das Polynom ist gleich dem von mir verwendeten. Ich las meine Polynome von VisualHash (Windowsprogramm) berechnen und von der I-Netseite http://zorc.breitbandkatze.de/crc.html.
Kann es sein, daß Du word- oder byte orientiwert rechnest und der CRc den vollen Bitstrom nutzt? Oder, der CRC im CAN nutzt (nicht) alle redundanten bits ?
Bloss kurz eingeworfen. Wir haben den selben Core vor kurzen mit einem CAN Protocol Tester geprüft und die Pakete wurden richtig gesendet und empfangen. Heisst der implementierte CRC sollte korrekt sein und implizit der von Dir verwendete CRC sollte noch einmal überdacht werden. Also ähnlicher Feedback wie mein Vorredner Gruss Lupi
Hi, so ich hab mir jetzt nochmal den CRC des Controllers angesehen, aber ich glaube ich bin zu blöd um das zu Verstehen was er macht. Ich gehe davon aus das man den CRC des Can- Protokolls genauso ausrechnet wie sonst auch oder sehe ich das falsch? Eine kleines Beispiel: Nachricht (M):10011010 Polynom (P): 1011 aufzufüllende Nullen (N): 3 Rest von der Division (R): 001 --> M / P Formel zum Errechnen der zu sendenden Nachricht: M * x^k + R x^k = 1000 (Binär) Danach erhalte ich folgende Nachricht: 10011010001 Wo liegt mein Denkfehler?
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.