ForumS60, S80, V70 2, XC70, XC90
  1. Startseite
  2. Forum
  3. Auto
  4. Volvo
  5. S60, S80, V70 2, XC70, XC90
  6. Der CAN-Bus im Volvo

Der CAN-Bus im Volvo

Volvo V70 2 (S)
Themenstarteram 27. Februar 2013 um 0:34

Um Kabelbäume unter anderem in Fahrzeugen zu vereinfachen entwickelte Bosch im Jahre 1983 das Controller Area Network. Seit dem Jahr 2000 findet dieses System in vielen Fahrzeugen Anwendung (bei Volvo ab V70II S80 S60 XC70 XC90).

Grundprinzip ist, dass der gesamte Datenaustausch auf zwei Leitungen stattfindet. Diese werden um Reflexionen an beiden Enden zu vermeiden jeweils mit einem 120 Ohm Widerstand terminiert. Die Signalübertragung erfolgt differenziell mit einer Spannungsdifferenz von 2V zwischen CAN-H und CAN-L. Da im KFZ die Datenleitung vielen Störfeldern ausgesetzt ist werden beide Kabel miteinander verdrillt ,damit beide Leitungen den Störungen gleichermaßen ausgesetzt sind und eine Spannungsdifferenz von 2V erhalten bleibt.

Link zur Grafik

Bei einem dominanten Zustand (logisch 0) liegen beide Leitung auf einer Spannung von 2,5 volt. Im rezessiven Zustand (logisch 1) wird die Spannung der Leitung CAN-H(igh) um 1V auf 3,5V angehoben und die Spannung auf der Leitung CAN-L(ow) um 1V auf 1,5V abgesenkt.

Link zur Grafik

Alle im Netzwerk befindlichen Geräte können auf dieser Leitung mithören und abwechselnd senden. Damit sichergestellt wird, dass immer nur ein einzelnes Gerät sendet ist das Übertragungsverfahren streng definiert. Eine Darstellung aller Mechanismen würden den Inhalt des Forums jedoch sprengen, somit ist es an dieser Stelle sinnvoll die wesentlichen Spezifikationen zu erläutern.

Ein Gerät muss immer auf eine Lücke warten, bis es anfangen darf, Daten in das Netzwerk zu senden. Gleichzeitig muss das sendende Gerät im Netzwerk mithören und vergleichen ob jeder einzelne Spannungszustand erfolgreich in das Netzwerk übertragen wird. Da bei einer 1 der Pegel als hoch und einer 0 der Pegel als tief definiert ist, kommt es dazu, dass wenn zwei Geräte gleichzeitig senden, das Gerät mit dem dominanten Bit das Netzwerk auf Null zieht und somit den rezessiven Zustand überschreibt. Weil jedes Gerät die zu sendende Meldung mit dem Zustand des Netzwerkes vergleicht, stellt das Gerät, welches zum eigentlichen Zeitpunkt eine 1 gesendet hat einen Fehler fest und stoppt die eigene Sendung. Infolgedessen haben Meldungen mit einer vorausgehenden 0 eine höhere Priorität als Meldungen mit einer vorausgehenden 1.

Zur Identifikation besteht jede gesendete Meldung aus einer ID und einem Datensatz.

Zum Beispiel die Meldung welche vom Lenkradmodul gesendet wird, um den Zustand des Blinker- und Wischerhebels wiederzugeben:

ID: 0111300A Daten: C0 00 00 27 80 8E 00 C0

Da Volvo den erweiterten J1939-CAN-Frame nutzt besteht die ID aus 4 Bytes “01 11 30 0A” welche einerseits die Priorität der Meldung festlegen und andererseits der Identifikation dienen. Jede ID in einem Netzwerk darf nur einmal vergeben sein. Die ID hat den Nutzen für andere Geräte, dass diese dadurch selektieren können, welche Informationen für sie wichtig sein können. Das Radio beispielsweise achtet auf IDs, welche vom CEM kommen und die Geschwindigkeit und Beleuchtungseinstellung enthalten, wie auch auf IDs welche vom Lenkradmodul kommen und eine Änderung der Lenkradtasten enthalten.

