Im MINI werden zur Kommunikation der verschiedenen Systeme und Steuergeräte untereinander mehrere Bussysteme eingesetzt. Verwendet werden der CAN-Bus, der K-Bus, der D-Bus und der DS2-Bus.
Wir können diese Bussysteme nicht bzw. nur mit Detailwissen und großem Aufwand beeinflussen. Allerdings ist das in aller Regel auch nicht notwendig. Es gibt Ausnahmen, wie z.B. meinen Versuch, die Ölanzeigen zu beeinflussen. Die an den Bussen anliegenden Signale haben sich Littletitus und r53-magic auch für ihren Shift-Indicator zunutze gemacht - allerdings wird hier "nur" ausgelesen, nicht geschrieben.
Hier ist ein Diagramm, wie die verschiedenen Steuergeräte in den Kackfässern vernetzt sind und welcher Bus dafür jeweils verwendet wird:
Die verschiedenen Busse werden wie folgt von den Steuergeräten genutzt.
Der CAN-Bus:
Der K-Bus:
Der D-Bus:
Der DS2-Bus:
Wie bereits geschrieben können wir die Bussysteme nicht ohne weiteres beeinflussen. Wir haben auch keinen Einfluss darauf, welches Steuergerät über welchen Bus kommuniziert. Das wird bei der Entwicklung von den Applikationsingenieuren festgelegt. Es gibt aber eine Art "Zuordnung", welches System wofür verwendet wird und daraus kann man - zumindest zum Teil - auch das "warum" ableiten.
BMW schreibt zur Zuordnung folgendes:
Nicht alles, was da steht, trifft auf unsere Autos zu. So haben wir zum Beispiel keinen P-Bus, weil in unseren Türen gar nicht genug eingebaut ist. Ein Beispiel, wo der P-Bus Verwendung findet, sind elektrische Sitze. Da hat der Sitz tatsächlich ein eigenes, diagnosefähiges Steuergerät eingebaut.
Es ergibt sich aber folgende Zuordnung:
- CAN-Bus für alles, was motor- bzw. antriebsrelevant ist (DME, ABS/DSC, LWS und wo vorhanden GIU vom Automatikgetriebe)
- K-Bus für alles, was mit der Karosserie verbunden ist (BC1, IHKA, LWR bei Xenon, MFL, RLS...)
- D-Bus für die abgasrelevante Diagnose (auch bekannt als OBD2)
- DS2-Bus für die nicht abgasrelevante Diagnose
Das IKE (das große Instrument in der Mitte des Armaturenbretts) ist das sogenannte Gateway. Alle Daten aus allen Steuergeräten und allen Bussen kommen hier an und werden hier weitergereicht. Das IKE "übersetzt" also bei Bedarf auch von einem Bus in den anderen. Wenn man ein Diagnosegerät an die OBD-Buchse steckt, verbindet man sich ebenfalls mit dem IKE.
Ein Beispiel für so eine Übersetzung:
Man verbindet ein Diagnosegerät mit der OBD-Buche. Über den D-Bus wird nun der abgasrelevante Fehlerspeicher der DME angefragt. Das IKE "übersetzt" diese Anfrage von D-Bus auf CAN-Bus und leitet sie an die DME weiter. Die Antwort wird vom IKE wieder von CAN-Bus nach D-Bus übersetzt und über die OBD-Buchse am Diagnosegerät ausgegeben.
Warum wird diese Zuordnung gewählt:
Dazu muss man sich erstmal klarmachen, dass in einem Bussystem jede Information zur selben Zeit an allen angeschlossenen Geräten verfügbar ist. Das heißt im Umkehrschluss auch, dass alle angeschlossenen Geräte ein von einem weiteren Gerät gesendetes Datenpaket empfangen. Da ist also zu jeder Zeit so einiges los auf dem Bus...
Jeder Feldbus hat eine bestimmte Datenübertragungsrate (vulgo Geschwindigkeit, wie bei einem DSL-Anschluss), eine bestimmte maximale Anzahl von angeschlossenen Geräten und eine gewisse Bandbreite. Bandbreite heißt hier, wie viele Daten jeweils in ein Paket passen. Die angeschlossenen Geräte wiederum müssen die entsprechende Rechenkapazität haben, diese Pakete jeweils zur Laufzeit auslesen, verarbeiten und ggfs. antworten zu können.
Das kostet nicht zuletzt Geld. Ist ja klar - wenn ich einen größeren, leistungsfähigeren Controller brauche, kostet der mehr. Nun ist es aber so, dass es einer IHKA (Steuerung Klimaautomatik) relativ wumpe ist, ob sie eine Information 20 Millisekunden früher oder später bekommt - der Fahrer merkt es auch nicht. Die Menge der Daten ist da auch geringer als beim Motormanagement. Da werden permanent deutlich mehr Daten gesendet - Stellung Kurbelwelle, Stellung Nockenwelle, Zündung, Lambda-Werte...
Das heißt, für das Motormanagement brauche ich einen Bus, der sehr schnell große Datenmengen zur Verfügung stellen kann - Stichwort Refresh-Zeit. Bei einer Klimaautomatik oder einem Fensterheber habe ich lange nicht so viele Daten und die, die ich habe, können auch ruhig ein paar Millisekunden langsamer transportiert werden. Wenn ich den schnellen Bus also nur da nutze, wo ich ihn auch wirklich brauche, kann ich als Hersteller eine Menge Geld sparen. Das ist nicht der einzige Grund - aber der, der so ziemlich jedem auch ohne tiefe Feldbus-Kenntnisse einleuchtet.
Der CAN-Bus ist ein sogenannter Highspeed-Bus mit großer Bandbreite. Er kann sehr schnell große Datenmengen transportieren. Daher eignet er sich im Automotive-Bereich besonders für die DME und Systeme, die auf direkte Kommunikation mit dieser angewiesen sind. Deswegen ist zum Beispiel der ABS-Block auch über CAN angebunden. Das ABS selbst käme bestimmt mit dem langsameren K-Bus aus - aber um die ESP- bzw. DSC-Funktion bereitzustellen, muss der Block direkt mit der DME kommunizieren können, um z.B. die Last in Gefahrensituationen wegzunehmen bzw. zu unterbinden.
Die Nachteile des CAN-Bus sind höhere Kosten für die Controller in den Steuergeräten und seine Störanfälligkeit. Das ist alles gut, solange man nicht an den werksseitig verlegten Kabeln rumspielt. Macht man das, baut man sich schnell Fehler ein. Und im Sinn eines Fail-Safe-Konzeptes wird der Bus dann nur da eingesetzt, wo er auch wirklich gebraucht wird.
Der K-Bus ist langsamer und kann in einem Datenpaket auch nicht so viele Daten transportieren wie der CAN, dafür lässt er sich wesentlich günstiger realisieren und ist auch resilienter gegen Störeinflüsse. Daher kommt er überall da zum Einsatz, wo er "ausreicht". Schlicht und einfach.
Der D-Bus stellt die genormte abgasrelevante Diagnose nach ISO 9141-2 zur Verfügung - auch bekannt als OBD2.
Der DS2-Bus stellt erweiterte, aber nicht abgasrelevante Diagnosefunktionen zur Verfügung.
Beide letztgenannten werden vom Diagnosegerät über die OBD-Buchse angesprochen. Die weitere Durchleitung an die jeweiligen Steuergeräte und - wenn nötig- Übersetzung übernimmt das IKE als Gateway.
Abovuekt hat hier beschrieben, dass der CAN-Bus in unseren Kartons im Vergleich zu anderen, neueren Autos noch vergleichsweise rudimentär eingesetzt wird:
Im gleichen Post hat er eine Besonderheit des MINIs beschrieben:
Eine Besonderheit ist die Kommunikation vom Kombi zum DZM (oder DZM + Tacho als Mickey Mouse) - diese läuft auch über CAN, wobei das Kombi hier der Sender ist. Die Instrumente auf der Lenksäule sind "dumm" und zeigen ausschließlich an, was das Kombi sendet. Also Bordcomputer-Inhalte, selbst wie weit der Rote Bereich geht kommt über den CAN je nach Codierung.
Kombi meint hier IKE.
Ein CAN-Bus hat IMMER einen Master-Controller. Dieser ist je Bus einmalig, es darf keinen zweiten geben.
Die Besonderheit ist hier nun, dass der MINI tatsächlich 2 (in Worten ZWEI) CAN-Busse hat. Einmal den, über den das gesamte Motor- und DSC-Management läuft und dann noch einen zweiten, der NUR zwischen dem IKE und dem Zusatzinstrument auf der Lenksäule existiert. Das hat den Grund, dass die Daten im Zusatzinstrument entsprechend schnell bereitgestellt werden müssen und der CAN da am besten für geeignet ist. Allerdings sehen wir diesen zweiten Bus in der Diagnose so nicht - wir sprechen auch zur Diagnose des Zusatzinstrumentes immer nur das IKE an und das erledigt dann für uns den Rest.
Wie immer erhebe ich nicht den Anspruch auf Vollständigkeit. Es können sich auch Fehler in meinem Text verstecken.
Wer Rechtschreibfehler findet - die sind gratis. Bei technischen Fehlern gebt mir bitte einen Hinweis, damit ich den Text korrigieren kann. Ihr könnt natürlich auch gerne Ergänzungen schreiben.