BMW M5 Forum and M6 Forums banner

Interesse am E60 CAN-Bus-Code-Hacking?

91K views 54 replies 23 participants last post by  Geara2020  
#1 ·
Ich habe ein paar Ideen, mit denen ich an meinem Auto spielen möchte. In meiner nicht vorhandenen Freizeit beschäftige ich mich mit einem Linux-CAN-Logger. Hat jemand in diesem Bereich gearbeitet und etwas zu teilen?
 
#3 ·
Ich habe das und werde es mit Linux verwenden. Ich spreche nicht über das Codieren der Optionen des Autos oder das Programmieren von Modulen, sondern über die Interpretation der Daten, die zwischen den Modulen fließen, und die Entschlüsselung ihrer Funktion. Die Idee eines kleinen Arduino-Mikrocontrollers, der neue Dinge auslöst, wenn ich die M-Taste drücke, klingt ziemlich cool. ;)
 
#5 ·
Ziemlich interessantes Zeug - ich wünschte nur, ich hätte die Zeit, tiefer einzutauchen. Außerdem bin ich nicht sehr vertraut mit Linux... Ich abonniere trotzdem!
 
#6 ·
Interessant, aber weit über meinen Horizont hinaus, also lehne ich mich zurück und höre zu.
 
#7 ·
Ich habe ein paar Ideen, mit denen ich an meinem Auto spielen möchte. In all meiner nicht vorhandenen Freizeit beschäftige ich mich mit einem Linux-CAN-Logger. Hat jemand in diesem Bereich gearbeitet und etwas zu teilen?
In meiner nicht vorhandenen Freizeit sind hier ein paar CAN-Tools, die ich gefunden habe:

Diese sind einfach, aber nicht viel Software-Unterstützung:
CANbus Solutions

Dies ist viel ausgefeilter, und das Unternehmen stellt Engineering-Tools für viele Busprotokolle her:
Komodo CAN Duo Interface - USB-zu-CAN-Analysator und -Adapter

Ich habe keine persönlichen Erfahrungen mit einem der beiden Produkte.
 
#8 ·
Also, es hat eine Weile gedauert, aber ich habe es endlich geschafft, die Header-Pins auf meinem Sparkfun CAN Shield zu löten.

https://www.sparkfun.com/products/10039

Diese Platine ist ein "Shield" (Erweiterungsplatine) für ein Arduino (Open-Source-Mikrocontroller) und ermöglicht es Ihnen, ein Arduino mit einem CAN-Bus zu verbinden. Abhängig von dem für das Arduino geschriebenen Programm kann es die CAN-Pakete (Signale) über den Bus des Autos protokollieren. Sobald eine große Datenmenge erhalten wurde, ist es mit etwas Arbeit verbunden, diese durchzugehen und zu interpretieren, was die Signale sind, für wen (welches Modul) sie bestimmt sind und was sie enthalten. Die meisten Leute wären erstaunt über die Datenmenge, die in ihrem Auto herumfliegt, wenn sie damit nicht vertraut sind.

Mein Ziel ist es, herauszufinden, welche Signale im Auto erzeugt werden, wenn bestimmte Tasten gedrückt werden. Wer weiß, vielleicht können wir damit etwas Cooles machen!

Außerdem möchte ich, sobald ich mit den Signalen vertraut bin und sie interpretiere, einen Banktester für die Drosselklappen- und Leerlaufsteller bauen.













 
#50 · (Edited)
So, es hat eine Weile gedauert, aber ich habe mich endlich dazu durchgerungen, die Header-Pins auf meinem Sparkfun CAN Shield zu löten.

CAN-BUS Shield - DEV-13262 - SparkFun Electronics

Diese Platine ist ein "Shield" (Erweiterungsplatine) für ein Arduino (Open-Source-Mikrocontroller) und ermöglicht es Ihnen, ein Arduino mit einem CAN-Bus zu verbinden. Je nach dem für das Arduino geschriebenen Programm kann es die CAN-Pakete (Signale) über den Bus des Autos protokollieren. Sobald eine große Datenmenge erhalten wurde, ist es etwas Arbeit, diese durchzugehen und zu interpretieren, was die Signale sind, für wen (welches Modul) sie bestimmt sind und was sie enthalten. Die meisten Leute wären erstaunt über die Datenmenge, die in ihrem Auto herumfliegt, wenn sie damit nicht vertraut sind.