Ein Gerät darf auch über mehrere IDs verfügen, da es auch verschiedene Informationen versenden kann.

Die ID bei Volvo wird gefolgt von einem 8 Byte Datensatz “C0 00 00 27 80 8E 00 C0” in diesem sind die Informationen enthalten, welche das Gerät dem Netzwerk mitteilt.

In Beispiel des Lenkradmoduls codiert die 5te Stelle (Byte 4) für:

5te Stelle:

80: Nichts gedrückt

84: Blinkhebel in rechter Stellung

88: Blinkhebel in linker Stellung

C0: Resettaste am Blinkhebel wird betätigt (Boardcomputerversion)

A0: Read Taste am Blinkhebel wird betätigt

Die 6te Stelle "8E" gibt an, dass der Wischerhebel in 0 Stellung ist.

Die Gesamte Meldung wird etwa alle 15ms in das Datennetzwerk gesendet (nach Priorität häufiger oder seltener), damit jegliche Geräte über den Zustand Bescheid wissen und entsprechend reagieren können. Erhält das CCM die Meldung 84 aktiviert es das Relais für den Blinker der rechten Seite.

Link zum Datendiagramm

Im Datendiagramm ist zu erkennen, dass die gesamte Meldung (als Frame bezeichnet) aus mehr als der ID und dem Datensatz besteht. Es sind noch einige Zusätze nötig, damit eine Meldung erfolgreich übertragen werden kann, diese sind aber bei alleiniger Betrachtung der Meldungen hier nicht von Bedeutung und werden in der realen Anwendung von Controllern automatisch errechnet und durchgeführt.

Kommt es trotz aller Mechanismen dazu, dass ein Fehler auftritt, weil beispielsweise eine ID doppelt im Netzwerk auftritt, unterbricht das Gerät mit gleicher ID die Sendung sofortig und versucht zu einem weiteren Zeitpunkt seine Meldung in das Netzwerk zu senden. Kommt es weiterhin hintereinander zum selbigen Fehler, klinkt sich das Gerät für eine vergleichsweise längere Zeit (ca. 10s) aus dem Netzwerk aus und versucht den Datentransfer erneut. Dies kann jedoch gravierend sein, wenn beispielsweise für etwa 10s der Blinker nicht mehr funktioniert.

Im Volvo gibt es zwei verschiedene CAN-Netzwerke:

Link zur Grafik

Das Motor High-Speed CAN mit einer Datenrate von 250kb/s und das Comfort-Low-Speed-CAN mit einer Datenrate von 125kb/s. Beide Netzwerke laufen voneinander unabhängig, das CEM ist das einzige Gerät welches in Kontakt mit beiden Netzwerken steht und somit Daten zwischen diesen austauschen kann wie beispielsweise die Drehzahl.

Volvo hat die Codierung jeglicher Daten in jedem Baujahr geändert, was zur Folge hat, das sich Geräte aus unterschiedlichen Baujahren nicht über den CAN-Bus unterhalten können, das sie ihre Meldungen nicht mehr verstehen.

Dazu ein Beispiel für die Datenwörter, welche unter anderem für die Tasten des Lenkrades zuständig sind:

Fahrzeug aus 2001

ID: 00200066 Daten: C0 00 00 01 1F 40 40 7F

 

Fahrzeug aus 2002:

ID: 0261300A Daten: 80 00 00 27 80 C2 00 CF

Beide Meldungen erfüllen genau die gleiche Funktion, können aber nicht von Geräten aus anderen Baujahren interpretiert werden.

Durch diese Zusammenhänge lassen sich nicht nur Funktionen im Fahrzeug ergründen sondern auch Erweiterungen wie die eines CAN-Extenders aufbauen. Durch ein einfaches Senden einer Meldung in dieses Netzwerk lässt sich somit etwa eine Coming-Home Funktion mit zusätzlich aktivierten Nebelscheinwerfen realisieren oder es können Tastendrücke oder Fahrzeugdaten jeglicher Art erfasst werden.

