Forum: Mikrocontroller und Digitale Elektronik CAN-Baudrate und "krumme" Quartzfrequenz


von Magnus Teckel (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.