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
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
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
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
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
> Wie kann man effektiv die Busgeschwindigkeit ermitteln?
Scope oder "autodetect" programmieren und ermittelte Werte anzeigen....
Otto
Schau mal hier vorbei: http://martinsuniverse.de/projekte/caninterceptor/caninterceptor.html Das Lawicel-Protokoll kommt auch noch in Kürze rein. sonst mal hier schauen: http://www.canhack.de
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.