Beste Antwort im Thema
Themenstarteram 27. Februar 2013 um 0:34

Um Kabelbäume unter anderem in Fahrzeugen zu vereinfachen entwickelte Bosch im Jahre 1983 das Controller Area Network. Seit dem Jahr 2000 findet dieses System in vielen Fahrzeugen Anwendung (bei Volvo ab V70II S80 S60 XC70 XC90).

Grundprinzip ist, dass der gesamte Datenaustausch auf zwei Leitungen stattfindet. Diese werden um Reflexionen an beiden Enden zu vermeiden jeweils mit einem 120 Ohm Widerstand terminiert. Die Signalübertragung erfolgt differenziell mit einer Spannungsdifferenz von 2V zwischen CAN-H und CAN-L. Da im KFZ die Datenleitung vielen Störfeldern ausgesetzt ist werden beide Kabel miteinander verdrillt ,damit beide Leitungen den Störungen gleichermaßen ausgesetzt sind und eine Spannungsdifferenz von 2V erhalten bleibt.

Link zur Grafik

Bei einem dominanten Zustand (logisch 0) liegen beide Leitung auf einer Spannung von 2,5 volt. Im rezessiven Zustand (logisch 1) wird die Spannung der Leitung CAN-H(igh) um 1V auf 3,5V angehoben und die Spannung auf der Leitung CAN-L(ow) um 1V auf 1,5V abgesenkt.

Link zur Grafik

Alle im Netzwerk befindlichen Geräte können auf dieser Leitung mithören und abwechselnd senden. Damit sichergestellt wird, dass immer nur ein einzelnes Gerät sendet ist das Übertragungsverfahren streng definiert. Eine Darstellung aller Mechanismen würden den Inhalt des Forums jedoch sprengen, somit ist es an dieser Stelle sinnvoll die wesentlichen Spezifikationen zu erläutern.

Ein Gerät muss immer auf eine Lücke warten, bis es anfangen darf, Daten in das Netzwerk zu senden. Gleichzeitig muss das sendende Gerät im Netzwerk mithören und vergleichen ob jeder einzelne Spannungszustand erfolgreich in das Netzwerk übertragen wird. Da bei einer 1 der Pegel als hoch und einer 0 der Pegel als tief definiert ist, kommt es dazu, dass wenn zwei Geräte gleichzeitig senden, das Gerät mit dem dominanten Bit das Netzwerk auf Null zieht und somit den rezessiven Zustand überschreibt. Weil jedes Gerät die zu sendende Meldung mit dem Zustand des Netzwerkes vergleicht, stellt das Gerät, welches zum eigentlichen Zeitpunkt eine 1 gesendet hat einen Fehler fest und stoppt die eigene Sendung. Infolgedessen haben Meldungen mit einer vorausgehenden 0 eine höhere Priorität als Meldungen mit einer vorausgehenden 1.

Zur Identifikation besteht jede gesendete Meldung aus einer ID und einem Datensatz.

Zum Beispiel die Meldung welche vom Lenkradmodul gesendet wird, um den Zustand des Blinker- und Wischerhebels wiederzugeben:

ID: 0111300A Daten: C0 00 00 27 80 8E 00 C0

Da Volvo den erweiterten J1939-CAN-Frame nutzt besteht die ID aus 4 Bytes “01 11 30 0A” welche einerseits die Priorität der Meldung festlegen und andererseits der Identifikation dienen. Jede ID in einem Netzwerk darf nur einmal vergeben sein. Die ID hat den Nutzen für andere Geräte, dass diese dadurch selektieren können, welche Informationen für sie wichtig sein können. Das Radio beispielsweise achtet auf IDs, welche vom CEM kommen und die Geschwindigkeit und Beleuchtungseinstellung enthalten, wie auch auf IDs welche vom Lenkradmodul kommen und eine Änderung der Lenkradtasten enthalten.

Ein Gerät darf auch über mehrere IDs verfügen, da es auch verschiedene Informationen versenden kann.

