BMW I-Bus
Informationen zum Instrumentenbus von BMW Fahrzeugen der Baureihen E38, E39 und E46. Alle Informationen ohne Gewähr und nur zur privaten Nutzung bestimmt!
Inhalt
Steuergeraete im Fahrzeug der Baureihe E39
Konvertierung des I-Bus auf RS232 Standard
Protokoll des I-Bus
Adressen der Busteilnehmer im I-Bus
Kommunikation der Steuergeraete im I-Bus
Codes der Bormonitortasten
Tastencodes der Lenkradtasten
Visualisierung von Nachrichten in der Instrumentenkombination
Visualisierung von Nachrichten im Bordmonitor
Kommunikation mit dem CD-Wechsler
Sonstige I-Bus Codes (Telefon, LCM, Licht, IKE, Bordcomputer, Navigation, Kassettenlaufwerk)
Z4 / X3 Monitorsteuerung
Steuerung des 16:9 Widescreen Bordmonitor
Steuergeräte im Fahrzeug der Baureihe E39 (5er BMW)
Bei Fahrzeugen der Modelreihe E39 des Automobilherstellers BMW werden zur Vernetzung der einzelnen Steuergeräte eigesetzt unter anderen über K-Bus ähnliche Bussysteme eingesetzt. Der K-Bus ist ein Kommunikationsbus und gehört zu den Feldbussen. Ein verbreitetes Einsatzgebiet ist die Diagnosekommunikation in Kraftfahrzeugen. Auf der Bitübertragungsschicht verwendet der K-Bus ISO-9141. Es handelt sich um eine einfache serielle UART-Kommunikation, die für Datenraten bis maximal 20 kBit/s eingesetzt werden kann.
Im vorliegenden Fahrzeug existieren insgesamt drei größere Netzwerke von Steuergeräten. Es sind dabei jeweils die Steuergeräte zusammengefasst, die ähnliche Aufgaben erfüllen. Unterhalb bestimmter Steuergeräte sind weitere kleine Netzwerke die Sensoren und Aktoren mit dem Steuergerät verbinden. Ein Beispiel hierfür ist die Klimaautomatik. Die zugehörigen Stellelemente der Luftverteilerklappen sind über den M-Bus vernetzt.
Die Steuergeräte mit Sicherheitsverantwortung sind unter anderen über CAN-Bus vernetzt. Teilweise sind diese auch noch (zusätzlich z.B. zu Diagnosezwecken) über den D-Bus bzw. K-Bus angebunden, der CAN-Bus hat aber Vorrang. Damit werden Motor- und Getriebesteuerung und ABS Steuerung nicht von Störungen auf den D/K/I-Bussen beeinflusst.
Abbildung 1.1: Topologie der Steuergerätenetzwerke im BMW E39
Die Grafik zeigt die drei Netzwerke mit den einzelnen gruppierten Steuergeräten. Der MP3-Player wird an den Instrumentierungsbus gekoppelt und ersetzt bzw. emuliert den CD-Wechsler. Es sind nur die Steuergeräte dargestellt die im für das Projekt verwendeten Fahrzeug verbaut sind.
Konvertierung des I-Bus (K-Bus ISO-9141) auf RS232 Standard
Der Bus arbeitet mit Pegeln, die relativ zur Batterie Spannung (ca. 12 V) des Fahrzeugs definiert sind und für eine logische 0 (Low) 0-30 % und für eine logische 1 (High) 70-100 % der Batteriespannung betragen.
Der I-Bus ist Low aktiv. Die Logische “1” wird übertragen wenn der Bus vom H-Pegel (Ruhezustand) für kurze Zeit auf L-Pegel gezogen wird. Die Übertragung wird über die Busgeschwindigkeit und den Pegel gesteuert. Low entspricht 1 und High entspricht 0, bei definierter Dauer eines Bits.
Über spezielle integrierte Schaltungen können die Pegel des I-Bus auf den RS232 Standard angepasst werden. Die entsprechenden Bus Treiber werden von verschiedenen Herstellern angeboten.
Abbildung 1.2: Pegelanpassung
Für dieses Aufgabe kann zum Beispiel der Melexis TH8080 LIN-Transceiver verwendet. Dieser IC stellt eine günstige und sehr stabile Lösung dar die erforderliche Anpassung zu realisieren. Die Wandelung von TTL auf RS232 kompatible Pegel übernimmt dann ein MAX232 Standard IC. Der Melexis IC kommt mit wenigen esternen Bauteilen aus. Der Schaltungsentwurf sollte nach dem lesen des Datenblattes kein Problem darstellen.
Index | Signal | Sollwert |
1 | U high [V] | 7 V … Ubatt |
2 | U low [V] | 0 V … 2 V |
3 | Telegrammzeit [ms] | 5 ms … 30 ms |
Abbildung 1.3: Oszillogramm I-/ K-Bus-Signale
Eine weitere Möglichkeit ohne spezielle IC ist eine Pegelanpassung über die folgende einfache Transistorschaltung. Die Schaltung funktioniert neigt aber teilweise zu Übertragunsproblemen bzw. Übertragungsfehlern.
Protokoll des I-Bus
In BMW Fahrzeugen ist das Protokoll über das die einzelnen Steuergeräte in den Netzwerken kommunizieren nach dem folgenden Schema aufgebaut:
· Quell ID
Identifikation des Teilnehmers der eine Nachricht an einen anderen BUS-Teilnehmer senden will
· LängeLänge der kompletten Nachricht (ohne Quell ID und Längenangabe selbst)
· Ziel ID
Identifikation des Teilnehmers an den die Nachricht gesendet werden
· DatenNutzdaten den Nachricht
· XOR CRC – ChecksummeDie Checksumme dient zur Verifizierung der Nachricht. Der Empfänger der Nachricht berechnet die Checksumme und vergleicht diese mit der in der Nachricht enthaltenen.
Abbildung 1.4: Aufbau des Nachrichtenprotokolls
Jedes Netzwerk (K-Bus, I-Bus und D-Bus) überträgt Daten mit einer Baudrate von 9600 Bit pro Sekunde. Das Kommunikationsprotokoll hat 8 Daten-Bits, 1 Stop-Bit und gerade Parität (even).
Die Implementierung bei BMW sieht als Busmaster die Instumentenkombination vor. Nur wenn die IKE nichts sendet dürfen sich andere Busteilnehmer ‚unterhalten’. Dies erleichtert die Integration zusätzlicher Steuergeräte, z.B. MP3-Player und kann die Reaktionszeit verkürzen, z.B. Lenkradtasten. Auf dem I-Bus (wie auch den anderen Bussystemen) können bei hoher Buslast Kollisionen als Tribut an die Flexibilität auftreten. Daher verwendet BMW je nach Ausstattung mehrere Busse.
- Folgende Mechanismen sind für die Kommunikation am I-Bus implementiert:
- der Busmaster (IKE) hat Priorität
- bis auf Broadcasts ist jede Botschaft (Request) zu bestätigen (Response) (dies trifft nicht für alle Botschaften zu, hier sieht der I-Bus dann eine entsprechende Kodierung vor)
- wenn der Bus eine definierte Zeit (z.B. 20-100ms, nach Request erst nach dem Timeout, z.B. 100-1000ms) nicht belegt ist, dürfen andere Teilnehmer einen Request senden
- nicht jeder Busteilnehmer wartet die gleiche Zeit (dies ist zwar nicht explizit geregelt, ergibt sich aber aus den Signallaufzeiten und Timingunterschieden in den Steuergeräten)
- nach einer gewissen Übertragungszeit muss der Bus für andere Steuergeräte ‚geöffnet’ werden
- Kollisionserkennung ist zu verwenden, insbesondere sollte das Echo überprüft werden.
- es wird eine Adress-Arbitrierung verwendet: Der Sender mit der höchsten Adresse erhält den Buszugriff, wenn 2 oder mehr Teilnehmer gleichzeitig auf den Bus zugreifen. Dies funktioniert folgendermaßen: Während die Sendeadresse Bit für Bit auf den Bus gelegt wird, wird der Zustand der Leitung überprüft. Überträgt ein Steuergerät z.B. eine 0 (High-Pegel) und die Leitung wird Low, muss es den Bus abgeben (ohne die laufende Übertragung der anderen Steuergeräte zu stören). Bei Gleichheit entscheidet das nächste Bit. Adresse binär 00100100 ist höher als 00100011.
- Kommandos/Botschaften werden im Steuergerät intern priorisiert. Entsprechend der Priorität wird eine unterschiedliche Pause zwischen den Botschaften (‚Botschaftsabhängige Wartezeit’) verwendet: Prio 1 ab 1,7ms, 2 ab 2.3ms und 3 ab 10ms. Bei Kollisionen wird eine vordefinierte ‚Konfliktwartezeit’ verwendet, die für Steuergeräte in der gleiche Domäne (gleiche Position des ersten rezessiven Bits in der Adresse) unterschiedlich ist.
- sollte auf einen Request keine Antwort kommen, wird er bis zu 5 Mal nach jeweils 300ms Wartezeit wiederholt
Da die oben genannten Mechanismen nur aufwendig zu implementieren sin reicht in der Praxis das folgendes Vorgehen zum senden von Nachrichten aus:
Bevor eine Nachricht gesendet wird muß auf auf den Ruhezustand des Busses gewartet werden. Dieser ist erreicht wenn für eine gewisse Zeit kein Datentransfehr stattfindet. Die Zeit errechnet sich aus der Datenrate des Busses und dem Datenrahmen der Seriellen Verbindung von 10Bit/Zeichen. Dieser Datenrahmen ist in der nachfolgenden Rechnung bereits berücksichtigt (0,104ms/Bit * 10Bit).
Es muss also mindestens 1,2ms Inaktivität des Busses abgewartet werden bevor davon ausgegangen werden kann das keine weiteren Bits mehr gesendet und somit die Nachricht des gerade aktiv gewesenen Steuergerätes vollständig gesendet wurde. Danach kann eine Nachricht gesendet werden.
Diese System bzw. diese Art der Kollisionsvermeidung arbeitet in der Praxis unter der Voraussetzung das sich alle Steuergeräte genau an diese Softwarelösung halten sehr zuverlässig. Eigentlich wird hierbei die Wartezeit der Busruhe verwendet um vor allen anderen Steuergeräten zu senden. Das bedeutet aber auch, dass wichtige Nachrichten unter umständen unterdrückt werden könnten und eigentlich die anderen Steuergeräte die Kollisionen vermeiden! Deshalb solte nur maximal 1 Busteilnehmer der nach dieser “Quick and dirty” Methode arbeitet angeschlossen werden.
Adressen der Busteilnehmer im I-Bus
Im Netzwerk wird jeder Teilnehmer durch eine ID (Adresse) identifiziert, die Länge ist ein jeweils Byte.
ID (Hex) | Name des Teilnehmers | Bemerkung |
00 | Allgemeine Nachrichten (1) | |
18 | CD-Wechsler | Adresse des MP3-Players |
30 | SES (Spracheingabe) | |
3B | Videomodul | |
3F | DIS | externes Diagnosesystem |
43 | Menü Bildschirm auf Bordmonitor | |
50 | Lenkradtasten | Linke Seite |
60 | Parksystem PDC | |
68 | Radio | |
6A | DSP (Soundprozessor) | |
7F | GPS Modul | |
80 | Instrumentenkombination IKE | |
A8 | Unbekannt | |
BB | TV-Modul (im Videomodul) | |
BF | Lichtkontrollmodul LCM | |
C0 | Multiinformationsdisplay MID | nicht verbaut |
C8 | Telefon | |
D0 | Navigationsdaten | |
E7 | Textzeile in Instrumentenkombination | |
E8 | Unbekannt | |
ED | Memory Sitze | |
F0 | Tasten Bordmonitor | |
FF | Allgemeine Nachrichten (2) |
Kommunikation der Steuergeräte im I-Bus
Die Steuergeräte im Verbund des Instrumentierungsbus (I-Bus) kommunizieren nach dem im Kapitel beschriebenen Protokoll.
Bestimmte Steuergeräte bilden einen Verbund im Bus. Dabei übernimmt ein Steuergerät die Rolle des „Master“ die anderen zugehörigen Steuergeräte bilden die „Slaves“. Hierbei handelt es sich um eine logische Zuordnung über die Software der Steuergeräte. Die elektrische Topologie des I-Busses verbindet im Gegensatz zur logischen Zuordnung alle Steuergeräte miteinander. Somit stehen alle Telegramme die über den Bus gesendet werden an allen Steuergeräten zur Verfügung.
Abbildung 1.5: Blockschaltbild der logischen Zuordnung
Steuergeräte die nicht zur Serienausstattung des Fahrzeugs gehören und nachgerüstet werden können werden am Bus automatisch erkannt. Die Erkennung erfolgt wenn in einer bestimmten Zeit auf eine an das Steuergerät gerichtete Anfrage geantwortet wird, oder das nachgerüstete Gerät sich mit einer Initialisierungsnachricht angemeldet hat. Dies betrifft auch den CD-Wechsler der durch den MP3-Player emuliert wird. Das Radio fragt nach dem Einschalten der Zündung die zugehörigen Slaves (DSP / CD-Wechsler bzw. MP3-Player) ab. Auf die Anfrage des Radios muss eine Antwort erfolgen. Außerdem muss das Gerät in regelmäßigen Abständen ein Lebenszeichen senden. Geschieht dies nicht wird das Gerät bis zum Neustart des Fahrzeugs deaktiviert. Es ist somit wichtig, dass der MP3-Player zuverlässig auf entsprechende Anfragen reagiert.
Die Steuerung des CD-Wechslers erfolgt regulär nur durch das Radio. Wird der CD-Modus angewählt sendet das Radio an den CD-Wechsler eine Nachricht die Wiedergabe zu starten. Der CD- Wechsler sendet eine Nachricht zurück an das Radio das die Wiedergabe startet. Alle weiteren Steuerbefehle wie CD-Wechsel etc. werden auf gleiche Weise übermittelt.
Die Tasten des Bordmonitor und die Tasten des Multifunktionslenkrad senden bei Tastendruck eine Nachricht die den Code der Taste sowie die Art des Tastendruck (kurzer Druck, langer Druck und loslassen der Taste) enthält.
Abbildung 1.6: Bordmonitor mit aktiver Radioanzeige (MP3 Daten werden angezeigt)
Der Bordmonitor besteht aus den Bordmonitortasten die mit der Sendeadresse 48 Hex und 49 Hex die Tastencodes senden. Außerdem befinden sich ein TFT-Display und das Kassettenlaufwerk im Gehäuse des Monitors. Das TFT-Display wird direkt vom Navigationsrechner mit einem RGB Videosignal gespeist und dient somit nur als Monitor. Die Steuerung des Kassentenlaufwerks ist über den I-Bus (des Bordmonitors) relaisiert. Die Audioleitung des Laufwerks ist direkt mit dem Radio verbunden
Codes der Bormonitortasten (Adresse 0F)
Nachrichten zum Radio: ADRESSE 68 HEX
Format der Nachricht:
<0F 04 68> <Tastencode> <XOR>
Taste | Druck<1s | Druck>1s | Druckaus | Taste | DruckKurz | Druck Lang | Tasteaus |
<> | 48 14 | 48 54 | 48 94 | Eject | 48 24 | 48 64 | 48 A4 |
1 | 48 11 | 48 51 | 48 91 | 2 | 48 01 | 48 41 | 48 81 |
3 | 48 12 | 48 52 | 48 92 | 4 | 48 02 | 48 42 | 48 82 |
5 | 48 13 | 48 53 | 48 93 | 6 | 48 03 | 48 43 | 48 83 |
TP | 48 32 | 48 72 | 48 B2 | RDS | 48 22 | 48 62 | 48 A2 |
FM | 48 31 | 48 71 | 48 B1 | AM | 48 21 | 48 61 | 48 A1 |
Info | 48 07* | 48 47* | 48 87* | MODE | 48 23 | 48 63 | 48 A3 |
TONE | 48 04 | 48 44 | 48 84 | SELECT | 48 20 | 48 60 | 48 A0 |
< (Titel zurück) | 48 10 | 48 50 | 48 90 | > (Titel vor) | 48 00 | 48 40 | 48 80 |
(Radio Menü) | 48 30 | 48 70 | 48 B0 | * Nachricht zu “FF” statt Radio “68” |
Nachrichten zum Navigationsrechner: ADRESSE 3B HEX
Format der Nachricht:
<0F 04 3B> <Drehknopfcode> <XOR>
48 05 Druck 48 45 Druck > 1s 48 85 Druck aus
49 0n Drehen links 49 8n Drehen rechts
n ist zwischen 1 und 9. Der Wert ändert sich je nach Drehgeschwindigkeit.
Allgemeine Nachrichten: ADRESSE FF HEX
Format der Nachricht:
<0F 04 FF> <Tastencode> <XOR>
Taste ‘Telefon’
48 08 Druck 48 48 Druck > 1s 48 88 Druck aus
Taste ‘Standheizung / Uhr’
48 07 Druck 48 47 Druck > 1s 48 87 Druck aus
Taste ‘MENÜ’
48 34 Druck 48 74 Druck > 1s 48 B4 Druck aus
Tastencodes der Lenkradtasten (Adresse 50)
Abbildung 1.7: Lenkradtasten
Nachrichten zum Radio: ADRESSE 68 HEX
Format der Nachricht:
<50 04 68> <Tastencode> <XOR>
Taste “-” (Lautstärke +)
32 10
Taste “+” (Lautstärke +-)
32 11
Button “>” (nächster Titel)
3B 01 Druck 3B 21 Druck aus
Button “<” (vorheriger Titel)
3B 08 Druck 3B 28 Druck aus
Nachrichten zum Telefon: ADRESSE C8 HEX
Format der Nachricht:
<50 04 C8> <Tastencode> <XOR>
Taste ‘Wählen’
3B 80 Druck 3B 90 Druck > 1s 3B A0 Druck aus
Taste “R/T”
3B 40 Druck
Nachrichten zur Sprachsteuerung (SES / ULF): ADRESSE B0 HEX
Das Aktivieren der SES geschiet durch halten der Taste ‘Wählen’
<50 04 B0> 3B 80 5F
Hinweis: bei MFL ab Mj.1999 wir die SES automatisch erkannt und der oben genannte Code beim Halten der Hörertaste abgegeben. Die älteren MFL können dies nicht! Somit kann mit diesen die SES nicht direkt aktiviert werden.
Visualisierung von Nachrichten in der Instrumentenkombination
Die Textzeile der Instrumentenkombination kann über den I-Bus beschrieben werden. Eventuell bereits angezeigte Nachrichten, vom Bordcomputer zum Beispiel, werden dabei ausgeblendet. Die Anzeige erfolgt nach Übertragung der Nachricht für ca. 10s. Nach dieser Zeit wechselt die Anzeige wieder zu dem vorher angezeigten Text oder schaltet sich aus wenn dies der vorherige Zustand der Anzeige war.
Abbildung 1.8: Das Bild zeigt die Instrumentenkombination. Es wird der Name des aktuell abgespielten Interpreten in der Textzeile angezeigt.
Beschreiben der Textzeile in der Instrumentenkombination: ADRESSE 80 HEX
Format der Nachricht:
<68 17 80> 23 62 30 <Option> <Text in ASCII Hex> <XOR>
Hinweis: Es müssen immer alle Zeichen die in der Textzeile darstellbar sindgesendet werden da ansonsten die “alten” Zeichen nicht überschrieben werden. Somit ist die Nachrichtenlänge immer “17H”.
Die Nachricht kann mit folgenden Optionen angezeigt werden:
35 00 normale Anzeige
37 01 Text zwischen zwei roten Feilen anzeigen
37 03 Texte zwischen zwei roten, blinkenden Feilen anzeigen
37 04 Gong und Text zwischen zwei roten, blinkenden Feilen anzeigen
37 05 Gong und Text anzeigen
37 08 Gong I (ohne Anzeige einer Nachricht)
37 10 Gong II (ohne Anzeige einer Nachricht)
Visualisierung von Nachrichten im Bordmonitor
Die Bildausgabe des Navigationsrechners erfolgt auf dem TFT-Display des Bordmonitors. Die vom Navigationsrechner generierten Bildinformationen können nicht oder nur mit hohen Aufwand verändert werden. Es ist zwar grundsätzlich möglich andere Videosignale auf dem Bordmonitor anzuzeigen indem die Videosignale auf eine externe Quelle umgeschaltet werden. Allerdings ist hier entweder ein Videoumschalter notwendig oder das Videosignal müsste über den Eingang der Rückfahrkamera in das Videomodul eingespeist werden. Letzteres hätte eine schlechte Bildqualität zur Folge da der Kameraeingang nur kompatibel zu FBAS Videosignalen nach dem NTSC Videostandard ist. Des Weiteren wäre die Generierung eines entsprechenden Videosignals mit einem unverhältnismäßig hohen Aufwand verbunden.
Das Projekt wählt denselben Weg den das Radio zur Anzeige von Informationen verwendet. Im „Radio Anzeigemodus“ des Navigationssystems können einzelne Bereiche des angezeigten Bildes über den I-Bus vom Radio beschrieben werden. Im für das Projekt verwendeten Fahrzeug ist ein Navigationsrechner der 4. Generation (MK4) verbaut. Dieser bietet den sogenannten „Split-Screen“ Modus. In diesem Anzeigemodus werden auf der rechten Bildschirmseite Navigationsdaten dargestellt. Auf der linken Bildschirmseite können entweder die Straßenkarte, Bordcomputerdaten oder die Radioanzeige dargestellt werden. Die Anzeige des Telefonmenüs und der Einstellungen werden grundsätzlich im Vollbildmodus dargestellt. Es ist auch möglich alles im Vollbildmodus darzustellen wenn eine entsprechende Einstellung vorgenommen wird. Die Anzeige des MP3-Players ist allerdings für den „Split-Screen“ Modus optimiert da dieser eine bessere Darstellung bietet da die beschreibbaren Felder untereinander liegen.
Abbildung 1.9: Gegenüberstellung „Splitt-Screen“ Modus (links) und Vollbildanzeige (rechts)
Auf den Bildern ist die Radioanzeige im CD-Wechsler Modus zu sehen. Alle über den Bus beschreibbaren Felder sind mit Texten beschrieben. Es ist zu beachten, dass sich die Anordnung der Felder in beiden Anzeigemodi unterscheidet.
Die Inhalte der Felder bleiben bestehen solange sie überschrieben werden oder der Modus (hier CD-Wechsler Modus) verlassen wird. Dies gilt für jedes Zeichen eines Textfeldes. Wenn zum Beispiel der aktuelle Wert 8 Zeichen hat während der neu anzuzeigende Wert aus 5 Zeichen besteht ist die Differenz mit Leerzeichen aufzufüllen. Die Anzahl der darstellbaren Zeichen ist je nach Feld unterschiedlich. Dieses Verhalten kann dazu genutzt werden eigene Texte in die Felder zu schreiben.
Die Möglichkeit die sich aus diesem Verhalten bietet ist die Felder, nachdem das Radio Nachrichten zum Navigationsrechner gesendet und somit die Textfelder beschrieben hat, mit Daten des MP3-Players überschrieben. Somit können eigene Daten auf dem Bordmonitor ausgegeben werden.
Die Nachrichten an den Navigationsrechner werden vom Radio mit der Adresse 68 Hex gesendet. Der beschreibbare Teil (links im „Split-Screen“) ist ein Titel- und Indexbereich in jeweils 6 Textfeldern unterteilt.
Abbildung 1.10: Beschreibbare Textfelder im Radioanzeigemodus des Bordmonitors
Beschreiben der Textfelder Navigationssystems im Radio bzw. CD-Wechsler Modus: ADRESSE 3B HEX
Format der Nachricht für Titelfeld 0
<68 Länge 3B> 23 62 30 <Text in ASCII Hex> <XOR>
Format der Nachricht für Titelfelder T-1 bis T-6
<68 Länge 3B> A5 62 01 <Index des Textfeldes> <Text in ASCII Hex> <XOR>
Index ist 01 bis 06 für die Titelfelder 1 bis 6
Format der Nachricht für Indexfelder I-0 bis I-5 (MK2 Navigationssystem)
<68 Länge 3B> A5 62 00 <Index des Textfeldes> <Text in ASCII Hex> <XOR>
Format der Nachricht für Indexfelder I-0 bis I-5 (MK3 und MK4 Navigationssystem mit Splitscreensoftware)
<68 Länge 3B> 21 60 00 <Index des Textfeldes> <Text in ASCII Hex> <XOR>
Feld | Index | Feld | Index |
0 | 40 | 5 | 45 |
1 | 41 | 6 | 46 |
2 | 42 | 7 | 47/07 |
(3) | (43) | (8) | (48) |
(4) | (44) | (9) | (49) |
Werte In Klammern sind nur im Vollbildmodus relevant
Zum Auffrischen der Indexfelder muss folgende Nachricht gesendet werden:
<68 06 3B> A5 60 01 00 91
Im Beschriebenen Modus (Radio à CD-Wechsler) können über das Anwählen der Indexfelder mit dem Drehknopf des Bordmonitors eine entsprechende Rückmeldung ausgegeben werden. Diese Rückmeldung wird an die Adresse des Radios gesendet. Da mit originalem CD-Wechsler in den Indexfeldern die 6 CDs als Menü dargestellt werden ist es mit der oben genannten Funktion möglich diese über den Drehknopf auszuwählen. Diese Funktionalität kann für eine Steuerung über ein dynamisches Menü verwendet werden. Allerdings wurde in diesem Projekt auf diese Funktion verzichtet. Der Hauptgrund dafür ist der begrenzte Platz im Programmspeicher des verwendeten Mikrocontrollers. (à siehe Kapitel 4.2.3)
Format der Nachricht (Rückmeldung bei Anwahl der Indexfelder)
<3B 06 68> 23 62 30 <Index des Textfeldes> <XOR>
Index | Druck | Druck aus | Index | Druck | Druck aus |
0 | 00 | 40 | 5 | 05 | 45 |
1 | 01 (CD 1) | 41 | 6 | 06 (CD 4) | 46 |
2 | 02 (CD 2) | 42 | 7 | 07 (CD 5) | 47 |
3 | 03 (CD 3) | 43 | 8 | 08 (CD 6) | 48 |
4 | 04 | 44 | 9 | 09 | 49 |
Bei Anwahl der Indexfelder 1-6 fordert das Radio als Reaktion mit einer Nachricht an die Adresse des CD-Wechslers einen CD-Wechsel. Diese Anfrage muss entsprechend beantwortet werden.
Kommunikation mit dem CD-Wechsler
Der CD-Wechsler kommuniziert hauptsächlich mit dem Radio. Nach Aktivierung des I-Busses, dies geschieht beim Öffnen des Fahrzeugs, beginnt der CD-Wechsler sich mit einer Anmeldenachricht dem System bekannt zu machen. Allein durch diese Nachricht wird der CD-Wechsler Modus im Radio allerdings nicht aktiviert. Dies geschieht nur wenn der CD-Wechsler auf die folgende Anfrage des Radios unverzüglich antwortet. Das Radio wiederholt diese Anfrage in einem Zyklus von ca. 10 Sekunden. Es müssen mindestens zwei Drittel dieser Anfragen beantwortet werden, wenn dies nicht erfolgt wird der CD-Wechsler Modus wieder deaktiviert. Bei einem Eindrahtbus wie dem I-Bus kann es, wenn ein anderes Steuergerät auf dem Bus Daten sendet, zu Verzögerungen kommen die eigene Nachricht abzusetzen. Außerdem ist nicht immer ausgeschlossen das Nachrichten fehlerhaft übermittelt werden. Die Antworten auf die Anfragen vom Radio müssen in der späteren Emulation aus den genannten Gründen zuverlässig beantwortet werden.
Nachrichten vom CD-Wechsler: ADRESSE 18 HEX
Format der Anmeldenachricht: ADRESSE FF HEX
<18 04 FF> 02 01 E0
Format der Antwort auf die Radioanfrage: ADRESSE FF HEX
<18 04 FF> 02 00 E1
Nachrichten zum Radio: ADRESSE 68 HEX
<18 0A 68> 39 00 02 00 3F 00 dd tt <XOR> CD und Titel Status wenn CD-Wechsler nicht abspielt
<18 0A 68> 39 00 09 00 3F 00 dd tt <XOR> CD und Titel Status wenn CD-Wechsler abspielt
<18 0A 68> 39 02 09 00 3F 00 dd tt <XOR> Starte abspielen des Titels
<18 0A 68> 39 03 09 00 3F 00 dd tt <XOR> CD Status Scan vorwärts
<18 0A 68> 39 04 09 00 3F 00 dd tt <XOR> CD Status Scan rückwärts
<18 0A 68> 39 07 09 00 3F 00 dd tt <XOR> Titelende
<18 0A 68> 39 08 09 00 3F 00 dd tt <XOR> CD Wechsel
– dd ist die CD-Nummer (zwischen 01 und 06).
– tt ist die Titelnummer
Z4 / X3 Monitorsteuerung
Nachrichten zum Monitor: Adresse BF Hex
System aufwecken
<80 04 BF> 11 01 2B
TFT einschalten / Monitor ausfahren<3B 06 F0> 4F 11 11 81 03
Lebenszeichen (muß alle 8-10 Sekunden an den Monitor gesendet werden)<3B 04 46> 01 00 78
Steuerung des 16:9 Widescreen Bordmonitor
Nachrichten zur Änderung des Anzeigemodus im Bordmonitor: Adresse F0 Hex (Sender ED Hex)<ED 05 F0> 4F 11 <Option> <XOR>Optionen31 Setze 16:9/Zoom 60Hz (Navianzeige)
32 Setze 16:9/Zoom 50Hz (TV Mode)11 Setze 16:9 60Hz (Navianzeige)
12 Setze 16:9 50Hz (TV Mode)01 Setze 4:3 60Hz (Navianzeige)
02 Setze 4:3 50Hz (TV Mode)
Ansteuerung der Karosserieelektronik
Nachrichten zu den Steuergeräten für die Baureihe E39: Adresse 00 Hex (Sender 3F Hex / DIS)
<3F 05 00> 0C 00 44 <XOR> Fenster Fahrerseite hinten schließen
<3F 05 00> 0C 00 45 <XOR> Fenster Fahrerseite hinten öffnen
<3F 05 00> 0C 00 46 <XOR> Fenster Beifahrerseite hinten schließen
<3F 05 00> 0C 00 47 <XOR> Fenster Beifahrerseite hinten öffnen
<3F 05 00> 0C 00 65 <XOR> alle Fenster öffnen
<3F 05 00> 0C 00 66 <XOR> Schiebedach öffnen
<3F 05 00> 0C 00 0B <XOR> Zentralverriegelung öffen/schließen
<3F 05 00> 0C 00 40 <XOR> Kofferraum öffnen
<3F 05 00> 0C 00 00 <XOR> Fahrersitz nach vorne verschieben
<3F 05 00> 0C 00 01 <XOR> Fahrersitz nach hinten verschieben
<3F 06 00> 0C 01 31 01 <XOR> Spiegel Fahrerseite einklappen
<3F 06 00> 0C 01 30 01 <XOR> Spiegel Fahrerseite ausklappen
<3F 06 00> 0C 02 31 01 <XOR> Spiegel Beifahrerseite einklappen
<3F 06 00> 0C 02 30 01 <XOR> Spiegel Beifahrerseite ausklappen
Neueste Kommentare