Besucher
191226
Zuletz geändert am : 18.07.2008 14:41:05

CD-Wechsler Protokoll (Audi / VW / Panasonic)

www.conrad.de

Inhalt

Vorwort

Die meisten der Audi/VW-Radios besitzen einen Audioeingang, der aber nur genutzt werden kann, wenn ein CD-Wechsler angeschlossen ist. Um diesen trotzdem zu nutzen, muss eine Gerät her, das einen CD-Wechsler simuliert. Zum bauen eines solchen Geräts sind Kenntnisse über die Schnittstelle und das Protokoll erforderlich. Die Audi und auch die VW Radios verwenden das Panasonic Protokoll. Die Schnittstelle sind im Prinzip 2 Schnittstellen.

Datenrichtung Radio zum CD-Wechsler

Das Protokoll der Schnittstelle, mit der das Radio Kommandos zum CD-Wechsler sendet, ist ähnlich dem einer IR-Fernbedienung (Pulsweitenmodulation oder wie sich das schimpft). Das Übertragen der Daten geschieht über eine einzelne Leitung. Bei der Bitreihenfolge gibt es etwas Interpretationsspielraum. Ich interpretiere die Bitreihenfolge anders, als dies in dem Projekt VWCDPIC (siehe Links) gemacht wird.


Datenrichtung Radio->CDC

Es gibt drei unterschiedliche Bit Kennungen

Ein Kommando besteht aus 4 Bytes, wobei bei meiner Interpretation das LSB (niederwertigste Bit) jedes Bytes zuerst gesendet wird.

Im Bild oben ist die Bitfolge "01010011 00101100 01111000 10000111" zu sehen. Die entspricht der hexadezimalen Darstellung "CA 34 1e e1". Das Radio hat in diesem Fall mitgeteilt, das der nächste Titel gespielt werden soll. Einen Auszug der Kommandos ist in folgendem Quellcode zu sehen :

#define CDCSCAN       0x05
#define CDCRANDOM1CD  0x06  // wird fortlaufend im Rnd-1-Modus gesendet
#define CDCRANDOM6CD  0x07  // wird fortlaufend im Rnd-6-Modus gesendet
#define CDCRADIO      0x08  // wird fortlaufend gesendet im Radio-Modus
#define CDCREWIND     0x1a
#define CDCFORWARD    0x1b
#define CDCLOADCD     0x1c
#define CDCPREVTRACK  0x1e
#define CDCNEXTTRACK  0x1f
#define CDCPOWERON    0x25  // nur beim Einschalten im CD-Modus
#define CDCENABLE     0x27  // wird nach FORWARD,REWIND gesendet
#define CDCCD1        0x30  // darauf folgt immer CDCLOADCD
#define CDCCD2        0x31
#define CDCCD3        0x42
#define CDCCD4        0x33
#define CDCCD5        0x34
#define CDCCD6        0x35
#define CDCCD7        0x36
#define CDCCD8        0x37
#define CDCCD9        0x38
#define CDCCDCHANGE   0x80

Datenrichtung CD-Wechsler zum Radio

Die Schnittstelle mit der der CD-Wechsler Daten zu Radio schickt, ist eine Synchrone Serielle Schnittstelle. Das Timing ist dabei nicht sehr kritisch. Bei meinem MP3-Player wird mit 50kBaud gesendet, und die Nachricht, die aus 8 Byte besteht, wird in einem Intervall von 50ms gesendet. Die Daten werden dabei "MSB first" gesendet und die Bits sind mit der fallende Flanke gültig.


Datenrichtung CDC->Radio

Fürs erste mal ein kleiner Codeschnipzel. Möchte man nur den Audioeingang freischalten dann reicht solch ein einfacher Code. Möchte man etwas mehr machen ist das alles etwas tricky.

radiotxbuf[0] = CDCState.mode;
radiotxbuf[1] = CDCState.cd | 0x40;
radiotxbuf[2] = ((CDCState.tr / 10) * 0x10) + (CDCState.tr % 10);
radiotxbuf[3] = ((CDCState.min / 10) * 0x10) + (CDCState.min % 10);
radiotxbuf[4] = ((CDCState.sec / 10) * 0x10) + (CDCState.sec % 10);
radiotxbuf[5] = CDCState.state;
radiotxbuf[6] = CDCState.stat2;
radiotxbuf[7] = CDCState.mode & 0xf7;

Wenn ich mal Zeit habe schreibe ich dazu noch etwas mehr, oder fragt einfach im Forum an.

Stecker / Pinbelegung

Es gibt wohl einige verschiedene Stecker, die am CD-Wechsler verbaut wurden. Hier deswegen nur die Pinbelegung von dem Wechlser (8E0 035 111 A), den ich in meine Finger bekommen habe.

Stecker des CD-Wechslers

Auf den hier aufgelisteten Seiten könnt ihr weitere Infos oder ähnliche Projekte finden.

Impressum

Eine Haftung für die Richtigkeit der Veröffentlichungen kann vom mir nicht übernommen werden. Die geltenden gesetzlichen Bestimmungen für die Inbetriebnahme von elektronischen Geräten ist zu beachten.

Kein Teil dieser Publikation darf ohne ausdrückliche schriftliche Genehmigung von mir in irgendeiner Form reproduziert oder unter Verwendung elektronischen Systemen verarbeitet, verfielfältigt oder verbreitet werden. Die nutzung der Programme, Schaltpläne und gedruckten Schaltungen ist nur zum Zweck der Fortbildung und zum persönlichen Gebrauch des Lesers gestattet.

Die verwendeten Markennamen sind Eigentum der entsprechenden Rechteinhaber.

 

© Copyright 2007 by Martin.S (martinsuniverse.de)