Hallo, ich habe ein Problem mit meinem cortex stm Prozessor der einen integrierten CAN-Controller hat. Meine Testplatine hat ein 7,5MHz, der µC nimmt aber zur internen Berechnung 8MHz als Rechengrundlage. d.h. für "echte" 500kbaud auf dem CAN-bus muss ich BS1 und BS2 so wählen, dass im debugfenster "533" kbaud zu lesen ist. (das wird berechnet) Ich hab jetzt die Werte für 1000KBaud ganz gut hin bekommen und hab diese dann durch erhöhen des Prescalers auch auf 500, 250 und 125 kbaud bekommen. Mein Problem sind nun Baudraten die nicht ein vielfaches von 125 sind, also z.B. 20kbaud oder 800kbaud. Die Rechenscripte die man überall im internet findet stimmen nicht, zumindest bekomme ich damit völlig falsche Werte. Meine PLL macht einen internen Takt von 30MHZ (7,5MHz externer clock * 4) Kann mir jemand bitte erklären wie ich nun auf die 800kbaud komme? bzw. wieso stimmen die errechneten Werte von unten genannten webseiten nicht? für 500kbaud (was auch funktioniert!) habe ich nun BS1=9, BS2=3 und ein prescaler von 2, das sind die einzigen Werte die mit 500k laufen, die webseiten zeigen mir aber was völlig anderes an! http://www.esacademy.com/faq/calc/sja1000.htm http://www.port.de/deutsch/canprod/content/sv_req_form.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.