Die ID bei Volvo wird gefolgt von einem 8 Byte Datensatz “C0 00 00 27 80 8E 00 C0” in diesem sind die Informationen enthalten, welche das Gerät dem Netzwerk mitteilt.

In Beispiel des Lenkradmoduls codiert die 5te Stelle (Byte 4) für:

5te Stelle:

80: Nichts gedrückt

84: Blinkhebel in rechter Stellung

88: Blinkhebel in linker Stellung

C0: Resettaste am Blinkhebel wird betätigt (Boardcomputerversion)

A0: Read Taste am Blinkhebel wird betätigt

Die 6te Stelle "8E" gibt an, dass der Wischerhebel in 0 Stellung ist.

Die Gesamte Meldung wird etwa alle 15ms in das Datennetzwerk gesendet (nach Priorität häufiger oder seltener), damit jegliche Geräte über den Zustand Bescheid wissen und entsprechend reagieren können. Erhält das CCM die Meldung 84 aktiviert es das Relais für den Blinker der rechten Seite.

Link zum Datendiagramm

Im Datendiagramm ist zu erkennen, dass die gesamte Meldung (als Frame bezeichnet) aus mehr als der ID und dem Datensatz besteht. Es sind noch einige Zusätze nötig, damit eine Meldung erfolgreich übertragen werden kann, diese sind aber bei alleiniger Betrachtung der Meldungen hier nicht von Bedeutung und werden in der realen Anwendung von Controllern automatisch errechnet und durchgeführt.

Kommt es trotz aller Mechanismen dazu, dass ein Fehler auftritt, weil beispielsweise eine ID doppelt im Netzwerk auftritt, unterbricht das Gerät mit gleicher ID die Sendung sofortig und versucht zu einem weiteren Zeitpunkt seine Meldung in das Netzwerk zu senden. Kommt es weiterhin hintereinander zum selbigen Fehler, klinkt sich das Gerät für eine vergleichsweise längere Zeit (ca. 10s) aus dem Netzwerk aus und versucht den Datentransfer erneut. Dies kann jedoch gravierend sein, wenn beispielsweise für etwa 10s der Blinker nicht mehr funktioniert.

Im Volvo gibt es zwei verschiedene CAN-Netzwerke:

Link zur Grafik

Das Motor High-Speed CAN mit einer Datenrate von 250kb/s und das Comfort-Low-Speed-CAN mit einer Datenrate von 125kb/s. Beide Netzwerke laufen voneinander unabhängig, das CEM ist das einzige Gerät welches in Kontakt mit beiden Netzwerken steht und somit Daten zwischen diesen austauschen kann wie beispielsweise die Drehzahl.

Volvo hat die Codierung jeglicher Daten in jedem Baujahr geändert, was zur Folge hat, das sich Geräte aus unterschiedlichen Baujahren nicht über den CAN-Bus unterhalten können, das sie ihre Meldungen nicht mehr verstehen.

Dazu ein Beispiel für die Datenwörter, welche unter anderem für die Tasten des Lenkrades zuständig sind:

Fahrzeug aus 2001

ID: 00200066 Daten: C0 00 00 01 1F 40 40 7F

 

Fahrzeug aus 2002:

ID: 0261300A Daten: 80 00 00 27 80 C2 00 CF

Beide Meldungen erfüllen genau die gleiche Funktion, können aber nicht von Geräten aus anderen Baujahren interpretiert werden.

Durch diese Zusammenhänge lassen sich nicht nur Funktionen im Fahrzeug ergründen sondern auch Erweiterungen wie die eines CAN-Extenders aufbauen. Durch ein einfaches Senden einer Meldung in dieses Netzwerk lässt sich somit etwa eine Coming-Home Funktion mit zusätzlich aktivierten Nebelscheinwerfen realisieren oder es können Tastendrücke oder Fahrzeugdaten jeglicher Art erfasst werden.

277 weitere Antworten
Ähnliche Themen
277 Antworten

