Hallo, ich möchte einen CAN-Bus mithören, von dem ich bis jetzt nichts an technischen Spezifikationen kenne. Erste Idee war das Anzapfen des Busses (ca. 1m Ausdehnung) mit einer Stichleitung (ca. 2m, technisch bedingt) und am Ende dann einen CAN-Controller. Da ich nicht weiß, wie der bestehende Bus abgeschlossen ist, habe ich jetzt die Befürchtung, dass meine Stichleitung unzulässige Beeinflussungen erzeugen kann. Schließe ich den Bus noch einmal mit 120 Ohm ab, ist das ev. gegen die Spezifikation. Alternative wäre jetzt, den CAN-Bus-Treiber (MCP2551) direkt am Bus zu installieren und dann über einen RS-485-Treiber die 2 Meter bis zum Controller zu gehen. Sind das brauchbare Ansätze oder bin ich ganz auf dem Holzweg und sehe den Wald wieder vor lauter Bäumen nicht? Danke für alle Hinweise. Thomas
stören wird es nicht, zus. Abschlusswiderstand gehört nicht rein. Kauf dir einen USB-CAN-Dongle (z.B. PeakTech), dann kannst du den ganzen CAN-Kram am PC mithorchen. Das einzige, was man ausprobieren muss, ist die Baudrate. Da i.A. nur gängige Baudraten benutz werden, geht das schnell. Sieht man aber auh mit dem Scope.
Vorsicht - es kommt darauf an, ob es ein CAN-Bus ist, der nur als Versuchsobjekt aufgebaut oder um einen, der noch funktionieren soll handelt. Eine 2m lange Leitung ohne Abschlusswiderstand wird Dir in einem PKW die schönsten Fehleranzeigen (hinter dem Gateway) oder gar Fehlfunktionen (am Fahrzeug-CAN bringen. Wenn Du den Controller direkt am CAN-Anschluss montierst, kannst Du evtl. auf den Abschlusswiderstand verzichten. Zum reinen "sniffen" solltest Du unbedingt einen Controller verwenden, der den "Listen-Only" Modus beherscht (z. B. SJA1000). Gruss Otto
Otto wrote: > Vorsicht - es kommt darauf an, ob es ein CAN-Bus ist, der nur als > Versuchsobjekt aufgebaut oder um einen, der noch funktionieren soll > handelt. Nee, der soll dann schon noch leben... > Eine 2m lange Leitung ohne Abschlusswiderstand wird Dir in einem PKW die > schönsten Fehleranzeigen (hinter dem Gateway) oder gar Fehlfunktionen > (am Fahrzeug-CAN bringen. Wie macht man das denn dann überhaupt, wenn eine Sternstruktur nicht zu umgehen ist? Kabel hin und her damit doch eine Busstruktur zustande kommt? > Wenn Du den Controller direkt am CAN-Anschluss montierst, kannst Du > evtl. auf den Abschlusswiderstand verzichten. Der würde dann wirklich dazwischen sitzen, also Abschlusswiderstand nicht notwendig. > Zum reinen "sniffen" solltest Du unbedingt einen Controller verwenden, > der den "Listen-Only" Modus beherscht (z. B. SJA1000). Warum unbedingt einen CAN-Controller im Listen-only-Modus? Ich wollte den Treiber MCP2551 verwenden und den Tx-Pin fest auf H legen. Da kann doch nix mehr schiefgehen oder hab ich wieder was verpeilt? Gruß Thomas
Hm - rück doch damit raus, um welchen CAN es sich handelt..... Experimente an einem PKW hat schon so mancher bereut..... Otto
Otto wrote: > Hm - rück doch damit raus, um welchen CAN es sich handelt..... Ist ja kein Geheimnis: BMW E34 540iAT mit Motor M60B40 und Getriebe 5HP30. CAN-Bus zwischen Motor- und Getriebesteuergerät. Leider keinerlei Infos aufzutreiben, BMW mauert total und langsam reizt mich die Geheimnistuerei mehr als die dahinterliegende Idee... > Experimente an einem PKW hat schon so mancher bereut..... Ist nicht das Ziel, soll auch auf Dauer nur dazu dienen, drei Informationen abzugreifen. Kein Senden vorgesehen, macht auch keinen Sinn. Gruß Thomas
> soll auch auf Dauer nur dazu dienen, drei > Informationen abzugreifen. und die liegen nicht auch am OBD2 an ? Otto
Otto wrote:
> und die liegen nicht auch am OBD2 an ?
Nein, E34 hat nix OBD2.
Gruß
Thomas
welches Baujahr ist es denn - wenn das Fahrzeug CAN hat, so hat es mit an Sicherheit grenzender Wahrscheinlichkeit auch OBD2. Wenn Du Deinen Sniffer hier aufsteckst, ist es nicht ganz so riskant. Es gibt für "OBD2" fertige Geräte, welche Dir beliebige Werte anzeigen können (www.scangauge.de) oder auch bestimmte Werte umsetzen können (z. B. Geschwindigkeit). Um einen Eigenbau hinreichend zu testen, benötigst Du mindestens einen Generator und einen Empfänger oder ein professionelles Tool (z. B. CANoe). Erst wenn Dein Eigenbau hier alle Tests erfüllt, würde ich damit an Dein Fahrzeug gehen - und da hast Du immer noch ein Restrisiko. Sich direkt zwischen die SG zu hängen kann die tollsten Effekte hervorrufen - diese möchtest Du aber bestimmt nicht live erleben. Gruss Otto
Otto wrote: > welches Baujahr ist es denn - wenn das Fahrzeug CAN hat, so hat es mit > an Sicherheit grenzender Wahrscheinlichkeit auch OBD2. Ist ein BJ 1996, ich habe so ziemlich alle Webseiten dazu durch, auch der direkte Kontakt zu BMW(-Mitarbeitern) bringt keine weiteren Erkenntnisse. OBD2 ist definitiv nicht im E34, leider. > Um einen Eigenbau hinreichend zu testen, benötigst Du mindestens einen > Generator und einen Empfänger oder ein professionelles Tool (z. B. > CANoe). > > Erst wenn Dein Eigenbau hier alle Tests erfüllt, würde ich damit an Dein > Fahrzeug gehen - und da hast Du immer noch ein Restrisiko. Leider fehlt mir auf den CAN-Schiene die Erfahrung. Vielleicht ist meine Frage deshalb etwas dämlich, aber: Was kann man durch reines Mithören denn für Effekte hervorrufen? Ich habe da wirklich keine Vorstellung. Sollte der Treiber im Empfangsmodus die Kommunikation lahmlegen, geht halt nix mehr - wobei mir unklar ist, wie das technisch gehen soll. Gibt es einen Zustand, der den Datenaustausch nur temporär stört, kommt es zu einem Gewitter an Fehlerspeichereinträgen und das Ganze geht ins Notprogramm, genauso, als wenn ich die Verbindung manuell unterbreche. Kaputt geht nix, warum auch. Das Ganze ist ja kein Eingriff in ein Steuergerät sondern das Abhören der Kommunikation zweier Steuergeräte. > Sich direkt zwischen die SG zu hängen kann die tollsten Effekte > hervorrufen - diese möchtest Du aber bestimmt nicht live erleben. Mit direkt Dazwischenhängen meinte ich die Topologie des CAN-Busses, der Treiber zum Mithören sitzt dann elektrisch mitten im Bus, die Steuergeräte bleiben an den Enden und das Problem der Terminierung ist vom Tisch. Gruß Thomas
Hauptsächlich ist das grösste Risiko beim "Sniffen" die EMV - speziell natürlich Einstrahlung. Eingestrahlte Transienten können übertragene Botschaften verfälschen. Stelle Dir einen Defekt vor, der das Getriebe in den Rückwärtsgang schalten würde und nur noch auf das Signal "V < 5 km/h" wartet..... Ein weiteres Risiko besteht darin, wie das Verhalten Deiner Schaltung ist, wenn diese ausfällt. Der von Dir ausgesuchte MCP2551 stört den CAN im ausgeschalteten Zustand nicht. Du musst also einschätzen können, wann die SG ordnungsgemäß arbeiten und wann nicht. Stelle Dir das Herausfinden der von Dir benötigten Informationen auch nicht so einfach vor. Zunächst müsstest Du feststellen, welche ID auf dem Bus sind und was ihre Bedeutung ist - Du würdest Dir also ein kleines Monitorprogramm schreiben, dass den Inhalt der gefundenen ID anzeigt - im Stillstand des Fahrzeuges kein Problem - aber während der Fahrt ? Kaufe oder baue Dir ein Tool, dass es ermöglicht ein Log einer Fahrt auf dem Notebook aufzuzeichnen und analysiere die Daten dann. Gruss Otto
Otto wrote: > Hauptsächlich ist das grösste Risiko beim "Sniffen" die EMV - speziell > natürlich Einstrahlung. Eingestrahlte Transienten können übertragene > Botschaften verfälschen. In diesem Falle hoffe doch auf die Fehlererkennung des CAN-Busses... > Stelle Dir einen Defekt vor, der das Getriebe in den Rückwärtsgang > schalten würde und nur noch auf das Signal "V < 5 km/h" wartet..... Keine Gefahr, so etwas wird darüber nicht gesteuert. > Ein weiteres Risiko besteht darin, wie das Verhalten Deiner Schaltung > ist, wenn diese ausfällt. Der von Dir ausgesuchte MCP2551 stört den CAN > im ausgeschalteten Zustand nicht. Genau deshalb habe ich den (u.a.) gewählt, bin aber überzeugt, andere ICs verhalten sich genauso, sonst machen die ja kaum Sinn. > Du musst also einschätzen können, wann die SG ordnungsgemäß arbeiten und > wann nicht. Ja, kann ich. Kommunikationsfehler sind erkennbar und das interne Arbeiten der Steuergeräte beeinflusse ich nicht. > Stelle Dir das Herausfinden der von Dir benötigten Informationen auch > nicht so einfach vor. Ist wahrscheinlich wirklich sehr aufwendig, da ich wirklich nichts über den Telegrammaufbau weiß. Die benötigten Informationen sollten sich aber schon im Stand gewinnen lassen, bis auf eine. Aber erst mal Daten sammeln, dann kann ich mich immer noch von der Hoffnungslosigkeit des Vorhabens überzeugen (lassen). > Zunächst müsstest Du feststellen, welche ID auf dem Bus sind und was > ihre Bedeutung ist - Du würdest Dir also ein kleines Monitorprogramm > schreiben, dass den Inhalt der gefundenen ID anzeigt - im Stillstand des > Fahrzeuges kein Problem - aber während der Fahrt ? Programm ist schon fertig. > Kaufe oder baue Dir ein Tool, dass es ermöglicht ein Log einer Fahrt auf > dem Notebook aufzuzeichnen und analysiere die Daten dann. Genau so wird es werden, finde ich die gesuchten Informationen heraus, ist es prima; finde ich sie nicht heraus, dreht sich die Welt auch weiter. Zumindest scheint mein Ansatz nicht so weit daneben zu sein. Danke für die Hilfe. Gruß Thomas
AT90CAN128, ist aber nicht von mir sondern Soft- und Hardware (angepasst) von hier: http://www.kreatives-chaos.com/artikel/can-debugger Gruß Thomas
Ich kann nur sagen dass der Freund eines Freundes mal versucht hat die ganze Sache mitzuhören. Elektronisch ist der, wie ich hörte, ziemlich bewandert. Trotzdem hat sich irgendwas gleich beim ersten Verbinden seiner Schaltung und dem Auto verabschiedet, so dass der Wagen in die Werkstatt musste... Möchte dich auf keinen Fall von deinem Vorhaben abhalten, ich möchte nur zu bedenken geben, dass es ziemlich dämlich ist, ohne genaues Wissen und konkrete Pläne an einem komplexen elektronischen System irgendwas zu ändern... z.B. hab ich mir bei meinem Polo auch nen Kill-Switch für di Zündung und einen LED-Leuchttaster für den Starter eingebaut. Nur hatte ich die Pläne wie alles angeschlossen ist, welche Ströme fliessen etc etc...
Es wird ja immer wieder vor Eingriffen auf den CAN im Fahrzeug gewarnt. Ich frage mich, ob es vielleicht über einen hochohmigen Spannungsfolger direkt am "Kabel" und da hinter Transceiver und Controller möglich ist, den Bus "gefahrlos" abzugreifen? Gibt es mit solch einem Ansatz bereits Erfahrungen? Steffen.
Marco Beffa wrote: > Elektronisch ist der, wie ich hörte, ziemlich bewandert. Trotzdem hat > sich irgendwas gleich beim ersten Verbinden seiner Schaltung und dem > Auto verabschiedet, so dass der Wagen in die Werkstatt musste... Interessant wäre mal, was sich da verabschiedet hat und warum. Im Nachgang sollte soetwas schon zu klären sein. Ansonsten gebe ich nicht viel auf solche "Erfahrungen", auch wenn ich die Warnung schon registriert habe. > Möchte dich auf keinen Fall von deinem Vorhaben abhalten, ich möchte nur > zu bedenken geben, dass es ziemlich dämlich ist, ohne genaues Wissen und > konkrete Pläne an einem komplexen elektronischen System irgendwas zu > ändern... Abhalten wirst Du mich davon auch nicht. Mit konkreten Unterlagen wäre mir das Unternehmen auch wesentlich sicherer, aber genau die gibt es eben nicht für mich. Und wie schon oben geschrieben, ich will an diesem System nichts ändern, nur etwas mithören - fertig. Gruß Thomas
Steffen wrote: > Es wird ja immer wieder vor Eingriffen auf den CAN im Fahrzeug gewarnt. Ja, genau das liest man immer wieder. Wobei meiner Meinung nach fein unterschieden werden sollte, ob ein Eingriff ein Senden auf den CAN-Bus ist, dessen Folgen mangels Unterlagen und Erfahrungen weder bekannt noch abschätzbar sind, oder ob nur ein Aufklemmen und Mithören mit hardwareseitig unterdrückter Sendemöglichkeit gemeint ist. Im ersten Fall stimme ich zu, dass das erstens kreuzgefährlich und zweitens selten dämlich in Bezug auf die möglichen Ergebnisse sein kann. > Ich frage mich, ob es vielleicht über einen hochohmigen Spannungsfolger > direkt am "Kabel" und da hinter Transceiver und Controller möglich ist, > den Bus "gefahrlos" abzugreifen? Ich stelle mir hier die Frage, ob es an einem CAN-Bus etwas Geeigneteres geben kann, als einen genau auf diese Art von Bus zugeschnittenen Controller bzw. Treiber-IC. Was soll technisch passieren, wenn ein zusätzlicher Busteilnehmer die Daten mithört? Kann keiner auch nur ansatzweise nachvollziehbar aufzeigen. Wenn das Konstrukt eines CAN-Busses im Fahrzeug derart wackelig ist, dass eine zusätzliche Last bei zwei vorhandenen Teilnehmern am Bus den Motor zum Explodieren oder das Getriebe zum Rückwärtsdrehen bei Vmax bringen können soll, würde man täglich davon Lesen können und der CAN-Bus wäre in Fahrzeugen schon lange Geschichte. Ich habe mit diesem Bus noch keine Erfahrungen, aber diese Art des Sniffens ist und war bei RS485 schon immer üblich, ohne dass da grauenhafte Sachen passiert sind. Da der CAN-Bus ja immer als fehlertolerant und sicher gelobt wird, kann und mag ich mir nicht vorstellen, dass das so eine anfällige technische Lösung sein soll. Die Erfahrung mit RS485 sagt mir auch, dass um die Abschlußwiderstände oftmals viel zu viel Theater gemacht wird, solange Geschwindigkeit und Ausdehnung nicht am oberen Ende der Spezifikation liegen. Deshalb hier meine Frage nach dem Verhalten des CAN-Busses. Offensichtlich scheint der wesentlich anfälliger als RS485 zu sein. Ich werde mir erstmal zwei Steuergeräte auf den Tisch packen und zusehen, dass ich den CAN-Bus dazwischen in die Gänge bekomme. Weiß jemand, wie sich die eingesetzten Geschwindigkeiten auf CAN-Bussen über die Jahre in der Kfz-Technik entwickelt haben? Ist zum Jahr 1994 schon mit 1MBit zu rechnen? Gruß Thomas
bin ganz deiner Meinung. Und erhobene Zeigefinger wird es immer geben. Das Ding ist robust, Störungen können zwar zum Verfälschen der Informationen führen, diese werden aber erkannt. Falls wichig, kann sie neu angefordert werden, wenn nicht ganz so wichtig, wartet der Empfänger eben damit, bis wieder eine gültige kommt. Genau das ist ja auch die Grundidee in der störverseuchten Umgebung. Und noch was aus der Praxis: wir haben mal einen 500kBit-Bus über eine ca. 10m lange Klingelleitung (war nichts anderes da :-) als Stichleitung gekoppelt (Ersatz eines Fensterhebers, wollte im Fahrzeug nicht funktionieren, Verdacht auf falsches Ersatzteil/Baureihe), kein Problem mit dem Bus. Mach das ruhig. Solange du nichts sendest, passiert gar nichts. Selbst eigene zus. Informationen drüber schicken ist problemlos möglich, solange du die verwendeten IDs kennst und diese meidest, auch schon gemacht. Kritisch wird sowas erst, wenn der Bus an der Kapazitätsgrenze werkelt, davon ist nicht auszugehen. Niedrige Priorität der eigenen Botschaften und geringe Wiederholraten, fertig.
Das BMW dir keine Antworten geben kann liegt an dem mangelnden Fachwissen der Mitarbeiter. Ein Freund hat vor kurzem eine Weiterbildung von VW besucht Thema CAN Bus. Da mich das auch interessiert hat habe ich mal seine Unterlagen durchgeblättert und Fragen gestellt. Der CAN Bus steuert alles in modernen Autos. es gibt den Comfortbus und das Motormanagment. und die Kabel müsen verdrillt sein. Das War schon fast alles was ich ihm entlocken konnte. Protokollaufbau Fehlanzeige. Wichtig ist nur noch wo schließe ich das Gerät an und wenn nen Fehler da ist dann wird in ein Handbuch geguckt Fehler 000123 Steuerteil xyz tauschen schlägt zur not auch das Gerät vor. Daher auch die hohen Preise, das Gerät wird einfach getauscht. Da die Garantie erlischt wenn man die kabel kappt um seinen sniffer dazwischenzuschalten. daher sagen sie das darf man nicht. PUNKT Und die Entwickler sitzen ja nicht bei der BMW Niederlassung und die Dürfen bestimmt nix sagen wie das Funktioniert. Meine Lieblingsgeschichte bei VW ist: Bei einem Freund funktionierte der Fensterheber immer mal nicht nur dann wieder wenn er die Zündung ausgemacht hat und wieder eingeschaltet. Fehler wurde mit einem Softwareupdate im Fensterheber behoben ;) nach ca. 3 Wochen herumärgern mit dem VW Service. Gruß P.Pan
@ crazy horse: Prima, mal praktische Erfahrungen, die sich mit meiner Einschätzung decken. Ich werde es mal vorsichtig angehen lassen. Peter Pan wrote: > Da die Garantie erlischt wenn man die kabel kappt um seinen sniffer > dazwischenzuschalten. daher sagen sie das darf man nicht. PUNKT Ja, aber bei einem 12 Jahre alten Fahrzeug ist mir der Begriff Garantie schon sowieso sehr ungeläufig.... Ich würde es außerdem schon sauber mit den originalen Steckern lösen. > Und die Entwickler sitzen ja nicht bei der BMW Niederlassung und die > Dürfen bestimmt nix sagen wie das Funktioniert. Ich habe direkt bei BMW München angefragt. OT: "Diese Informationen sind Interna und nicht für die Weitergabe bestimmt." Die können schon und wissen auch genau das, was mich interessiert, wollen aber nicht. Persönliche Kontakte nach München habe ich leider nicht, aber inzwischen die Vermutung, dass an diesen Stellen in der Elektronik nur zugekauftes Zeug werkelt und das Knowhow friedlich beim Zulieferer schlummert. Zur NL habe ich sehr gute Kontakte und die wissen und haben wirklich nix zum Thema - das gehört nicht zum Wissen für die Instandhaltung (lt. BMW München). Gruß Thomas
So, mal der Vollständigkeit halber: Habe die Verbindung zwischen den beiden Steuergeräten im Steuergerätekasten des Fahrzeugs gekappt und dort eine weitere Leitung ins Fahrzeuginnere angebunden. Ohne Abschlußwiderstand war problemloser Betrieb möglich (keine Fehler). Danach den Sniffer angeschlossen, auch keine Probleme; danach den Sniffer eingeschaltet, ebenfalls problemlos. Alle Telegramme identifiziert und entschlüsselt - ich bin zufrieden. Gruß und nochmals Danke für alle guten Ratschläge Thomas
Thomas P. wrote:
> Alle Telegramme identifiziert und entschlüsselt - ich bin zufrieden.
Respekt!
Wie lange hast du dafür gebraucht?
Reine Arbeitszeit werden so ca. 60-70h gewesen sein, dabei aber ein großer Anteil für Aufbau der Versuchshardware im Keller, Studium der Schaltpläne, Aufbau des Sniffers und Anzapfen des Fahrzeugs. Da bekannt war, welche Informationen über den Bus laufen, konnte mit dem Sniffer sehr effektiv gearbeitet werden. Thomas
mhm, da ich gerade an etwas ähnlichem entwickle, würde mich interessieren, was du mit den gesnifften Daten anfängst. Schickst du die an einen PC oder stellst du die auf einenm Display dar? Hast du die Botschaftsinhalte zu Fuß entschlüsselt oder bist du doch noch an ein CANdb file gekommen?
Ganz vordergründig hat mich lediglich interessiert, die tatsächtlich vom Automatikgetriebe geschaltete Fahrstufe und den Zustand der Wandlerüberbrückungskupplung für ein Steptronik-Projekt in die fahrzeugeigene Anzeige im Tacho zu bekommen. Der Rest ist quasi "Abfallprodukt", mal sehen, ob da noch etwas draus entstehen kann. Nein, Unterlagen habe ich keine bekommen, die ganze Auswertung ist "zu Fuß" mit viel Überlegen und Nachdenken erfolgt. Thomas
Ja, die Signalpositionen und -skalierungen manuell zu ermitteln ist nicht gerade einfach. In 60-70 Stunden hättest du den Wagen übrigens auch auf Schaltgetriebe umrüsten können, da kann man die Schaltstufe dann auch direkt ablesen ;)
Eine Umrüstung wäre wohl in dieser Zeit möglich, dazu kommen dann aber die Zeit und der Aufwand für die Beschaffung der Teile bzw. eines Spenderfahrzeugs, die so gut wie nicht gebraucht in annehmbaren Zustand erhältlich sind. In einem Bruchteil der Zeit wäre es auch möglich, ein entsprechendes Fahrzeug zu erwerben. Da ich aber faul bin und liebend gerne in 90% der Fälle schalten lasse, wäre das Ganze dann wieder kontraproduktiv... ;-)) 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.