Hallo, ich habe mich mal mit der CRC Berechnung einer CAN Nachricht auseinandergesetzt und stelle das im Wiki vor, vielleicht will ja noch jemand etwas hinzufügen, verbesser oder auch korrigieren. Ich werde demnächst eine Berechnungsroutine in .asm einfügen vielleicht kann das jemand in .c schreiben. https://www.mikrocontroller.net/wikisoftware/index.php?title=CAN_CRC_Berechnung&redirect=no
Hallo Thomas, zuerst vielen Dank für diesen Wiki-Beitrag!! Kennst du dich auch mit der Tq-Geschichte in der Parameterbestimmung aus? Im Detail die Boudrate in einem CAN-Bussystem? Gruß Helmut
mit einem CAN-Controller habe ich bisher noch nicht kommuniziert. Geht es dir darum ihm die Baudrate mitzuteilen mit welcher er arbeiten soll? Welchen CAN-Controller setzt du ein oder ein µC mit integriertem CAN?
Im Moment geht es mir um Diesen: Beitrag "Simpler CAN Baustein" Aber es ist ja ein Parameter des CAN-Bus, der wichtig ist. Die Tq's werden ja auch zur besseren Synchron-Fehler-Erkennung gebraucht. Auf Englisch gibt es Erklärungen, aber ..... ich verstehe es nicht so recht.... Hier zB. http://www.softing.com/home/en/industrial-automation/products/can-bus/more-can-bus/bit-timing.php?navanchor=3010534
ein CAN Bus läuft ja in der Regel immer mit dem selben Takt, also wenn dann einmal einstellen und beibehalten. Wieso Synchronfehler wird doch spätestens nach 5 gleichen Bits durch das Stuffbit wieder synchronisiert.
Richtig, aber das ändert nichts an den Einstellmöglichkeiten. Speziell gibt man die Parameter *SYNC_SEG *PROP_SEG *PHASE_SEG1 *PHASE_SEG2 alle in Abhängigkeit eben von diesem Tq an. Guckst du: http://www.softing.com/home/en/industrial-automation/products/can-bus/more-can-bus/bit-timing/sub-bit-segments.php?navanchor=3010535
Thomas O. schrieb: > Hallo, ich habe mich mal mit der CRC Berechnung einer CAN Nachricht > auseinandergesetzt und stelle das im Wiki vor, ... > > CAN CRC Berechnung hmm, was ich nicht verstehe ist die Multiplikation mit anschliessender Reduktion mod p(x). Wäre es nicht günstiger, in jedem Multiplikationsschritt mod p(x) zu reduzieren?
Verstehe das nicht was du meinst Johann, aber wenn du die Schritte erklärst versuche ich mal für meine und deine Variante einen .asm Code zu schreiben, das Thema ist bei mir gerade wieder aktuell.
Helmut schrieb: > alle in Abhängigkeit eben von diesem Tq an. Helmut, was genau ist deine Frage? Der CPU Takt wird per Prescaler geteilt. Das ergibt den CAN Takt fCAN. 1tq=1/fCAN. Entsprechend deiner korrekten Aussage bilden x tq's ein Bit der CAN Nachricht (tBit). 1/tBit ist dann der Takt auf dem CAN, den man landläufig kennt (z.B. 250kbit/s). http://www.can-wiki.info/bittiming/tq.html
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.