www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Bus-Analyse


Autor: Thomas P. (topla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich stehe vor der (selbst gesetzten) Aufagbe, einen unbekannten CAN-Bus 
zu analysieren. Ich sehe es sportlich, geht es, ist es prima, geht es 
nicht, ist es auch nicht tragisch. Blöd ist nur, dass ich technisch 
nichts über den Bus in Erfahrung bringen konnte. Ziel ist, auf dem Bus 
mitzuhören und einige (wenige) Daten herauszuziehen und weiter zu 
verarbeiten. Der Bus verbindet  zwei Steuergeräte und es werden 13 
verschiedene Informationen ausgetauscht. Als erstes muss also mal ein 
Sniffer her. Nach stundenlanger Lektüre hier im Board bin ich jetzt bei 
dem ATMegaEvoBoard mit AT90CAN128 von www.microcontroller-starterkits.de 
gelandet, alternativ auch das entsprechende Zusatzmodul zum STK500. 
Eigenbau für diesen Zweck scheidet erst einmal aus, da ich mich weniger 
mit dem Herstellen des Sniffers als mit dem CAN-Bus beschäftigen möchte. 
Hat da jemand noch bessere Alternativen in der Hinterhand? Gibt es 
irgendwo Hinweise zum prinzipiellen Vorgehen bei diesem Vorhaben? Mit 
Assembler 8051 und AVR bin ich schon vertraut, C wäre Neuland.

Danke für alle Informationen.
Gruß
Thomas

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

wenn Du irgendein Controller-Board hast, mit dem Du die schon gut 
auskennst, stricke einen SJA1000 dran. Der hat einen "Listen only mode".

Gruss Otto

Autor: Thomas P. (topla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es da jetzt prinzipielle Unterschiede zum PCA82C250 oder fällt das 
unter persönliche Vorlieben? Habe da wirklich noch keinen Plan davon, 
bin aber häufig auf die Kombination PCA82C250 + MCP2515 gestoßen.
STK500 ist vorhanden und ich komme damit ganz gut zurecht.

Gruß
Thomas

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

das physikalische Interface (PCA82C250) braucht Du immer zusätzlich. Der 
MCP2515 ist ein CAN-Controller mit SPI - der SJA1000 ist parallel oder 
auch als Memory anschliessbar.

Wenn Du bereits etwas mit SPI gemacht hast, nimm den MCP2515, der hat 
auch einen Listen-Only-Mode.

Otto

Autor: Thomas P. (topla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, SPI ist kein Hit, habe mit SPI die ganze Tastaturabfrage, 
Anzeigeausgabe und Fahrstraßensteuerung meiner Modellbahn als Zubehör zu 
einer Lenz-Steuerung mit LZV100 gelöst.
Hat jemand noch Vorschläge zur prinzipiellen Vorgehensweise bei der 
CAN-Bus-Analyse? Wie kann man effektiv die Busgeschwindigkeit ermitteln?

Gruß
Thomas

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie kann man effektiv die Busgeschwindigkeit ermitteln?

Scope oder "autodetect" programmieren und ermittelte Werte anzeigen....

Otto

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier vorbei:
http://martinsuniverse.de/projekte/caninterceptor/...
Das Lawicel-Protokoll kommt auch noch in Kürze rein.

sonst mal hier schauen:
http://www.canhack.de

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Baudrate kann mit einem Oszi ermittelt werden.

Autor: Christian_RX7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab auch sowas ähnliches vor, werde mir das Modul: 
http://www.mhs-elektronik.de/cgi-bin/mhs.pl?id1=2&id2=1 nachbauen, denn 
den Schaltplan und die Soft- und Firmware bekommt man gratis über 
Elektor.

Hat jemand Erfahrung damit?

Viele Grüsse,
Christian

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Baudratenerkennung kannst du entweder über das Ermitteln der 
Bitlänge machen, oder ganz einfach indem du mit deinem CAN-Controller im 
listen-only-Modus (wichtig!) die üblichen Baudraten von der höchsten 
nach unten durchprobierst, bis du was empfängst.

Autor: Thomas P. (topla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die ganzen Infos, da gibt es wieder neue Ansatzpunkte. 
Manchmal sieht man den Wald vor lauter Bäumen nicht; ich werde erstmal 
einen Treiberbaustein an den CAN-Bus knüppern und dann mal ganz simpel 
den Logikanalysator dranhängen - da ist ja ein CAN-Bus-Interpreter dabei 
und in dem kann man auch ganz leicht mit der Bitrate herumspielen.

Gruß
Thomas.

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

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