Mr_Wolf
Aktives Mitglied
- Registriert
- 22 April 2019
- Beiträge
- 470
- Reaktionspunkte
- 179
- Punkte
- 143
- Ort
- Unterföhring
- Modell
- F800GS
- Modelljahr
- 2009
Hallo zusammen,
während der Winterpause hatten wir hier mal eine Diskussion zum CAN-Bus der F800. Jetzt, nachdem ich die Batterie wieder eingebaut habe, habe ich interessehalber mal den CAN-Bus meiner E8GS 0219 (Bj 2009) genauer unter die Lupe genommen.
Falls sich noch jemand dafür interessiert, was da so auf dem Bus gequasselt wird oder falls sich jemand ein alternatives Anzeigeinstrument oder Fahrtenschreiber bauen will, hier einige Infos:
Über den CAN-Bus sind die Systeme (soweit vorhanden) Anzeigeinstrument, ZFE, ECU, ABS und DWA miteinander verbunden. Entgegen landläufiger Meinung führt der CAN-Bus nicht in den Cartool-Stecker und auch nicht in die Diagnose-Buchse (das ist ein anderes Interface).
Der CAN-Bus besteht aus den beiden Kabeln CAN_Low und CAN_High (Kabelfarben Braun-Weiß und Schwarz-Weiß), die vordefinierte Übertragungsrate ist 500kbps. Gesendet werden ausschließlich Standard-CAN frames mit 11-Bit Identifier und 8 Datenbytes.
Hier mal eine Liste von Daten-Frame-IDs, mit den jeweiligen Inhalten, die ich identifizieren konnte:
ID 0x10C (kommt wohl von der ECU, ca. alle 10ms)
- Datenbyte 1: Stellung des Gasgriffs (Öffnungs-% = Bytewert / 2,55)
- Datenbyte 2: Konnte ich noch nicht eindeutig identifizieren, hat aber etwas mit dem Motorbetrieb zu tun
- Datenbyte 3: Drehzahl (ca.: Angezeigte Drehzahl = Bytewert * 65)
- Datenbyte 4: Flags für Kupplungsschalter (Bit 2) und Killschalter (Bit 0)
- Datenbyte 5: Flag für Seitenständerschalter (Bit 2), weitere Flags im Zusammenhang mit dem Anlassvorgang
ID 0x130 (kommt wohl von der ZFE, ca. alle 10ms)
- Datenbyte 6: Flags für Fußbremsschalter (Bit 5) und Fernlichtschalter (Bit 0), weitere Flags im Zusammenhang mit dem Anlassvorgang
- Datenbyte 7: Flags für Warnblinker (Bit 5), Blinker (Bits 4,3) und Handbremsschalter (Bit 0), weitere Flags im Zusammenhang mit dem Anlassvorgang
ID 0x294 (kommt wohl vom ABS, ca. alle 10ms)
- Datenbyte 1: Flags für Zustand des ABS: an/aus (Bit 6), ABS-Warnung (Bits 5)
- Datenbyte 2/3: Geschwindigkeit vom Vorderrad (ca.: Geschwindigkeit = 16Bit-Wert / 15)
- Datenbyte 4/5: 16Bit Tick-Counter für Distanzmessung am Vorderrad (zählt 606 Ticks/sek bei ca. 100km/h, d.h. ca. 21,8 Ticks/Meter)
- Datenbyte 6: Flags für Zustand des ABS: an/aus (Bit 7), aktive ABS-Regelung vorne oder hinten (Bit 6)
ID 0x2A8 (kommt wohl vom ABS, ca. alle 10ms)
- Datenbyte 2/3: Geschwindigkeit vom Hinterrad (ca.: Geschwindigkeit = 16Bit-Wert / 15)
- Datenbyte 4/5: 16Bit Tick-Counter für Distanzmessung am Hinterrad (zählt 657 Ticks/sek bei ca. 100km/h, d.h. ca. 23,7 Ticks/Meter)
ID 0x2BC (kommt wohl von der ECU, ca. alle 100ms)
- Datenbyte 1: Flag für Öldruckschalter (Bit 6)
- Datenbyte 2: Kühlmitteltemperatur (Standard-Betriebstemperatur liegt bei Bytewert 141-143)
- Datenbyte 3/4: 16-Bit Counter mit Bezug zur Einspritzmenge, vermutlich kummulierte Öffnungszeit der Einspritzventile für die Anzeige des Momentanverbrauchs
- Datenbyte 5: Eingelegter Gang (Bits 7-4), weitere Flags im Zusammenhang mit dem Anlassvorgang
- Datenbyte 7: vermutlich Flag für Betriebszustand der Benzinpumpe (Bit 0)
ID 0x2D0 (kommt wohl von der ZFE, ca. alle 100ms)
- Datenbyte 1: Außentemperatur (Anzeigewert = Bytewert / 2 - 40)
- Datenbyte 3: Tankfüllstand
- Datenbyte 7: Flags für Zustand der Griffheizung (Bits 5,4)
ID 0x33F (kommt wohl von der DWA, ca. alle 200ms)
- Datenbyte 1: Kommando an die ZFE, mit den Blinkern zu leuchten (Bit 4)
- Datenbyte 2: Flag zum Zustand der DWA, an/aus (Bit 0)
ID 0x3F8 (kommt vermutlich von der Anzeigeeinheit, ca. alle 1s)
- Datenbyte 1/2/3: 24Bit-Wert Insgesamt gefahrene km (Kopie zu Wert in ID 0x3FF)
ID 0x3FF (kommt wohl von der ZFE, ca. alle 1s)
- Datenbyte 2/3/4: 24Bit-Zähler für Sekunden seit letztem Anschluss der Batterie
- Datenbyte 5/6/7: 24Bit-Wert Insgesamt gefahrene km (Kopie zu Wert in ID 0x3F8)
Einige weitere Signale gibt es noch, die ich noch nicht nachvollziehen konnte. Was ich gar nicht untersucht habe, sind Remote-Frames, also die Anforderungen von z.B. Diagnosedaten, Fehlerspeicher, Ansteuerungen, etc. Dafür gibt es ja Motoscan und ähnliches.
Viel Spaß beim Tüfteln.
Kai
P.S.: Wer sich am CAN-Bus seines Fahrzeugs zu schaffen macht, sollte sehr genau wissen, was er tut (soll nicht heißen, das ich weiß, was ich tue...)! Hier besteht enormes Potential, die gesamte Fahrzeugelektronik durcheinander zu bringen oder gar zu beschädigen.
während der Winterpause hatten wir hier mal eine Diskussion zum CAN-Bus der F800. Jetzt, nachdem ich die Batterie wieder eingebaut habe, habe ich interessehalber mal den CAN-Bus meiner E8GS 0219 (Bj 2009) genauer unter die Lupe genommen.
Falls sich noch jemand dafür interessiert, was da so auf dem Bus gequasselt wird oder falls sich jemand ein alternatives Anzeigeinstrument oder Fahrtenschreiber bauen will, hier einige Infos:
Über den CAN-Bus sind die Systeme (soweit vorhanden) Anzeigeinstrument, ZFE, ECU, ABS und DWA miteinander verbunden. Entgegen landläufiger Meinung führt der CAN-Bus nicht in den Cartool-Stecker und auch nicht in die Diagnose-Buchse (das ist ein anderes Interface).
Der CAN-Bus besteht aus den beiden Kabeln CAN_Low und CAN_High (Kabelfarben Braun-Weiß und Schwarz-Weiß), die vordefinierte Übertragungsrate ist 500kbps. Gesendet werden ausschließlich Standard-CAN frames mit 11-Bit Identifier und 8 Datenbytes.
Hier mal eine Liste von Daten-Frame-IDs, mit den jeweiligen Inhalten, die ich identifizieren konnte:
ID 0x10C (kommt wohl von der ECU, ca. alle 10ms)
- Datenbyte 1: Stellung des Gasgriffs (Öffnungs-% = Bytewert / 2,55)
- Datenbyte 2: Konnte ich noch nicht eindeutig identifizieren, hat aber etwas mit dem Motorbetrieb zu tun
- Datenbyte 3: Drehzahl (ca.: Angezeigte Drehzahl = Bytewert * 65)
- Datenbyte 4: Flags für Kupplungsschalter (Bit 2) und Killschalter (Bit 0)
- Datenbyte 5: Flag für Seitenständerschalter (Bit 2), weitere Flags im Zusammenhang mit dem Anlassvorgang
ID 0x130 (kommt wohl von der ZFE, ca. alle 10ms)
- Datenbyte 6: Flags für Fußbremsschalter (Bit 5) und Fernlichtschalter (Bit 0), weitere Flags im Zusammenhang mit dem Anlassvorgang
- Datenbyte 7: Flags für Warnblinker (Bit 5), Blinker (Bits 4,3) und Handbremsschalter (Bit 0), weitere Flags im Zusammenhang mit dem Anlassvorgang
ID 0x294 (kommt wohl vom ABS, ca. alle 10ms)
- Datenbyte 1: Flags für Zustand des ABS: an/aus (Bit 6), ABS-Warnung (Bits 5)
- Datenbyte 2/3: Geschwindigkeit vom Vorderrad (ca.: Geschwindigkeit = 16Bit-Wert / 15)
- Datenbyte 4/5: 16Bit Tick-Counter für Distanzmessung am Vorderrad (zählt 606 Ticks/sek bei ca. 100km/h, d.h. ca. 21,8 Ticks/Meter)
- Datenbyte 6: Flags für Zustand des ABS: an/aus (Bit 7), aktive ABS-Regelung vorne oder hinten (Bit 6)
ID 0x2A8 (kommt wohl vom ABS, ca. alle 10ms)
- Datenbyte 2/3: Geschwindigkeit vom Hinterrad (ca.: Geschwindigkeit = 16Bit-Wert / 15)
- Datenbyte 4/5: 16Bit Tick-Counter für Distanzmessung am Hinterrad (zählt 657 Ticks/sek bei ca. 100km/h, d.h. ca. 23,7 Ticks/Meter)
ID 0x2BC (kommt wohl von der ECU, ca. alle 100ms)
- Datenbyte 1: Flag für Öldruckschalter (Bit 6)
- Datenbyte 2: Kühlmitteltemperatur (Standard-Betriebstemperatur liegt bei Bytewert 141-143)
- Datenbyte 3/4: 16-Bit Counter mit Bezug zur Einspritzmenge, vermutlich kummulierte Öffnungszeit der Einspritzventile für die Anzeige des Momentanverbrauchs
- Datenbyte 5: Eingelegter Gang (Bits 7-4), weitere Flags im Zusammenhang mit dem Anlassvorgang
- Datenbyte 7: vermutlich Flag für Betriebszustand der Benzinpumpe (Bit 0)
ID 0x2D0 (kommt wohl von der ZFE, ca. alle 100ms)
- Datenbyte 1: Außentemperatur (Anzeigewert = Bytewert / 2 - 40)
- Datenbyte 3: Tankfüllstand
- Datenbyte 7: Flags für Zustand der Griffheizung (Bits 5,4)
ID 0x33F (kommt wohl von der DWA, ca. alle 200ms)
- Datenbyte 1: Kommando an die ZFE, mit den Blinkern zu leuchten (Bit 4)
- Datenbyte 2: Flag zum Zustand der DWA, an/aus (Bit 0)
ID 0x3F8 (kommt vermutlich von der Anzeigeeinheit, ca. alle 1s)
- Datenbyte 1/2/3: 24Bit-Wert Insgesamt gefahrene km (Kopie zu Wert in ID 0x3FF)
ID 0x3FF (kommt wohl von der ZFE, ca. alle 1s)
- Datenbyte 2/3/4: 24Bit-Zähler für Sekunden seit letztem Anschluss der Batterie
- Datenbyte 5/6/7: 24Bit-Wert Insgesamt gefahrene km (Kopie zu Wert in ID 0x3F8)
Einige weitere Signale gibt es noch, die ich noch nicht nachvollziehen konnte. Was ich gar nicht untersucht habe, sind Remote-Frames, also die Anforderungen von z.B. Diagnosedaten, Fehlerspeicher, Ansteuerungen, etc. Dafür gibt es ja Motoscan und ähnliches.
Viel Spaß beim Tüfteln.
Kai
P.S.: Wer sich am CAN-Bus seines Fahrzeugs zu schaffen macht, sollte sehr genau wissen, was er tut (soll nicht heißen, das ich weiß, was ich tue...)! Hier besteht enormes Potential, die gesamte Fahrzeugelektronik durcheinander zu bringen oder gar zu beschädigen.