Forum: Mikrocontroller und Digitale Elektronik Baudrate beim CAN definieren


von Steffen (Gast)


Lesenswert?

Hallo,
ich möchte die Baudrate bei einem PIC für CAN einstellen. Dabei soll die 
Baudrate 250kHz betragen und ihc habe einen 6MHz Quarz angeschlossen.
1
#define XTFREQ   6000000
2
#define PLLMODE  8
3
#define FCY      XTFREQ*PLLMODE/4
4
#define BITRATE  2500000
5
#define NTQ      24
6
#define BRP_VAL ((FCY/(2*NTQ*BITRATE))-1)
7
8
C1CTRLbits.CANCKS = 0x01;
9
C1CFG1bits.SJW = 0x00;
10
C1CFG1bits.BRP = BRP_VAL;

was ich nicht weiss, ist das BRP_VAL. wie muss dieser sein? Diesen kann 
ich ja nur durch das NTQ und dem FCY (durch andere PLLMODE) verändern.

bei 0 steht ja
00 0000 = TQ = 2 x (BRP + 1)/FCAN = 2/FCAN

Aber was heisst das? Das habe ich nicht verstanden.

von Thomas F. (igel)


Lesenswert?

Lass es dir doch ausrechnen:

http://www.intrepidcs.com/support/mbtime.htm

von Steffen R. (steffen_rose)


Lesenswert?

NTQ - Anzahl der Timequanten je Bit - kann niemals 0 sein.
Wenn Du BRP meinst - ein Wert von 0 entspricht einem Teiler 1

Deine Angabe scheinen gültige Werte für deinen Fall zu sein. Was ist 
dein Problem?

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.