Mein Ziel ist es, herauszufinden, welche Signale im Auto erzeugt werden, wenn bestimmte Tasten gedrückt werden. Wer weiß, vielleicht können wir damit etwas Cooles machen!

Außerdem möchte ich, sobald ich mit den Signalen vertraut bin und sie interpretiere, einen Teststand für die Drosselklappen- und Leerlaufaktuatoren bauen.

View attachment 208241

View attachment 208249

View attachment 208257

View attachment 208265

View attachment 208273

View attachment 208281

View attachment 208289
Versuchen Sie stattdessen einen ESP32 mit Dual-Core-CPU, integriertem Wi-Fi/Bluetooth und OLED-Bildschirm. Die Marke Heltec ist günstig und in Ordnung, da sie mit OLED geliefert wird, aber Lolin D32 ist ein hochwertigeres, etwas leistungsfähigeres und leistungsfähigeres Chipsatz mit Flash-Speicheroption.

dank mir später. Es läuft auch auf der Arduino-Plattform/IDE, ist aber vom Espressif OS-System umhüllt. Es ist großartig, weil es genauso einfach zu bedienen ist und jede Menge Leistung für seine Größe bietet. Besonders wenn man den Platzbedarf (Größe) des esp32 im Vergleich zu Arduino Uno/Mega usw. berücksichtigt.

Seit meinem Umzug nach Puerto Rico vor etwa 2 Monaten... habe auch ich darüber nachgedacht, was mit einem Arduino + BMW gemacht werden kann, aber eher in Richtung eines Anti-Diebstahl-Ortungsgeräts, das eine Mobilfunkverbindung und eine kleine Notbatterie verwendet, falls die 12-V-Batterie des Autos abgeklemmt wird. Autodiebstähle und -entwendungen sind hier ziemlich weit verbreitet, weshalb ich über ein potenzielles, günstiges Anti-Diebstahl-Ortungsprodukt nachdenke
 
#9 ·
Also, der erste Test lief nicht so gut.

Anscheinend funktionieren das CAN-Shield und das Programm, das ich bekommen habe, nicht mit dem Arduino Mega. Das CAN-Shield hat einen Micro-SD-Steckplatz zur Protokollierung, aber die Pin-Konfiguration ist für das Mega Board unterschiedlich.

Also rannte ich zu Radio Shack und holte mir einen Arduino Uno für 29,99 $ und die Probleme waren gelöst...zumindest mit der SD-Karte.

Ich war aufgeregt und rannte zum Auto, um es anzuschließen und mit der Protokollierung zu beginnen. Und raten Sie mal? Pre-LCI E60s haben keine CAN-Signale am OBD-Anschluss...

Also, jetzt muss ich einen einfachen Zugangspunkt finden, um den CAN-Bus anzuzapfen. Bisher denke ich an den Kofferraum am PDC-Modul. Ich könnte sogar das PDC-Modul aus der Reserveradmulde entfernen (angenommen, es ist dort bei den Ms, wie es bei den Nicht-Ms der Fall ist), wie es viele Bimmerforums-Leute getan haben, um die Möglichkeit eines Flüssigkeitsaustritts im Kofferraum zu vermeiden.

Ich werde mehr posten, wenn ich es angeschlossen habe und einige Daten gesammelt wurden.
 
#24 ·
Also der erste Test verlief nicht so gut.

Anscheinend funktionieren das CAN-Shield und das Programm, das ich bekommen habe, nicht mit dem Arduino Mega. Das CAN-Shield hat einen Micro-SD-Steckplatz zur Protokollierung, aber die Pin-Konfiguration ist für das Mega Board unterschiedlich.

Also rannte ich zu Radio Shack und holte mir einen Arduino Uno für 29,99 $ und die Probleme waren gelöst... zumindest mit der SD-Karte.

