MCP2515 und falsche Baudrate

Gast #4955489
Lesenswert?
• ▲
▼
Was passiert? Hat da jemand Erfahrungen?
Hintergrund: ich möchte mir einen CAN-Mithorcher basteln, der nach 
Möglichkeit seine CAN-Baudrate selbst einstellen kann, bis es passt.
Ja, steht bestimmt irgendwo im Datenblatt, aber ich finde das ziemlich 
verwirrend :-(, also mit rtfm ist mir nicht wirklich geholfen.
Gast #4956120
Lesenswert?
• ▲
▼
Ok, danke, funktioniert. Ich lese einfach den Counter aus
temp= mcp2515_read_register (REC);
Wenn grösser 10, neue Baudrate probieren. Geht sicher eleganter mit 
Interrupt, muss aber nicht sein, braucht man ja nur am Start. Gefundene 
Baudrate dann in den Eeprom und beim nächsten Reset erstmal damit 
beginnen. So oft wechselt man ja nicht.
Gast #4956160
Lesenswert?
• ▲
▼
Falls die Error frames doch stören:
CAN-Controller in den Listen-only Mode setzen
-> kein Akn, keine Error frames
REC auslesen,
falls 0 nochmal gucken ob wirklich etwas empfangen wurde
- nicht das der Bus einfach gerade leer ist ;-)
#4956446
Lesenswert?
• ▲
▼
Dieter M. schrieb:
> CAN-Controller in den Listen-only Mode setzen
> -> kein Akn, keine Error frames
> REC auslesen,

Funktioniet das? Im Datenblatt Kapitel 10.3 steht:

The baud rate can be detected empirically by testing
different values until valid messages are received.

und weiter:

Listen-Only mode is a silent mode, .... The error
counters are reset and deactivated in this state.

Liest sich für mich, man muss solange durchprobieren bis man etwas 
empfängt.
#4956945
Lesenswert?
• ▲
▼
MCP2515 hängt ja per SPI dran. Ich gehe davon aus, dass der 
angeschlossene µC keinen eigenen CAN-Controller hat (OT: Warum nimmt man 
eigentlich immer µC ohne CAN, und flanscht dann den MCP2515 an?).

Ich würde vom CAN-RX Pin des CAN-Transceivers hochomig auf einen Pin des 
Mikrocontrollers gehen, und dort per Capture messen wie lang ein Bit 
ist.
Das geht natürlich nur bei Busaktivität.
#4957431
Lesenswert?
• ▲
▼
Stefan M. schrieb:
> (OT: Warum nimmt man
> eigentlich immer µC ohne CAN, und flanscht dann den MCP2515 an?)

a: weil man eine passende Platine da hat
b: weil es nur wenige MCs mit mehr als einem CAN-Controller gibt
c: weil man schon fertige und gut funktionierende Software hat
d: weil ein CAN-AVR um die 5€ kostet, und die Kombi Mega88+MCP2515 <2,50

also, es gibt schon Gründe

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.