mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: markos (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: rcc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Passt die Baud-Rate der Can-Karte?

Autor: markos (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pankofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.