Ich war aufgeregt und rannte zum Auto, um es anzuschließen und mit der Protokollierung zu beginnen. Und raten Sie mal? Pre-LCI E60s haben keine CAN-Signale am OBD-Anschluss...

Also muss ich jetzt einen einfachen Zugang finden, um den CAN-Bus anzuzapfen. Bisher denke ich an den Kofferraum am PDC-Modul. Ich könnte sogar das PDC-Modul aus der Reserveradmulde entfernen (angenommen, es ist dort auf den Ms, wie es auf den Nicht-Ms ist), wie es viele Bimmerforums-Leute getan haben, um die Möglichkeit eines Flüssigkeitsaustritts im Kofferraum zu vermeiden, der es überflutet.

Ich werde mehr posten, wenn ich es angeschlossen habe und einige Daten gesammelt habe.
Hallo Jim,

Wenn Sie sich an einem anderen Ort als dem OBD-II an CAN anschließen, stellen Sie bitte sicher, dass Sie den richtigen Abschlusswiderstand auf Ihrer Transceiver-Platine verwenden. Ein CAN-Bus ist als "Backbone" konzipiert, an das sich die Teilnehmer anschließen. Wenn Sie ein Endpunkt sind, müssen Sie mit 2 x 60 Ohm an Masse abschließen, die über einen 10 nF-Kondensator verbunden sind. Wenn Sie sich in der "Mitte" des Busses befinden (wo Sie sich typischerweise befinden sollten), terminieren Sie nicht. Achten Sie also auf Ihre Busposition und versuchen Sie, "in der Mitte" anzuschließen. Andernfalls verursachen Sie Reflexionen und können Signalqualitätsprobleme bekommen.

Auf dem CAN-Bus des Drosselklappenstellers und den VANOS-Magnetventil-CAN-Bussen müssen Sie ohne Abschluss anschließen, da es sich um einen Punkt-zu-Punkt-Hochgeschwindigkeits-CAN-Bus handelt. Es gibt keine Mitte: Sie sind es mit Ihrem Sniffer. Das sind meiner Meinung nach die interessanten :wink, besonders wenn Sie es mit Protokolldaten zeitlich abstimmen können. Übrigens werden diese speziellen Transceiver von Infineon (TLE6250G) hergestellt, die mit 1 Mbit/s arbeiten. Es ist in der Regel am besten, die gleichen Transceiver im Listening-Modus zu verwenden, um die beste Wiedergabetreue zu erzielen, aber hey, es wird auch mit einem TJA1043 von NXP funktionieren, wette ich. Welcher Transceiver wird im Arduino-Setup verwendet?

Ich bin mir nicht sicher über die anderen CAN-Netzwerke in unseren Autos und ihre genauen Datenraten. Einige Hochgeschwindigkeitsnetzwerke arbeiten mit 500 kbit/s. Also Vorsicht. Ein billiges Oszilloskop ist in solchen Angelegenheiten nützlich. Ich habe eines, falls benötigt.

Die beste Software und Hardware für die Protokollierung ist diese: CANalyzer
Aber es ist sehr teuer. Es ist das, was die Automobilhersteller verwenden, da sie in vielen Fällen ihre Software auf einem Vector OS (OSEK-basiert) ausführen. Ich habe bei eBay gesucht, aber nichts gefunden. Überraschung, Überraschung. Ich muss sagen, ich habe mich nicht sehr bemüht. Aber sagen Sie das Wort, und ich kann mit einem Werkzeugsatz vorbeifahren, wenn die Fragen schwierig werden!
 
#11 ·
Ich denke, wir haben einen ähnlichen Hintergrund, hier ein Embedded-Software-Ingenieur, jedenfalls ist der Geek in mir sehr an diesem Projekt interessiert. Also halten Sie uns auf dem Laufenden. Das Allererste, was Sie tun müssen, ist, die CAN-Adresse jeder Einheit herauszufinden. Es gibt eine Menge Nachrichten, die über den Bus gehen, wenn das Auto fährt, Sie möchten das Rauschen so schnell wie möglich filtern. Es ist eine Weile her, seit ich mit CAN gearbeitet habe, aber ich glaube, zumindest war es das früher, es gibt einen Low-Speed-CAN und einen High-Speed-CAN im Auto. Stellen Sie also sicher, dass Sie den richtigen Bus betrachten, falls dies immer noch der Fall ist. DME ABS/DSC und SMG, vielleicht Drosselklappenantriebe, sollten alle High-Speed-CAN sein und alles andere normal/Low-Speed.

