SJA1000 CAN-Controller

OP #1647572
Lesenswert?

Hallo Zusammen,

ich arbeite derzeit mit einem SJA1000 CAN Controller, den ich im BasiCAN 
betreibe. Leider habe ich immer das Problem, dass nach dem 
Initialisieren das erste CAN-Telegramm das der SJA1000 empfängt, falsch 
ankommt. Später gibt es eigenartiger Weise, keine Probleme mehr.
Ich habe mein Programm bereits mit mehreren identischen Boards getestet 
und jedes Mal das selbe Problem mit dem ersten Message gehabt.


Hat vielleicht jemand eine Idee, woran das liegen könnte oder wie ich 
das Problem umgehen kann?
#1648427
Lesenswert?

Hallo Sting Ray,

hast du bedacht, dass am CAN-Bus immer zwei Teilnehmer
vorhanden sein müssen? Wenn deine Teilnehmer
unterschiedliche Zeiten für den Reset benötigen,
ist der Bus für eine gewisse Zeit undefiniert.
Das CAN-Telegramm bekommt kein Acknowledge
und wird deshalb beim Sender als fehlerhaft gekennzeichnet.

Eine Idee ist, versuchsweise ein oder zwei Boards
zusätzlich als dauerhafte Teilnehmer mit an den
CAN-Bus zu klemmen.

Ansonsten hilft auch ein Canalyzer :-)

Good luck.

Joachim
OP #1649130
Lesenswert?

Hallo Joachim,

vielen Dank für Deine Antwort.
Sorry, ich hätte zuvor erwähnen sollen, dass ich als zweiten Teilnehmer 
den CanAlyzer bereits verwende. Ausserdem habe ich den Self Test Mode 
(STM) eingeschaltet, erwarte also kein Acknowledge. Daran sollte es also 
eigentlich nicht liegen.

Vor ner Stunde etwa habe ich das Problem umgangen.
Jetzt lese ich nach der Initialisierung ein Dummy CAN message aus 
(obwohl eigentlich noch keins empfangen wurde) und verwerfe die Daten.
...
UND SIEHE DA: Die 1. CAN Message kommt richtig an!!!

Habe es eben auf der Hardware getestet. Wenn das ganze trotzdem noch 
stabil läuft, werde ich es erst Mal so lassen.

Vielen Dank Allen für Ihre Ideen und Posts!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren