Hi! Ich möchte an meinem Fahrzeug die Geschwindigkeit und Motordrehzahl über den CAN-Bus auslesen. Ich bin aber nicht wirklich vom Fach, daher hab ich mal einige Fragen: - Was ist denn CAN-High und was CAN-Low? Ich dachte bisher die CAN-High Leitung wäre die, die auf dem höheren Potential liegt (~5V ?), wenn keine Daten anliegen. - Wie ermittle ich denn die Baudrate ordentlich? Hab leider nur ein Oszi, und die Daten liegen ja nicht kontinuerlich an. - Ich habe einen CANanalyser USB von der Hochschule, der bisher nur Fehlermeldungen ausgibt, oder auch gar nichts, je nachdem was für eine Baudrate eingestellt ist. - Gibt es eine einfache Möglichkeit, das Signal aufzunehmen, so dass man es mal in Ruhe analysieren kann? - Abschlusswiederstände brauch ich ja keine, ich hab ja schon einen funktionierenden Bus, oder? Danke schonmal, Grüße, Tobias
CAN HIGH und CAN LOW sind die beiden Datenleitungen. Deren Pegel hängt von dem aktuellen Buszustand (dominant oder rezessiv) UND von der verwendeten Treibertechnik, nämlich Highspeed CAN oder Lowspeed CAN, ab. -> Studium der Grundlagen! Wenn du die Zündung anhast, kann man davon ausgehen, dass ständig (alle paar ms) eine Nachricht übertragen wird. Die Baudrate mit dem Oszi ausmessen sollte also kein Problem darstellen. Warum dein CANanalyser nur Fehler liefert kann in diese Fall auch wieder High- bzw. Lowspeed zusammenhängen. Also hier mal mehr Details posten. Abschlusswiderstände: Da du dich irgendwo reinhängst, würde ich nicht mit 120 Ohm terminieren sondern mit vielleicht 1KOhm. Aufjedenfall deine zusätzliche Stichleitungen so kurz wie nur möglich halten. Signal aufnehmen: Sollte jeder halbwegs professionelle Software ermöglichen. Ist der CANalayser zufällig von Vector?
Ich hab zwei Datenleitungen, von dene eine normal aussieht (0 entspricht ~1 V, 1 entspricht ~5V), die andere invertiert. Ich hab bisher nirgends rauslesen können, welche Leitung jetzt LOW und HIGH sind. Vielleicht hab ich den Analyser nur falsch angeschlossen? Der ist übrigens von IXXAT und kann nur Highspeed. Ist die Leitung zwischen Motorsteuergerät, Bordcomputer und ABS, daher tipp ich auf Highspeed (als langsamer Bus ist auch noch irgendwo VAN-Bus verbaut)
Tobias B. schrieb: > Ist die Leitung > zwischen Motorsteuergerät, Bordcomputer und ABS, Mir wird übel wenn ich das lese. Hast du eine Ahnung was passiert wenn du mit deinem Unwissen den CAN Bus zwischen Motorsteuergerät und ABS blockierst? Ich vermute nein, da du keine Ahnung zu haben scheinst. Ernstgemeinter Rat: Entferne alles an deinem Auto was du angebracht hast. Danach lese ein paar Artikel über CAN und dann fang klein an. Aber lass in jedem Fall die Finger vom Auto weg.
@ Willivonbienemaya .. (willivonbienemaya) ..jetzt haben hier alle pflichtgemäß von Deinem Sachverstand Kenntnis genommen. Laß uns teilhaben, und erzähl doch mal was sachdienliches. Bist Du staatlich geprüfter Techniker?....vermutlich! guude ts
Hey bevor du mir hier frechkommst, halt einfach den Mund, dann warte ich eben bis der Prof Zeit hat. Ich lern allerdings dann auch nichts dabei.
Tobias B. schrieb: > Hi! > > Ich möchte an meinem Fahrzeug die Geschwindigkeit und Motordrehzahl über > den CAN-Bus auslesen. Ich bin aber nicht wirklich vom Fach, daher hab > ich mal einige Fragen: Welche Elektronikkenntnisse hast Du denn? Wenn wirklich gleich Null, dann lass es lieber bleiben. > - Was ist denn CAN-High und was CAN-Low? Ich dachte bisher die CAN-High > Leitung wäre die, die auf dem höheren Potential liegt (~5V ?), wenn > keine Daten anliegen. Die beiden Datenleitungen des CAN-Busses. > - Wie ermittle ich denn die Baudrate ordentlich? Hab leider nur ein > Oszi, und die Daten liegen ja nicht kontinuerlich an. Da laufend Übertragungen stattfinden durch genaues Hinsehen. So viele Möglichkeiten gibt es ja nicht, der CAN im E34 zwischen Motor- und Getriebesteuergerät läuft mit 500kBit. Ich habe einen LA dazu genommen; ein Telegramm aufnehmen und dann mit dem Interpreter solange probieren, bis es passt. > - Ich habe einen CANanalyser USB von der Hochschule, der bisher nur > Fehlermeldungen ausgibt, oder auch gar nichts, je nachdem was für eine > Baudrate eingestellt ist. Schaltplan vom Auto hernehmen und nachschauen, ist eingetragen, was Low und High ist. > - Gibt es eine einfache Möglichkeit, das Signal aufzunehmen, so dass man > es mal in Ruhe analysieren kann? Bustreiber und LA, wie oben schon geschrieben, alternativ auch ein Speicheroszi. > - Abschlusswiderstände brauch ich ja keine, ich hab ja schon einen > funktionierenden Bus, oder? Ich habe die Leitung zwischen den Steuergeräten angezapft und eine Stichleitung ins Fahrzeug gelegt (ca. 150cm) - ohne Abschlußwiderstand und ohne Probleme (keinerlei Fehlerspeichereinträge). Das wird hier aber bestimmt gleich theoretisch widerlegt.... Gruß Thomas
> Ich hab zwei Datenleitungen, von dene eine normal aussieht (0 entspricht > ~1 V, 1 entspricht ~5V), die andere invertiert. Scheint ein Lowspeed CAN zu sein, da kannst du mir deinem IXXAT Highspeed nichts machen (unterschiedliche Signalpegel!), wobei ich mir das mit Ort, wo du abgreifst, allerdings spanisch vorkommt. Könnte natürlich sein, dass der Bordcomputer nur einige ausgewählte Nachrichten bekommt (z.B. Gateway dazwischen), dann würde ein Lowspeed wieder Sinn machen. Mach mal ein paar Screenshots von der Leitung, am besten auch mit Ruhepegel, daran kann man den Unterschied zwischen Highspeed und Lowspeed eindeutig sehen. @Willivonbienemaya: So schlimm ist reines Mithören nicht, sofern ich nicht die Busabstimmung/Terminierung willenlos ins Nirvana verschiebe. Selbst wenn ich den Bus komplett blokieren würde, dann nichts schlimmes passieren. Alle Steuergeräte, die auf Daten von anderen Teilnehmern angewiesen sind müssen dann nach Erkennen eines Timeouts in den Notlauf gehen, sprich unabhängig arbeiten. Schließlich kann es ja sein, dass ein Steuergerät mal hops geht und den Bus ins Verderben reißt, oder dass ein Stecker/Kabel abreißt. Das äußert sich dann darin, dass die Karre nur noch bis etwa 2500 Umdrehungen geht und nicht schneller wie 50 fahren kann. Trotzdem sollte man bei den Basteleien an Sicherheitskritischen Teilen, wie ABS und die Airbags hängen auch noch dran, sich 1) zweimal überlegen was man macht 2) sich zumindest mit der Theorie auskennen und ewatiges Gefahrenpotential abschätzen 3) keine dummen Versuche unternehmen, wie ich Müll mal den Bus zu 4) seine Messinstrumente beherrschen, also sichersein, dass der Datenlogger nicht plötzlich sendet, weil ich zufällig die Restbussimulation geladen habe > VAN-Bus Ist das ein Peugeot oder Citroen?
Dürfte ich erfahren um welches Fabrikat es sich handelt? Da du den Signale im Antrieb auslesen willst, ist davon auszugehen dass die Botschaften auf einen Highspeed CAN laufen. Der ist meist auch vom Rest (Comfortelektrik) getrennt.Versuchs mal mit 500kBaud. Das heißt, für alles andere (Klima etc.) wird ein Lowspeed verwendet (da kann man die Leitungen länger machen)... aber der Teil ist ja irrelevant. Welche Leitung High und Low ist, sollte für dich egal sein, da nur der Potenzuialunterschied zählt. Allerdings kenne ich es so, dass bei einem Highspeed CAN 2,5 auf beiden bzw. bei Datenübertragung 1,5 zu 3,5V (Differenz 2) auftreten. Dagegen hat der Lowspeed rezessiv 0 und 5V. Bei einen Signal springen die dan auf 1,4 un 3,6 (Diff 2,5). Ob davon abweichende Standards vorhanden sind weiß ich nicht. Bei dem Abschlusswiderstand bin ich mir auch nichts sicher. Ich meine du kannst ihn weglassen. Nun bleibt zu fragen, woher du die Botschaften erkennen willst. Ein Busprotokoll wird schon notwendig sein. Ich schätze das gibt kein Hersteller raus.
Da muss ich Christian recht geben. Dazu ist es ja ein CAN geworden, dammit der ganze Laden nicht wegen einem defekt flöten geht und nichts mehr funktioniert. Ich habe in meinem Praktikum faktisch jeden Tag Cans ausgelesen und signale geschickt. Die karren fahren immer noch :-)
Endlich mal jemand, der helfen will :D Ich bin in kürze Maschinenbau-Ing. und hatte daher E-Technik nur am Rande. Andererseit hab ich mein Motorrad schon mit einer selbstentwickelten Ganganzeige ausgestattet (ATMega) und hab unlängst einen Röhrenverstärker für die Gitarre gebaut. Mir fehlen allerdings irgendwelche speziellen Kniffe und Tricks, weil ich nie ordentliche Vorlesungen darüber besucht habe und das alles eben nur Bastlerniveau hat. Es handelt sich um einen Peugeot 206 BJ 2006. Werde mit deinen Tipps mal weiterforschen (und dokumentieren) Grüße, Tobias
Ei... da krieg ich spitze öhrchen. So eine Ganganzeig wäe auch was für mich... allerdings befinde ich mich noch auf niedrigstem Level was AVR Kenntnisse angeht. Könntest du mir einen Schaltplan/die Software zur Verfügung stellen? Dann würd ich da mal einarbeiten....
Christian Gärtner schrieb:
> @Willivonbienemaya: So schlimm ist reines Mithören nicht,
Das ist korrekt. Aber dazu benötigt man einige Kenntnisse des CAN
Busses. Die scheint der OP nicht zu haben, sonst würde er nicht fragen
was CAN-H und CAN-L ist.
Bei sowas wäre der CAN232 von Lawicel nicht schlecht. Die eine Seite an den CAN-Bus, auf der anderen kommt dann alles per RS232 raus. Und RS232 sollte ja wohl jeder noch hinkriegen, ohne was zu zerstören (und selbst dann ist nur die RS232-Seite vom CAN232 hin und nicht gleich das ganze KFZ-Steuergerät). Und solange das Teil nicht explizit einen Sende-Befehl kriegt, wird auch nix gesendet.
Bisher hab ich nur den CANanalyser drangehabt, und mehr als die beiden Leitungen verpolen kann man da ja nicht falsch machen... Ich habe übrigens mehrere Artikel und auch ein Skript darüber gelesen, jedoch wird das Thema immer nur an der Oberfläche angekratzt. Die Spezifikation von Bosch sagt übrigens auch nix über Pegel, so weit ich das nach kurzem Überlfliegen beurteilen kann. @ Henry: Schau dir mal das an und schreib mir evtl. ne Mail wenn du Hilfe brauchst http://files.roxxity.net/mo/GV2/Ganganzeige%20V2%20Installationsanleitung.pdf
Meine obigen Angaben zu den Pegeln sollten stimmen, denn soweit ich weiß wurde der CAN von Bosch entwickelt. Mein Prof. war bei Bosch und es wurde uns mit den Angaben vermittelt. Gruß
Ok jetzt klappts, vielen Dank für eure Hilfe! Hatte von Peugeot falsche Informationen und hab daher am falschen Stecker gesucht, und wohl den VAN-Bus gefunden, der wie Lowspeed CAN aussieht. Der Highspeed CAN hat beim Peugeot 206 übrigens einen Takt von 250 kHz. Er sitzt am 40poligen schwarzen Stecker an Pin 2 und 4. Grüße, Tobias
MeinerEiner schrieb: > Bei sowas wäre der CAN232 von Lawicel nicht schlecht. (...) > Und solange das Teil nicht explizit einen Sende-Befehl kriegt, wird auch > nix gesendet. Das ist absolut falsch. Du hast scheinbar den CAN Bus auch nicht verstanden. Nur weil man dem CAN Controller nicht sagt dass er senden soll, heisst es noch lange nicht dass er nix sendet. Er kann immer noch das ACK Bit setzen und auf RTR anworten. Es gibt CAN Controller mit einem Listen-Only Modus. Diese Möglichkeit gibts aber bei dem CAN232 gar nicht so wie ich das im Manual lese. Er ist also nicht "nicht schlecht", sondern sehr schlecht weil damit auf jedenfall der Bus beeinflusst wird.
Hauptsache es funktioniert. Mithören geht einwandfrei, ob im normalen oder im Silent-Mode. Die Daten sind auch nicht wie es immer wieder zu hören ist verschlüsselt, sondern lassen sich wunderbar mitloggen und nachher als Grafik darstellen (Gaspedalstellung, Geschwindigkeit, Drehzahl, diverse Temperaturen usw.) Sind natürlich auch einige digitale Signale dabei, aber die interessieren eh nicht. Der AT90CAN128 kann Silent-Mode und gibts bei Reichelt. Funktioniert alles super :)
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.