Halten Sie uns auf dem Laufenden!:thumbsup:
 
#12 ·
Es gibt tatsächlich mehrere verschiedene CAN-Busse. Der Haupt-CAN-Bus, über den alle verschiedenen Karosseriemodule kommunizieren (DME, SZL, SMG, CCC, ABBL usw.), es gibt den PT-CAN, über den DME und SMG sprechen, und dann einen lokalen CAN, der speziell für Drosselklappen und Leerlaufaktuatoren vorgesehen ist. Der Adressierungsteil wird einige Zeit in Anspruch nehmen. Ich hoffe, einige der Adressen sind zumindest im Schema ähnlich wie beim E46. Frühere Arbeiten werden es einfacher machen, sie zu identifizieren. Sobald ich weiß, dass der Logger funktioniert, werde ich ihn wahrscheinlich auf den lokalen CAN des DME verschieben. Es gibt nur ein paar Module, die dort sprechen, also weniger Hintergrundrauschen, durch das man sich durcharbeiten muss.

Weißt du, das wäre einfacher, wenn das mein Hintergrund wäre, aber ich habe meinen Lebensunterhalt damit verdient, unter Wasser herumzuschleichen. Ich mag es einfach, zu verstehen, wie Dinge funktionieren... und sie dann nach meinem Willen zu verbiegen! :grinyes:
 
#13 ·
Die Frage ist also, ob Sie jemals in 'Schwierigkeiten' geraten sind, weil Sie an der Elektronik eines U-Boots herumgebastelt haben? 'Ähm, Captain, er macht schon wieder...'... :)
 
#14 · (Edited)
Also, nachdem ich eine Weile nicht viel darüber nachgedacht hatte, hatte ich dieses Wochenende einen verrückten Einfall.

Der Arduino Mega ist nicht sehr kompatibel, also habe ich mir im Radio Shack einen Uno besorgt (ich bin so froh, sie wieder zu ihren Wurzeln zurückkehren zu sehen). Der Uno funktioniert perfekt mit dem Sparkfun CAN Shield mit dem Thaniels CAN-Logging-Sketch.

Also beschloss ich schließlich, die Kofferraumauskleidung herauszureißen, um mein lästiges "Kofferraum offen"-Verdrahtungsproblem herauszufinden. Während ich da drin war, entfernte ich alles, um einen guten Zugang zum PDC-Modul zu erhalten.

Das PDC-Modul hat drei Anschlüsse, von denen einer, wie ich glaube, zum hinteren Sensorarray, einer zum vorderen Array und einer für Strom-/CAN-Leitungen führt.

Der Stromanschluss hat nur 4 Drähte:
- 12V (Klemme 30)
- Masse
- CAN High
- CAN Low

Ich zapfte die Masse, CAN-High und CAN-Low an und speiste diese in den 9-poligen D-SUB-Stecker am CAN-Shield ein. Achtung, dieses Shield folgt nicht dem D-SUB-ISO-Standard für die CAN-Kommunikation, also musste ich einen benutzerdefinierten 9-poligen DSUB-Stecker dafür löten. Das ist alles wertlos ohne Bilder, also werde ich heute Abend welche hinzufügen.

Wie auch immer, der CAN-Sniffer startete sofort und begann mit der Aufzeichnung auf der Micro-SD-Karte.

Ich erstellte mehrere Protokolldateien, bevor ich tatsächlich die Busgeschwindigkeit recherchierte. Laut diesem PDF verwendet der E60 eine 100 kHz K-CAN-Busgeschwindigkeit.

EDIT: Ich bin mir nicht sicher, ob der Link funktioniert, hier ist also PDF: View attachment BUS__en.pdf

Also habe ich den Arduino-Sketch angepasst, um auf 100 kHz umzurechnen, und ein paar weitere Läufe durchgeführt.

Jeder Lauf dauerte etwa 20 Sekunden, da ich anfangs keine Ahnung hatte, was ich mir ansah, und selbst 20 Sekunden sind etwa 8000 CAN-Nachrichten, die es zu entschlüsseln gilt.

Der erste Lauf war die ganze Zeit über der Motor aus, mit zweimal aktiviertem und deaktiviertem "M"-Modus. Der zweite Lauf war aus/starten/aus mit zweimal aktiviertem und deaktiviertem "M"-Modus.

Thaniels Sketch gibt eine schöne Textdatei mit Zeit/ARBID/Erweiterung/Datenbits aus. Ich habe sie in Excel abgelegt, da es einfacher ist, die ARBIDs zu filtern und zu sortieren, an denen ich interessiert bin. Hier ist, was ich bisher habe, mit ein paar Kommentaren. Möchte jemand einsteigen und beim Entschlüsseln helfen? :biggrin:
 
#15 · (Edited)
Edit: Diese Daten wurden ausschließlich vom K-CAN-Bus über die PDC-Modulanschlüsse im Kofferraum bezogen. Dies arbeitet mit 100 kbit/s und hat möglicherweise nicht alles, was für eine vollwertige Datenprotokollierung benötigt wird. Es gibt jedoch einen 500 kbit/s PT-CAN-Bus mit vielen motorbezogenen Dingen, die das DME befiehlt, z. B. Drosselklappenaktuatoren, Leerlaufaktuatoren usw. Weitere coole Sachen, wenn wir uns damit verbunden haben.
 
#18 ·
Ich weiß, dass es da draußen jemanden gibt, der bessere Excel-Kenntnisse hat als ich. Ich kann die Mlook hübsch machen, aber viele Zahlen manuell verarbeiten... nur zu... ;)

Ich habe 20 Minuten Fahrt aufgezeichnet und eine Unmenge an Daten durchlaufen lassen.

Ich habe jedoch ein paar Schieds-IDs für einige der Module herausgefunden, von denen einige sogar für mein Ziel nützlich sein könnten.

Wenn Interesse besteht, ist das ein Nebengedanke, den ich hatte. Viele Datenlogger fragen einfach über OBD ab, um die benötigten Daten zu erhalten, und warten dann, bis das Gateway-Modul die Antwort auf ihre Fragen zurückgibt, die der Datenlogger dann aufzeichnet.

In den Datenbussen in diesem Auto fliegen erstaunlich viele Informationen herum, von denen wahrscheinlich viele für Datenprotokollierungszwecke nützlich sind. Wie wäre es mit einem DIY-Datenlogger, den Sie aus Teilen für unter 100 $ bauen können? :biggrin:

Hier ist einiges, was ich gerade gefunden habe:

View attachment 315841

Auf diesem Screenshot sehen Sie, dass die ArbID 0x1B4 (Hex-Wert) ungefähr alle 0,1 Sekunden übertragen wird. Sie enthält 8 Byte Daten, von denen zwei (B0 und B1, die ersten beiden) die Fahrzeuggeschwindigkeit in MPH sind, die rot eingekreist sind.

Blau ist eine Konvertierung mit der Excel-Formel:
Code:
=HEX2DEC(F20)
Orange eingekreist ist der numerische Wert für MPH, nachdem die Dezimalwerte in dieser Formel zusammengefügt wurden:
Code:
= (((Q20 - 16 ) * 256) + P20) / 16
Ich habe den Voice Recorder auf dem iPhone verwendet, während ich diesen Datenlauf gesammelt habe, und dann die Ereignisse transkribiert (ich habe eine Menge Dinge im Auto bedient). Die Geschwindigkeitsnotizen, die ich aufgezeichnet habe, stimmen mit den von dieser Formel generierten Geschwindigkeiten überein, also bin ich mir ziemlich sicher, aber noch nicht 100 % sicher, dass die Formel korrekt ist. Es gibt eine so hohe Datenrate, dass ich nur etwa 7 Minuten Daten auf einem Excel-Arbeitsblatt erhalten kann, da ich das Limit von 65535 Zeilen erreicht habe.[/I]
Sehr interessanter Thread.

Ich werde sehen, ob meine Frau (der "Corporate World Excel Wizard") bereit ist, Ihre Excel-Daten später heute zu betrachten/fertigzustellen (da es hier kurz nach 5:00 Uhr morgens ist und ich nicht schlafen kann).

Nochmals, sehr cooler Thread... ich bin später heute wieder da, hoffentlich mit einer Art fertigem Excel-Produkt für Sie.

Prost.


Gesendet von AutoGuide.com Free App
 
#19 ·
Hallo jcolley,

Ich bin zurück nach einem langen, aber guten Tag. Meine Frau hat sich angesehen, was Sie geschrieben haben, und hier ist, was sie sich ausgedacht hat: Um zu vermeiden, dass das Zeilenlimit in Excel erreicht wird, versuchen Sie, die Daten in kleinere Segmente zu schneiden, die Duplikate zu entfernen (falls vorhanden, mit der Schaltfläche auf der Registerkarte "Daten"), die kleineren Datensegmente wieder zu kombinieren und erneut alle Duplikate zu entfernen.

Ich hoffe, das ist hilfreich.

Prost und eine schöne Woche.

Mit freundlichen Grüßen,
 
#20 ·
Ich bin nur neugierig, aber welche Excel-Version verwenden Sie? Ich dachte, 2010 erlaubt mehr als 65.000 Zeilen, aber ich könnte mich irren.
 
#21 ·
Excel-Zeilenlimit – Office 2013

Ich bin nur neugierig, aber welche Excel-Version verwenden Sie? Ich dachte, 2010 erlaubt mehr als 65.000 Zeilen, aber ich könnte mich irren.

Gesendet von AutoGuide.com App
messex,

Nein, Sie haben Recht. Ich kann nicht für die 2010er-Version sprechen, aber Excel in Office 2013 erlaubt 1.048.576 Zeilen. :greenflag:
 
#22 ·
Hallo AWOL

Ich habe mich gefragt, ob du dein Canbus-Abenteuer fortgesetzt hast, der Thread hier bricht abrupt ab. Du könntest tot sein, aber ich möchte versuchen, positiv zu bleiben :)
Könntest du mir sagen, welche Farben am PDC für Can + und Can - sind?
Kann ich an einem anderen Ort darauf zugreifen, wie z.B. dem CCC-Controller?

Prost
 
#26 · (Edited)
Die rohe (nicht KOMBI-optimierte) Drehzahl ist in der K-CAN-Nachrichten-ID, Byte 4 und 5, als 16-Bit-Ganzzahl ohne Vorzeichen eingebettet. K-CAN- und PT-CAN-Nachrichten-IDs sind identisch. Diese Nachrichten werden ungefähr mit einer durchschnittlichen Aktualisierungsrate von 100 ms übertragen (während sie auf PT-CAN durchschnittlich 10 ms betragen). Danke BMW, dass Sie es so einfach gemacht haben.
 
#27 ·
Rohe (nicht KOMBI-optimierte) RPM ist in der K-CAN-Nachrichten-ID, Bytes 4 und 5, als 16-Bit-Ganzzahl ohne Vorzeichen eingebettet. K-CAN- und PT-CAN-Nachrichten-IDs sind identisch. Diese Nachrichten werden ungefähr mit einer durchschnittlichen Aktualisierungsrate von 100 ms übertragen (während sie auf PT-CAN durchschnittlich 10 ms betragen würden). Danke BMW, dass Sie es so einfach gemacht haben.
Wahr für alle ArbIds über PT-CAN, K-CAN, ByteFlight, LLS-CAN und DK-CAN. ArbIDs sind eindeutig und werden nach Priorität nummeriert, daher ist es sinnvoll, die Reihenfolge beizubehalten.
 
#30 ·
Ich habe dies in den Bimmerforen gepostet, aber ihr werdet es wahrscheinlich auch hilfreich finden. Ich habe es gefunden, als ich in tool32 herumgestöbert habe.