So, ich beginne mich auch einmal mit dem Thema zu befassen. Nach dem ich schon einige Erfahrung an meiner Triumph gesammelt habe wage ich mich an unser Autos.

Ich habe mir den Arduino UNO R3 mit Sarkfun CAN Shield besorgt. Leider habe ich mit den Projekten von github meine Probleme. Ich habe die Source so wie von DR_V70 installiert. Leider bekomme ich beim kompilieren die Meldung: #error "no UART definition for MCU available"

Beim durchsehen des CODES habe ich die Fehler Definition in dem file uart.c von Peter Fleury gefunden. Dieser hat auch eine neuer UART Libery online.

http://homepage.hispeed.ch/peterfleury/avr-software.html#libs

Habe versucht die Libery in das Projekt zu intergrieren was leider nicht so einfach möglich zu sein scheint.

Hat jemand eine lauffähige Umgebung für den UNO R3 mit ATMEGA328P?

Gruss und Danke

Bild-1
Bild-2

Zitat:

Ich habe mir den Arduino UNO R3 mit Sarkfun CAN Shield besorgt. Leider habe ich mit den Projekten von github meine Probleme. Ich habe die Source so wie von DR_V70 installiert. Leider bekomme ich beim kompilieren die Meldung: #error "no UART definition for MCU available"

