Forum: Mikrocontroller und Digitale Elektronik CAN MCP2515 - Baudrate 60 kbit/s (60kbps)


von Julian W. (julian-w) Benutzerseite


Lesenswert?

Hallo,

ich hatte ja hier schon mal Probleme mit der Erkennung das es sich um 
CAN handelt und mir konnte im Forum geholfen werden und es gab auch die 
RPi-Aktion: Beitrag "Re: Reverse Engineering - "Ein-Draht Protokoll" - RPi B zu gewinnen!"

Ergebnis war: CAN 60kbit/s. Hab es auch schon zum laufen bekommen, 
jedoch will jetzt der MCP2515 nicht mehr mit 60kbit/s arbeiten (ich 
hatte es schon mal am laufen). Hab das ganze nur schnell mit einem 
Arduino mit Watterott CAN Shield getestet. Dummerweise musste ich die 
mcp_can anpassen, da sie von Hause aus keine 60kbit/s unterstützt, nur 
das will mir jetzt einfach nicht mehr gelingen (hab es gelöscht...). 
Hier mal mein simpler C-Code:
1
#include <mcp_can.h>
2
#include <mcp_can_dfs.h>
3
4
MCP_CAN CAN(10);
5
6
void setup() {
7
  Serial.begin(9600);
8
9
  START_INIT:
10
11
    if(CAN_OK == CAN.begin(CAN_60KBPS))
12
    {
13
        Serial.println("CAN BUS Shield init ok!");
14
    }
15
    else
16
    {
17
        Serial.println("CAN BUS Shield init fail");
18
        Serial.println("Init CAN BUS Shield again");
19
        delay(100);
20
        goto START_INIT;
21
    }
22
}
23
24
void loop() {
25
  byte stmp[1] = {110};
26
  CAN.sendMsgBuf(17, 0, 1, stmp);
27
  delay(100);
28
}

Im Grunde bräuchte ich nur die Werte für die 3 Config-Register, nur habe 
ich keine Ahnung wie ich die ermittel. Könnte mir da einer Helfen?

Also CFG1-3 Werte für 60 kbit/s bei 16 (25) MHz Quarz?

Vielen Dank!

von H.Joachim S. (crazyhorse)


Lesenswert?

der hier
https://www.kvaser.com/support/calculators/bit-timing-calculator/

sagt "The desired CAN bus speed is not possible with the specified CAN 
clock frequency and tolerance."

mit Toleranz geht es (0,25% bei 16MHz)

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

H.Joachim S. schrieb:
> sagt "The desired CAN bus speed is not possible with the specified CAN
> clock frequency and tolerance."
Und bei 25MHz kommt er sogar bis auf 0,16% auf das gewünschte Ergebnis 
ran. Das sollte gut genug sein...  ;-)

: Bearbeitet durch Moderator
von Thomas F. (igel)


Lesenswert?

Julian W. schrieb:
> Also CFG1-3 Werte für 60 kbit/s bei 16 MHz Quarz?

1: 06H
2: B9H
3: 07H

Fehler: -0,2%

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.