Code:
0x399	Status M-Drive [2]	Status M-Drive [2]	0x12	DME1
Auflistung, wofür eine Reihe von Nachrichten-IDs stehen und aus welchen Modulen sie stammen. Es fehlen einige IDs, wenn ich sie mit meinem 535xi vergleiche, daher ist die Liste unvollständig, aber sie ist immer noch viel besser, als völlig blind zu fliegen.
Abgekürzter Beitrag von Terra oben für das, wonach die meisten hier suchen.

Hex ArbID für M-Drive ist 0x399. Insbesondere können Sie von Byte 1, Bit 7-8 auslösen.

 
#31 ·
Was für euch wahrscheinlich auch interessant ist, sind die Getriebenachrichten:

Code:
0xB5	Drehmomentanforderung EGS [9]	Torque demand EGS [9]	0x18	EGS_MECH+NAVI/EGS_MECH
0xB8	Drehmomentanforderung DKG [2]	Torque requirement DKG [2]	0x18	DKG
0xBA	Getriebedaten [20]	Transmission data [20]	0x18	SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0xBD	Drehmomentanforderung SSG [6]	Torque demand SSG [6]	0x18	SMG_M/SMG
0x1A2	Getriebedaten 2 [6]	Transmission data 2 [6]	0x18	EGS_MECH+NAVI/EGS_MECH/DKG
0x1A3	Rohdaten Längsbeschleunigung [3]	Raw data longitudinal acceleration [3]	0x18	SMG_M
0x1D2	Anzeige Getriebedaten [22]	Transmission data display [22]	0x18	SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x304	Status Gang [13]	Status Status [13]	0x18	SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x3B1	Getriebedaten 3 [2]	Transmission data 3 [2]	0x18	EGS_MECH/DKG
0x498	Netzwerkmanagement	Network management	0x18	DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
0x598	Dienste	services	0x18	DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
Nur 0xB8 scheint DCT-spezifisch zu sein, und nur 0xBD und 0x1A3 scheinen SMG-spezifisch zu sein. 0xB8 und 0xBD scheinen beide eine Drehmomentanforderung zu tragen, obwohl unklar ist, ob das Format gleich ist oder nicht. 0x3B1 ist möglicherweise nicht in SMG-Getrieben vorhanden

Der nächste Schritt wäre, die MSS65 zu zerlegen, herauszufinden, wo die CAN-Nachrichten verarbeitet werden, und zu sehen, ob bereits Code vorhanden ist, um die DCT-spezifischen Nachrichten zu verarbeiten.
 
#34 ·
@jcolley, hast du Neuigkeiten zu deinem Projekt? Ich versuche, die M-Lenkradtaste bei einem Nicht-M-E60-Modell zu aktivieren. Wenn du also hilfreiche Tipps für mich hast, bin ich dankbar dafür.
Auch wenn du das Lenkradmodul auf eine M5 VO codierst (vermutlich ist das alles, was benötigt wird), weiß das Auto immer noch nichts über diese CAN-Frames.
 
#39 ·
Hallo Leute, ich belebe einen alten Thread wieder - kann jemand seinen Arduino-Sketch teilen, mit dem die K-CAN-Nachrichten abgehört werden? Kann außerdem jemand bestätigen, dass 120-Ohm-Abschlusswiderstände von H und L zur Masse erforderlich sind, wenn man sie am PDC an den K-CAN anschließt?
 
#40 · (Edited)
Hallo Leute, ich belebe einen alten Thread wieder - kann jemand seinen Arduino-Sketch teilen, mit dem die K-Can-Nachrichten abgehört werden? Kann außerdem jemand bestätigen, dass 120-Ohm-Abschlusswiderstände von H und L zur Masse erforderlich sind, wenn man sie an der PDC anschließt?
Ja, das ist der richtige Abschluss für den K-Can. Schauen Sie sich hier den Arduino-Sketch an.

https://github.com/pavelmalik/BMWCanBridge

Lassen Sie mich raten, Sie wollen Auspuffklappen in den M-Modus einbinden? :)