hi Silverstar24, ich benutzte ebenso den Arduino UNO R3 und ein china MCP 2515 board (müsste dem von Sparkfun ähnlich wenn nicht sogar gleich sein. Als library hab ich folgende hergenommen Klick.

Davon einfach das "receive" Beispie laden und auf den Arduino flashen.

Ausgelesen habe ich einen Volvo V40 Bj 2015 D4204T14 und zwar den HighSpeed-CAN auf dem OBD-Stecker PIN 6 (CAN-High) PIN 14 (CAN-Low) und habe folgendes Ergebnis erziehlt (siehe Bilder).

Ich hoffe das hilft dir weiter.

Grüße

Zitat:

 

Ausgelesen habe ich einen Volvo V40 Bj 2015 D4204T14 und zwar den HighSpeed-CAN auf dem OBD-Stecker PIN 6 (CAN-High) PIN 14 (CAN-Low) und habe folgendes Ergebnis erziehlt (siehe Bilder).

Sorry, dass ich mich kurz einmische.

@jrraid

Nur eine kurze Frage an Dich, welches Baujahr hatte dein C 202 als du Ihn damals mit den OBD 2 Stecker ausgelesen hast ? Hatte deine Erfahrung hier in einem alten Thread gefunden.

Habe es mit dem OBD2 36 Pin Stecker und dem ELM 327 versucht,sowie die Tourgue App.Irgendwie verbindet der sich wohl zum ELM Stecker, aber nicht zur wichtigen ECU. :-(

Danke vielmals

@john66: siehe PN

Has anyone compiled a list of all IDs and data bytes and put them in a spreadsheet?

There's a lot of useful information in this thread and it would be nice for a centralized database to reference.

I'm certainly happy to contribute, too!

Zitat:

@schalkan schrieb am 6. April 2013 um 15:44:34 Uhr:

Hi,

kann hiermit bestätigen, dass der Code

ID: 0220200E Steuermeldungen

ID: 00C00008 Textinhalt

in meinem 2002er Modell funktioniert....Vielen Dank..werde mir mal Gedanken zu einem Menü

machen....

Does anyone have the IDs for a MY 2006? (Sorry for using English)

am 16. April 2017 um 14:35

Hallo,

hier scheint schon recht lange Ruhe rund um das Thema "CAN-Bus" zu herrschen. Vielleicht können wir die Diskussion wieder aufleben lassen?

Ich habe einen Raspberry PI mit PiCAN2-Interface an meinen V70 III angeschlossen und kann schon mal am Bus "mithören". Allerdings fehlt mir die Info, wie ich die Codes bzw. das Protokoll interpretiere. Wo kann ich Dokumentation zum CAN-Bus-Protokoll finden?

Eine Projektidee wäre z.B. die Steuerung bestimmter Funktionen über das Smartphone. Der Raspi bringt ja die besten Voraussetzungen dafür mit. Man kann ich sehr einfach mit dem Internet verbinden (UMTS-Stick), das Linux lässt sich gut absichern. Und die vorhandenen Libraries des PiCAN2-Boards erlauben die Steuerung des CAN-Bus.

Interesse?

Gruß,

Siggi

am 16. April 2017 um 14:38

Zitat:

@siggik2 schrieb am 16. April 2017 um 16:35:48 Uhr:

Hallo,

hier scheint schon recht lange Ruhe rund um das Thema "CAN-Bus" zu herrschen. Vielleicht können wir die Diskussion wieder aufleben lassen?

Ich habe einen Raspberry PI mit PiCAN2-Interface an meinen V70 III angeschlossen und kann schon mal am Bus "mithören". Allerdings fehlt mir die Info, wie ich die Codes bzw. das Protokoll interpretiere. Wo kann ich Dokumentation zum CAN-Bus-Protokoll finden?

Eine Projektidee wäre z.B. die Steuerung bestimmter Funktionen über das Smartphone. Der Raspi bringt ja die besten Voraussetzungen dafür mit. Man kann ich sehr einfach mit dem Internet verbinden (UMTS-Stick), das Linux lässt sich gut absichern. Und die vorhandenen Libraries des PiCAN2-Boards erlauben die Steuerung des CAN-Bus.

Interesse?

Gruß,

Siggi

Ich habe auf dem CANBUS mit einem Arduino Nachrichten empfangen und gesendet, also würde ich denke, es wäre sehr ähnlich mit einem PI, obwohl ich es noch nicht getan habe.

am 3. Mai 2017 um 18:34

Hallo,

rein technisch kann ich Nachrichten empfangen und senden. Doch ich verstehe sie nicht. Mit anderen Worten: Ich würde eine Doku der Codes benötigen. Gibt es sowas?

Gruß

am 26. Juni 2017 um 11:21

Mahlzeit!

hast jemand von Euch die nicht mehr funktionierenden Grafiklinks / Grafiken für mich?

Zitat:

@DR_V70 schrieb am 27. Februar 2013 um 01:34:29 Uhr:

Um Kabelbäume unter anderem in Fahrzeugen zu vereinfachen entwickelte Bosch im Jahre 1983 das Controller Area Network. Seit dem Jahr 2000 findet dieses System in vielen Fahrzeugen Anwendung (bei Volvo ab V70II S80 S60 XC70 XC90).

Grundprinzip ist, dass der gesamte Datenaustausch auf zwei Leitungen stattfindet. Diese werden um Reflexionen an beiden Enden zu vermeiden jeweils mit einem 120 Ohm Widerstand terminiert. Die Signalübertragung erfolgt differenziell mit einer Spannungsdifferenz von 2V zwischen CAN-H und CAN-L. Da im KFZ die Datenleitung vielen Störfeldern ausgesetzt ist werden beide Kabel miteinander verdrillt ,damit beide Leitungen den Störungen gleichermaßen ausgesetzt sind und eine Spannungsdifferenz von 2V erhalten bleibt.

Link zur Grafik

Bei einem dominanten Zustand (logisch 0) liegen beide Leitung auf einer Spannung von 2,5 volt. Im rezessiven Zustand (logisch 1) wird die Spannung der Leitung CAN-H(igh) um 1V auf 3,5V angehoben und die Spannung auf der Leitung CAN-L(ow) um 1V auf 1,5V abgesenkt.

Link zur Grafik

Alle im Netzwerk befindlichen Geräte können auf dieser Leitung mithören und abwechselnd senden. Damit sichergestellt wird, dass immer nur ein einzelnes Gerät sendet ist das Übertragungsverfahren streng definiert. Eine Darstellung aller Mechanismen würden den Inhalt des Forums jedoch sprengen, somit ist es an dieser Stelle sinnvoll die wesentlichen Spezifikationen zu erläutern.

Ein Gerät muss immer auf eine Lücke warten, bis es anfangen darf, Daten in das Netzwerk zu senden. Gleichzeitig muss das sendende Gerät im Netzwerk mithören und vergleichen ob jeder einzelne Spannungszustand erfolgreich in das Netzwerk übertragen wird. Da bei einer 1 der Pegel als hoch und einer 0 der Pegel als tief definiert ist, kommt es dazu, dass wenn zwei Geräte gleichzeitig senden, das Gerät mit dem dominanten Bit das Netzwerk auf Null zieht und somit den rezessiven Zustand überschreibt. Weil jedes Gerät die zu sendende Meldung mit dem Zustand des Netzwerkes vergleicht, stellt das Gerät, welches zum eigentlichen Zeitpunkt eine 1 gesendet hat einen Fehler fest und stoppt die eigene Sendung. Infolgedessen haben Meldungen mit einer vorausgehenden 0 eine höhere Priorität als Meldungen mit einer vorausgehenden 1.

Zur Identifikation besteht jede gesendete Meldung aus einer ID und einem Datensatz.

Zum Beispiel die Meldung welche vom Lenkradmodul gesendet wird, um den Zustand des Blinker- und Wischerhebels wiederzugeben:

ID: 0111300A Daten: C0 00 00 27 80 8E 00 C0

Da Volvo den erweiterten J1939-CAN-Frame nutzt besteht die ID aus 4 Bytes “01 11 30 0A” welche einerseits die Priorität der Meldung festlegen und andererseits der Identifikation dienen. Jede ID in einem Netzwerk darf nur einmal vergeben sein. Die ID hat den Nutzen für andere Geräte, dass diese dadurch selektieren können, welche Informationen für sie wichtig sein können. Das Radio beispielsweise achtet auf IDs, welche vom CEM kommen und die Geschwindigkeit und Beleuchtungseinstellung enthalten, wie auch auf IDs welche vom Lenkradmodul kommen und eine Änderung der Lenkradtasten enthalten.

Ein Gerät darf auch über mehrere IDs verfügen, da es auch verschiedene Informationen versenden kann.

Die ID bei Volvo wird gefolgt von einem 8 Byte Datensatz “C0 00 00 27 80 8E 00 C0” in diesem sind die Informationen enthalten, welche das Gerät dem Netzwerk mitteilt.

In Beispiel des Lenkradmoduls codiert die 5te Stelle (Byte 4) für:

5te Stelle:

80: Nichts gedrückt

84: Blinkhebel in rechter Stellung

88: Blinkhebel in linker Stellung

C0: Resettaste am Blinkhebel wird betätigt (Boardcomputerversion)

A0: Read Taste am Blinkhebel wird betätigt

Die 6te Stelle "8E" gibt an, dass der Wischerhebel in 0 Stellung ist.

Die Gesamte Meldung wird etwa alle 15ms in das Datennetzwerk gesendet (nach Priorität häufiger oder seltener), damit jegliche Geräte über den Zustand Bescheid wissen und entsprechend reagieren können. Erhält das CCM die Meldung 84 aktiviert es das Relais für den Blinker der rechten Seite.

Link zum Datendiagramm

Im Datendiagramm ist zu erkennen, dass die gesamte Meldung (als Frame bezeichnet) aus mehr als der ID und dem Datensatz besteht. Es sind noch einige Zusätze nötig, damit eine Meldung erfolgreich übertragen werden kann, diese sind aber bei alleiniger Betrachtung der Meldungen hier nicht von Bedeutung und werden in der realen Anwendung von Controllern automatisch errechnet und durchgeführt.

Kommt es trotz aller Mechanismen dazu, dass ein Fehler auftritt, weil beispielsweise eine ID doppelt im Netzwerk auftritt, unterbricht das Gerät mit gleicher ID die Sendung sofortig und versucht zu einem weiteren Zeitpunkt seine Meldung in das Netzwerk zu senden. Kommt es weiterhin hintereinander zum selbigen Fehler, klinkt sich das Gerät für eine vergleichsweise längere Zeit (ca. 10s) aus dem Netzwerk aus und versucht den Datentransfer erneut. Dies kann jedoch gravierend sein, wenn beispielsweise für etwa 10s der Blinker nicht mehr funktioniert.

Im Volvo gibt es zwei verschiedene CAN-Netzwerke:

Link zur Grafik

Das Motor High-Speed CAN mit einer Datenrate von 250kb/s und das Comfort-Low-Speed-CAN mit einer Datenrate von 125kb/s. Beide Netzwerke laufen voneinander unabhängig, das CEM ist das einzige Gerät welches in Kontakt mit beiden Netzwerken steht und somit Daten zwischen diesen austauschen kann wie beispielsweise die Drehzahl.

Volvo hat die Codierung jeglicher Daten in jedem Baujahr geändert, was zur Folge hat, das sich Geräte aus unterschiedlichen Baujahren nicht über den CAN-Bus unterhalten können, das sie ihre Meldungen nicht mehr verstehen.

Dazu ein Beispiel für die Datenwörter, welche unter anderem für die Tasten des Lenkrades zuständig sind:

Fahrzeug aus 2001

ID: 00200066 Daten: C0 00 00 01 1F 40 40 7F

 

Fahrzeug aus 2002:

ID: 0261300A Daten: 80 00 00 27 80 C2 00 CF

Beide Meldungen erfüllen genau die gleiche Funktion, können aber nicht von Geräten aus anderen Baujahren interpretiert werden.

Durch diese Zusammenhänge lassen sich nicht nur Funktionen im Fahrzeug ergründen sondern auch Erweiterungen wie die eines CAN-Extenders aufbauen. Durch ein einfaches Senden einer Meldung in dieses Netzwerk lässt sich somit etwa eine Coming-Home Funktion mit zusätzlich aktivierten Nebelscheinwerfen realisieren oder es können Tastendrücke oder Fahrzeugdaten jeglicher Art erfasst werden.

Lieben Gruß,

Daniel

Wäre schön, wenn die jemand auf einen etwas persistenteren Speicher hochladen könnte.

Hallo,

möchte den Beitrag kurzzeitig wiederbeleben.

Der Plan ist meinen 02er S60 auf das Facelift umzurüsten. Bei diesem vorhaben ist ja, wie allseits bekannt, das Problem mit dem Radio gegeben, da dieses ja geänderte Bus Signale hat. Um jetzt dieses Problem zu umgehen hab ich mit einen ehem. Kollegen aus der HTL gesprochen und wir würden uns einen "übersetzer" basteln, sprich wenn das Vol+ Signal kommt soll ein avr328p das Signal erkennen und das zum FL passende weitersenden. ebenso das "Grundsignal" das die Beleuchtung und das Verstärkersignal freischaltet.

So jetzt zu meiner eigentlichen Frage: Hat jemand die Signale eines 05/06er ausgelesen?

LG

Michael

am 15. Dezember 2017 um 20:20

Hallo miteinander,

ich hoffe sehr dass die Hauptsächlich beitragenden noch hier sind?

Die Menge an Informationen die hier zusammengetragen sind, helfen

außerordentlich dabei das ganze zu begreifen! Danke vielmals!

Eine Idee, vielleicht hat das jemand schon ausprobiert:

-Bei dem Betätigen der Fernbedienung könnte man auf eine Folge

z.B. gelbe Taste (Außenlicht) 2x innerhalb von t? = Funktion ausführen,

z.B Standheizung aktivieren.

Was haltet Ihr von der Idee?

Beste Grüße, Kinematiker

Guten Tag an alle,

darf ich davon ausgehen, das es sich beim Can-Bus am Radio (grüner Stecker) im V70 MY2006 um den Low-Speed-Can handelt? Wenn ja, gibt es einen Tip, wo ich vorne im Fahrzeuginnenraum am besten an den High-Speed-Can komme?

Beste Grüße

Sven

OBD Buchse

Deine Antwort
Ähnliche Themen