Forum: Fahrzeugelektronik CAN-Bus-Fehler nach Erweiterung um Rechner mit CAN-Karte


von markos (Gast)


Lesenswert?

Hallo zusammen,


mein CAN-Bus-Setup bringt mich zur Verzweiflung.
Ich versuche aktuell, in einen bereits funktionierenden Bus mit drei 
Teilnehmern einen kleinen Linuxrechner einzubinden. Den Linuxrechner 
habe ich über mini-PCIe mit einer CAN-Karte mit der Bezeichnung VDB-120 
erweitert.


Solange ich den Rechner im ausgeschalteten Zustand an den CAN-Bus 
anstecke, läuft der Bus wie erhofft. Ich gehe daher davon aus, dass kein 
Problem mit den Abschlusswiderständen vorliegt. Sobald ich den Rechner 
hochfahre, treten nach wenigen Sekunden Probleme auf, obwohl gemessen an 
der CAN-Karte ohne weitere Teilnehmer, lediglich der Spannungspegel am 
CAN-L- und CAN-H-Pin von 0 V auf 2.2 V wechselt, also auf ein rezessives 
Spannungslevel.


Auch mit fertig durchgeführtem Bootvorgang und vermeintlich korrekt 
konfigurierter Karte habe ich es nicht geschafft, Daten physikalisch zu 
senden, obwohl die Daten in der Konsole mit ifconfig als erfolgreich 
versendet angezeigt werden. Überprüft habe ich das sowohl über ein 
CANCaseXL von Vector als auch über ein Oszilloskop, wobei bei beiden 
keinerlei Veränderung zum nicht sendenden Zustand festgestellt wird.


Den auftretenden Fehler, der scheinbar von den schon vorhandenen 
Teilnehmern im Bus ausgegeben wird, habe ich über ein Vector CANCaseXL 
geloggt und lautet ECC 11110011, Code: Other Type of Error, Segment: 
Tolerate Dominant Bits. Meine Recherche zu diesem Fehlercode hat keine 
hilfreichen Ergebnisse geliefert. Scheinbar handelt es sich dabei um 
parallel auftretende Fehler.


Hat jemand hier eine Idee, wo mein Fehler stecken könnte oder was ich 
noch versuchen kann? Oder ist möglicherweise einfach die CAN-Karte 
beschädigt?


Vielen Dank schon mal für die Hilfe!


Martin

von Alex W. (a20q90)


Lesenswert?

Eventuell erlaubt der aktive Rechner deiner Karte eine Antwort zu Pakete 
zu senden. Die labern dir dann auf den Bus und deine Teilnehmer werden 
sich fragen wer er ist.

Wir hahen zwar nicht die VDB-120 (scheint mir eine M2 zu sein) aber 
unsere Karte hat sowas wie ein "ACK" gesendet, was für uns am CAN gar 
kein Sinn machte. Wir haben dann die Karte auf Passivmodus geschaltet 
damit dieser nur noch als Sniffer funktioniert. Kartentyp muss ich in 
der Entwicklung nachfragen.

von rcc (Gast)


Lesenswert?

Passt die Baud-Rate der Can-Karte?

von markos (Gast)


Lesenswert?

Tatsächlich habe ich es inzwischen geschafft, die Karte mit einem alten 
Treiber, der noch auf der Seite der Firma innodisk für die scheinbar 
baugleiche Karte EMUC-B201 verfügbar ist, als SocketCAN-Schnittstelle 
zum empfangen und senden zu benutzen.

Leider zerstört die Karte während des Bootens immer noch den 
Datenverkehr auf dem Bus, ohne dass ich eine wirkliche Möglichkeit habe, 
vorher die Einstellungen zu verändern.
Ich schaue noch einmal nach, vielleicht lässt sich über die 
Kernel-Module für die PCI-Schnittstellen noch etwas einstellen.

Danke für die Tipps, solche Denkanstöße sind immer hilfreich!

Martin

von Pankofer (Gast)


Lesenswert?

Was sagt denn da der CANalyzer? Es sollte möglich sein, den Zeitpunkt zu 
ermitteln, wann wer den Bus stört. Ob man es der SW allerdings 
abgewöhnen kann, ist eine andere Frage.

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.