Forum: Mikrocontroller und Digitale Elektronik STM32F103 CAN Bus Frame Problem


von Sven B. (v3rtex)


Angehängte Dateien:

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...

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.