STM32F103 CAN Bus Frame Problem

OP #3560175
Lesenswert?
• ▲
▼
Hallo,

als angehender Techniker versuche ich im Moment einen CAN Bus zum Laufen 
zu bekommen, was einseitig schon klappt.
Mit Teilnehmer habe ich aber ein komisches Verhalten, wozu ich gerne mal 
eure Vorschläge hören würde.

Ich habe zwei Boards, einmal ein Olimexino STM32F103RBT6 mit MCP2551 
Transceiver und ein selbst gebautes STM32F103C8T6 Board mit ISO1050 
Transceiver. Beide Boards sind mit 500KBit/s initialisiert und laufen im 
Loopback Mode für sich selbst (Intern CAN Rx auf Tx) einwandfrei, 
Interrupts reagieren und Nachrichten sind korrekt.

Nun schließe ich beide Boards auf eine gemeinsame CAN Leitung von 10cm, 
beidseitig mit 120 Ohm terminiert.
Wenn ich nun nur mein selbst gebautes Board initialisiere und eine CAN 
Message sende, sieht man dies schön und korrekt auf dem Bus (Bild 1).

Initialisiere ich mit denselben Einstellungen das Olimexino
(Korrektes Remap der CAN Pins schon beachtet!),
wird der Frame unkenntlich und sieht auf dem Bus aus wie auf Bild 2.

Was ich nun bereits gemacht habe, ist das CAN_ESR Register auszulesen, 
in dem die Error Messages signalisiert werden.
Ohne Teilnehmer im Normal Can Mode, (wenn die Frames gut aussehen wie 
auf Bild 1) bekomme ich ACK Errors, soweit OK da ja keine Gegenstelle 
quittieren kann. Schließe ich nun meinen 2. Teilnehmer dazu sehe ich 
sehr schön wie mir nun ein "Stuff Error" angezeigt wird, auf dem Bus 
sehe ich diesen Verlauf wie auf Bild 2.


Hat mir da jemand Vorschläge woran das liegen könnte, dass mir der 
Teilnehmer so das Signal versaut?
Im Loopback Modus läuft dieser ja ohne Probleme...
Timing Einstellungen, Initialisierungen usw. habe ich schon tausendfach 
mit Beispielcode von hier und im Internet sonst abgeglichen, bisher ist 
mir das Verhalten noch recht schleierhaft...
Angehängte Dateien:

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.