Forum: Mikrocontroller und Digitale Elektronik Baudrate CAN dspic30F6011A


von Johannes (Gast)


Lesenswert?

Hallo,
ich habe mein CAN mit einem dsPIC30F6011A auf 250kHz eingestellt (habe 
ich zumindestens gedacht). Aber er läuft unter 83,3kHz (was ich nicht 
haben möchte).
Ich habe den Pic mit einem externen 6MHz Quarz beschaltet. die 
Configurations-bits des Pics sind
1
_FOSC(CSW_FSCM_OFF & ECIO_PLL8);  //Run this project using an external crystal routed via the PLL in 8x multiplier mode
2
_FWDT(WDT_OFF);                 //Turn off the Watch-Dog Timer.
3
_FBORPOR(MCLR_EN & PWRT_OFF);   //Enable MCLR reset pin and turn off the power-up timers.
4
_FGS(CODE_PROT_OFF);            //Disable Code Protection

Dann setze ich noch folgende Bits
1
    C1CTRLbits.CANCKS = 1;
2
    C1CFG1bits.SJW = 0x00; // 1TQ
3
    C1CFG1bits.BRP = 0x01; // TQ=2*(BRP+1)/FCAN=133,33ns
4
    C1CFG2bits.SEG1PH = 0x03; // 4TQ
5
    C1CFG2bits.SEG2PH = 0x03; // 4TQ
6
    C1CFG2bits.PRSEG = 0x02;  // 3TQ

mit 1/250kHz dauer ein bit 4us. mit BRP=1, dauert ein TQ 133,33ns. Also 
habe ich 12 TQ in einem Bit. diese habe ich mit berücksichtigung der 
Einstellregeln auch so gesetzt.

Jetzt frag ich mich und weiss keine Antwort, wiso der CAN mit 83,3kHz 
läuft und nicht mit 250kHz.

Bin die Einstellungen immer wieder durchgegangen, aber meiner Meinung 
nach müssten die Richtig sein. muss ich sonst noch etwas einstellen?

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.