Hallo zusammen, nach viel Schafferei und einigen kleinen Problemchen habe ich jetzt einen lauffähigen Stand erreicht. Mein iPod-Interface ist bereits seit einigen Wochen in meinem Wagen montiert und arbeitet seither einwandfrei. Noch mal kurz zusammenfassend: Ich suchte eine Lösung für einen "iPod Nano 4. Generation" in Verbindung mit einem Autoradio "Audi concert 1" (1. Generation). Der iPod soll dabei natürlich über das Radio bedienbar sein. Über den CD-Wechsler-Anschluss verbunden, sollte er auch die entsprechenden Informationen an das Radio zurückgeben, um diese auf dem Display anzuzeigen. Audi bietet dazu grundsätzlich nur eine Lösung für Radios ab Generation 2 an. Diese lädt jedoch den iPod Gen. 4 NICHT. Bei anderen Herstellern gibt es u. U. auch keine Ladefunktion, bzw. wird ebenfalls gar nicht erst angeboten. Daher blieb am Ende nur der Eigenbau und der Lerneffekt ist dabei doch sowieso der größte... Zunächst benötigte ich den iPod-Dock-Connector und dessen Pinbelegung. Infos dazu hab ich hier gefunden: http://pinouts.ru/PortableDevices/ipod_pinout.shtml Die Buchsen gibt es z. B. bei RS: http://www.rsonline.de Die Serie lautet: Serie JAE DD1. Die Artikel-Nummer für die von mir verwendete, gewinkelte Platinenbuchse lautet: 437-089 (Hinweis: Das Bild im Online-Katalog ist falsch). Hierbei müssen an 2 Stellen mit dem Dremel noch die vorhandenen Kerben aufgeweitet werden (einfach zu erledigen), dann passt es aber perfekt. Dann ging es um die Ladefunktion. Hier half mir zunächst folgende Quelle: Beitrag "ipod laden ohne pc" Habe aber zum Schluss einen von mir gekauften USB-iPod-Ladeadapter vermessen. Dieser war bei meinem iPod-Ladegerät (Fremdhersteller) dabei und besteht lediglich aus einer in einem Gehäuse verbauten USB-Buchse und USB-Stecker. Innen sind wohl dann die entsprechenden Widerstände verschaltet. Meine Schaltung beinhaltet diesen Widerstands-Spannungsteiler für die Signale D+ und D-, sodass der iPod zum Laden „motiviert“ wird. Nach dem Aufbau eines „freiluftverdrahteten“ Musters machte ich mich an die Programmierung des AIR-Mode. Die Steuerung des iPod wurde zu diesem Zeitpunkt ausschließlich per PC über die zweite serielle Schnittstelle des Controllers durchgeführt. Quellen: Beitrag "IPOD and AVR anschließen" (... aber bitte OHNE Pegelwandler!!!) http://stud3.tuwien.ac.at/~e0026607/ipod_remote/ip... http://www.adriangame.co.uk/ipod-acc-pro.html Nun wurde das Protokoll des CD-Wechslers programmiert um dem Radio einen Wechsler vorzutäuschen und Infos auf das Display zu bekommen. Zuletzt die Auswertung der vom Radio gesendeten Signale beim Tastendruck. Quellen: Beitrag "CD Wechsler Protokoll" http://www.mictronics.de/?page=cdc_proto http://www.lafrog.com/cdcemu/ Gruß Klaus
Gast
#1183034
Hallo Klaus, ist es möglich das der Liedtitel usw.. auf dem Radio bzw FIS angezeigt wird ? Gruß Christoph
Gast
#1183074
Hallo Christoph, mein Projekt ist zwar nicht für den iPod ausgelegt aber kann die Titel im FIS anzeigen http://martinsuniverse.de/projekte/audiohplayer/audiohplayer.html Man könnte meinen Player aber noch um die iPod Schnittstelle erweitern. ciao Martin
Gast
#1183451
Danke für die Info, muss mal schauen ob mein Radio über den CAN Bus läuft, glaub aber nicht. Beim Concert1 läuft das ganze noch über den Drei-Leiter-Bus
Gast
#1183586
Hallo! Concert 1 hat noch keinen CAN. Das geht über eine Serielle Schnittstelle. Die sollte einfach zu programmieren sein, sodaß die Titelnamen angezeigt werden können. Gruß.
Gast
#1183954
Hast du auch zufällig mehr Infos wie die Kommunikation zwischen dem Concert1 und dem fis abläuft? Kann ich das ganze irgendwie mitloggen ?
Hi! Mehr Infos habe ich leider auch nicht. Pinbelegung steht ja auf dem Radio. Mitloggen sollte gehen mit einem Controller der SPI hat. Du musst nur zunächst mal die richtigen Taktraten einstellen, die Du mit einem Oscar messen kannst. So würde ich jedenfalls vorgehen. Leider hat mein Wagen kein FIS sonst hätte ich das auch schon längst gemacht. Schließlich habe ich die Titelnamen, Interpret und Albumnamen bereits als String in meinem Controller der iPod-Steuerung. Somit läge es nahe diese im FIS anzuzeigen. Ach ja, da ich glaube dass ein Tausch des Kombiinstrumentes nur schwer möglich ist (oder gar nicht), suche ich dazu ein LCD in dem Rot der Audi-Armaturen. Hatte schon an das des Radios gedacht, aber dazu habe ich leider keine Infos. Außerdem ist es zu breit und ich wollte es in eines der "Leerfelder" setzen (wo sonst die Regler der Sitzheizung sind). Also falls jemand eine Idee dazu hat... Danke und schöne Grüße, Klaus.
Gast
#1184093
Versuch mich auch grad an einer IPOD-Steuerung über die serielle. Gibt es irgendwo C-Source zur Kommunikation im AIR-Mode ? Danke Michael
Also mein Code ist leider sehr kompliziert geworden, da ich mehrere Zustandsmaschinen ineinander verschachtelt habe. Nur so konnte ich allerdings sicherstellen, dass die gesamte iPod-Kommunikation über einen Timer-Interrupt läuft und vom "main" vollständig zeitlich entkoppelt ist. Grundsätzlich habe ich mich aber an die o. g. Quellen gehalten. Aufgeblähr wurde das ganze erst, als ich mehr und mehr Befehle implementiert habe, die jederzeit über eine Message-Queue aufgerufen werden können. So kann ich in den Routinen, die die Kommandos vom Radio auswerten ganz einfach den iPod-Routinen posten, was sie als nächstet (d. h. wenn alle vorigen Befehle der Queue abgearbeitet sind) tun soll. Ich poste aber wenigstens mal meine Low-Levels, um Euch ein bisschen Arbeit zu ersparen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
168 | |
169 | |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |
214 | |
215 | |
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 | |
226 | |
227 | |
228 | |
229 | |
230 | |
231 | |
232 | |
233 | |
234 | |
235 | |
236 | |
237 | |
238 | |
239 | |
240 | |
241 | |
242 | |
243 | |
244 | |
245 | |
246 | |
247 | |
248 | |
249 | |
250 | |
251 | |
252 | |
253 | |
254 | |
255 | |
256 | |
257 | |
258 | |
259 | |
260 | |
261 | |
262 | |
263 | |
264 | |
265 | |
266 | |
267 | |
268 | |
269 | |
270 | |
271 | |
272 | |
273 | |
274 | |
275 | |
Diese "Ablaufsteuerung" ist eine der ZM's. Sie geht natürlich noch weiter, aber hier kann man schön das Schema ablesen. Ich beginne mit dem Zustand nach dem Einschalten, Schalte dann in Mode 4, mach eine Pause und weiter geht's dann mit dem Namen des iPod, mit der Anzahl der einzelnen Items (Anz Playlisten, anz Alben, anz...), u.s.w. Hier noch die zugehörige Struktur:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
Hoffe ich konnte ein wenig weiterhelfen. Aber ein bißchen Arbeit müsst Ihr Euch auch noch machen :-) Außerdem lern man viel dabei. Gruß Klaus.
Gast
#1186086
Könntest du nicht so lange Code-Stücken als Anhang anhängen!? 3-Leiter sollte einfacher als CAN sein. Informationen habe ich aber auch nicht dazu. Rote LCDs: Dann schau mal bei den DOG-M, da kann man sich die Beleuchtung aussuchen.
Hallo Also dann werde ich euch auch mal in diesem Thread auf die Nerven gehen. ;) Kennt hier jemand zufällig das CDC Protokoll des Audi Radios Concert 2+ (DoppelDIN)? Manchmal auch fälschlich als Concert 3 bezeichnet. Ist das evtl. auch das Panasonic Protokoll oder, da dieses Gerät imho von Blaupunkt ist, evtl. ein Blapunkt Protokoll? Und da dieses Gerät am CDC Stecker zwei Audio eingänge besitzt (AUX und CDC IN) suche ich eine Möglichkeit beide verwenden zu können. Könnte ja sein das man wie bei einem CD Simulator noch zusätzlich ein AUX In simulieren muss. Kenn sich da jemand aus und kann mir weiterhelfen? Gruß Hansi
Gast
#1238441
Hallo Leute, ich bin grad dabei bzw. fast fertig mit einem Interface für nen Opel Vectra C. An sich funktioniert schon einiges. - Ich kann Titel vor und Zurück springen. Spulen geht auch. - IPOD wird automatisch erkannt, eingeschaltet und das Abspielen beginnt. - Die Titelnamen werden auf dem CID als Laufschrift angezeigt. Die Anstueurung hab ich im Advanced Remote Mode realisiert (Mode 4). Ich möchte jetzt noch Alben vor und zurück springen können. Mir ist nur noch nicht ganz klar wie ich dass realisieren soll. Hat jemand dass ev. schon gemacht und kann mir nen Leitfaden geben? Danke und Gruss, Georg.
Gast
#1239127
Hallo Leute, ich bins noch mal. Mir gehts nicht um irgend einen fertigen Code, sondern um die Funktionsweise wie ich an die richtigen Daten komme und aus denen dann zum nächsten oder vorherrigen Album springen kann. Das Protokoll ist mir bekannt. Aber irgendwie werd ich nicht schlau draus. Wenn jemand dass schon mal gemacht hat und ev. sogar nen RS232 Trace hat das wäre sehr hilfreich. Gruss, Georg.
Gast
#1239751
Morgen, ich hab jetzt gestern ein wenig probiert. Es gibt ja die möglichkeit an bestimmte stellen des Menüs zu sprigen. Mich würde es interessieren ob es eine Möglichkeit gibt raus zu finden an welcher Stelle man gerade ist. Man kann zwar die Position in der Playlist auslesen aber hier bekomme ich immer die Titelnummer innerhalb eines Albums und nicht die Position im Menübaum. Z.B. Type 3 => Album und nummer 4 => Album nr 4 Weiss da einer nen Rat? Gruss, Georg.
Hallo! Mal in absoluter Kurzform, da ich im Moment wenig Zeit habe: - Grundsätzlich habe ich mein Programm so gestaltet, dass ich in einer Variablen immer die momentan gewählten Abspiel-Art (also Playlist, Album, ...), in einer weiteren die Item-Nummer (also Playlist-Nr, Album-Nr, ... ) und in einer dritten die Titel-Nr. mitführe. - Ändere ich eine dieser Vars (von Außen z.B. über Monitor-Programm, oder über Radio-Tastendruck) dann wird diese Ereignis erkannt und in der richtige Befehl (s. u.) ausgewählt. - Meine SW fragt (bis auf die Titel-Nr und eine Ausnahme (wenn das Item zu ende läuft)) nicht ab, wo gerade gespielt wird, da ich das ja aus meinen Vars lesen kann (-> Datenfluss nur in eine Richtung, von µC -> iPod). - Den Wechsel zwischen den Abspiel-Arten (also Wechsel von Playlist auf Album, oder Album auf Interpret, ...) habe ich folgendermaßen realisiert: 1.) Wechsel innerhalb des selben Abspiel-Typs: Befehl 1 2.) Wechsel von Playlist -> anderes Item (Album, ...): Zunächt auf Playlist 0 wechseln (mit Befehl 1 / um Zugriff auf ALLE Titel zu haben), dann Befehl 2 um von Abspielart Playlist auf andere Abspielart zu wechseln 3.) Wechsel von Anderer Art -> Playlist: Wieder über Befehl 1 Die Befehle schaue ich später noch nach! Gruß Klaus
Gast
#1242776
Hallo Klaus, ich hab jetzt gestern auch noch ein wenig rumprobiert. Hab es hinbekommen dass ich Album vor und zurück springen kann. Allerdings muss ich mir merken wo ich beim letzten Abspielen war sonst fang ich ja immer beim ersten Album an. Da ich auch Titelname auf meinem Display im Auto anzeige frag ich beim iPOD jede sec nach der aktuellen Position nach. Wenn sich diese ändert wird der Titelname gelesen. Wäre schön wenn du noch die Befehle raussuchen könntest. Dann könnte ich meine FW etwas erweitern bzw. verbessern. Gruss und Danke, Georg.
Hallo! Wenn ich bei meiner Steuerung ein neues Album anwähle, also global gesagt: Item+ oder Item- anwähle, dann fange ich auch immer bei Track 1 an. Ist es das was Du meintest? Aber man kann sich ja sicherlich auch die Pos im jeweiligen Item merken und dort wieder hinsprigen. Ich fand das nur doof, wenn ich den iPod rausgenommen habe und evtl ein neues Album zugefügt habe, dann springt er immer irgendwo hin, weil die SW ja nicht weiß wo genau das neue Album in der Album-List dazugekommen ist. Aber auch da kann man sicherlich viel, viel Programmieren. Ich habe allerdigs nur 16kWord ROM zur Verfügung, daher bin ich so zufrieden. Befehle kommen noch... Sorry für die Verzögerung. Gruß Klaus
Gast
#1249570
hi, ja genau dass mein ich. Mir persönlich ist es lieber wenn beim Einstecken das Album wieder abgespielt wird was zuletzt gespiel wurde. Ist klar dass wenn man sich nur die Position merkt dass bei neu eingefügten Alben sich alles verschiebt. Beim ersten anfangen find ich nicht so gut. Ich hab z.B. im Moment 41 Alben drauf. Wenn ich beim 25 war will ich nicht das nächste mal wieder 25 Alben vor springen zu müssen. 16kWorte sind schon mal mehr als ich anfangs hatte. Bin jetzt von Atmega 16 auf Atmega644 gegangen. Jetzt hab ich auch genug Platz für den ganzen SchnickSchnack. Ich muss jetzt nur noch das Störgeräusch aus der Audioleitung raus bekommen. Ich glaub der iPOD mag es nicht wenn die FireWire und die RS232 Masse zusammenhängen. Danke und Gruss, Georg.
Hallo Schorsch! Glaube wir haben ein bißchen aneinander vorbei geredet! Fasse noch einmal meine Funktionen zusammen: - Wenn ich mein Autoradio ausschalter, dann geht der iPod lediglich auf Pause - Schalte ich wieder an, dann wird einfach weitergespielt, d. h. sogar exakt an der selben Stelle (natürlich im selben Titel des selben Albums (besser Items)) - Nehme ich den iPod raus (egal ob bei ein- oder ausgeschaltetem Radio) initialisiere ich neu. D. h. auf Mode 4 schalten, Abspielen pauschal stoppen, Ipod-Namen lesen, Anzahl ALLER Items einlesen (Anz Playlisten, Anz Artits, Anz Alben, ...), Auf Playlist 0 schalten, Auf zuletzt gespieltes Item schalten Dabei wird also auf jeden Fall der zuletzt gespielte Item-Typ und die letzte Item-Nummer angewählt. Ledglich die Track Nummer wird immer auf 1 gesetzt, da ich mir diese nicht merke. Sonst muss ich ja einen Vektor erstellen, der für jedes Item sich die zuletzt gespielte Track-Nummer merkt. Wäre zwar möglich, aber ich denke das mich das verwirrt, denn man ist ja gewohnt immer den ersten Titel zu hören, wenn man z. B. am CD-Wechsler einen neue CD wählt! Also, wie gesagt, ich fange auch nicht immer wieder bei Album 1 an! Zu dem Wechsel der Abspiel-Art (Item-Typ) von Oben: Fall 1) Playlist wird gespielt. Neue Playlist wird angewählt. Das Kommando HABL_COMMAND_SWITCH_TO_PLAYLIST wird ausgeführt.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Danach Execute:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Fall 2) Playlist wird abgespielt. Item <> Playlist wird gewählt (also Artist, Album, ...) Das Kommando HABL_COMMAND_SWITCH_TO_PLAYLIST_0_TO_ITEM wird ausgeführt.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Danach den o. g. HABL_COMMAND_SWITCH_TO_PLAYLIST ausführen, um auf das Item zu springen. Nur so sind in den anderen Abspiel-Modi (<> Playlist) überhaupt alle Titel und Items verfügbar. Zumindest habe ich das so erfahren. Wenn man NICHT zuvor auf Pl 0 springt, dann sind lediglich die Titel und Items verfügbar, die in der momentan gespielten Playlist vorhanden sind. Also eine Art "verundeter Filter". Der Vollständigkeit halber hier noch meine Defines:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
Hoffe das hilft weiter. Gruß Klaus.
Gast
#1257646
Wie kann ich denn herausfinden, in welcher Playlist der IPod steht, wenn er angeschlossen wird? Ich kenne Befehle für "current pos in Playlist", aber nicht, welches die "current playlist" ist...
Das weiß ich auch nicht. Daher initialisiere ich ihn ja auch immer nach jedem "Anschließen". Dann springe ich einfach zu DER Playlist (oder DEM Album, oder dem ...) und dem Titel, welchen ich zuletzt gespielt habe.
Gast
#1259595
Hallo Leute, Klaus dank dir für die CodeSchnipsel und die Erklärung. Jetzt sind wir glaub ich auf dem gleichen Level. Ich machs jetzt ähnlich nur dass ich mir nur die Titelnummer und Albumposition merke. Hab im Moment noch Probleme mit dem EEPROM beim ATMEGA644. Das Lesen geht nicht immer. Die aktuelle Position des Albums findet man irgendwie nicht raus. Ich habe auch keinen Weg gefunden. Deswegen merk ich es mir auch wo ich zuletzt war und springe beim nächsten einschalten an die zu letzt bekannte Position. Gruss und Danke, Georg.
Hallo Georg, bis zum EEprom bin ich gar nicht mehr gekommen. Begründung: Zunächst wollte ich auch immer die Versorgung der CPU abschalten, weil ich "Angst" um meine Autobatterie hatte. Das hat nur leider einen entscheidenden Nachteil: Wenn man den iPod im ausgeschalteten Zustand herausnimmt, dann "merkt" der Controller ja nix davon. Steckt man ihn nun wieder herein (nachdem man z. B. mit iTunes neue Titel aufespielt hat), so bekommt die CPU das ebenfalls nicht mit. Beim Wiedereinschalten versucht er also einfach vom Pause- in den Play-Zustand zu wechseln, bzw. erkennt gar nicht die Anzahl der Items korrekt, was beim o.g. Bedienkonzept zu Problemen führen kann. Also habe ich mich mit dem Thema Energiespar-Modi befaßt. Da meine Schaltung nur ein paar Zehn Milliamps zieht war mir auch das den Aufwand nicht wert, denn dann muss man mit HW-Interupts bei "iPod-Bewegung" aus dem Sleep-Mode aufwachen und entsprechend reagieren. Jetzt bleibt's eben an und das dürfte (bei normalem KFZ-Betrieb) der Batterie nix ausmachen. Gruß Klaus.
Gast
#1260492
@Schorsch etwas OT, aber welches Radio im Vectra C sprichst du an? zufällig ein NCDC2013? thx
Nach all den Antworten habe ich jetzt aber auch mal eine Frage an Euch :-) Wie kann ich denn die Videos, die auf dem iPod abgelegt sind, ansprechen? Habe z.B. einige Muskivideos geladen, die ich im Auto hören möchte. Zudem passiert manchmal etwas Seltsames: Habe ich z. B. mit dem iPod im Zug ein Video geschaut und stecke ihn dann zurück ins Auto, so findet er plötzlich nur noch ein oder zwei Videos; alle Audio-Items sind nicht mehr ansprechbar. Da hilft auch nicht meine oben beschriebene Initialisierung. Muss den iPod dann entnehmen, "per Hand" irgendeine Playlist wählen, und wieder reinstecken. Er macht dann einen neuen Init und es läuft ganz normal. Was kann das sein? Was mache ich falsch bei der Initialisierung? Gibt es Zugriff auf die Videos? Danke für Eure Antworten. Gruß Klaus.
Hallo zusammen, tut mir Leid, dass ich noch eine Frage dazwischenschiebe :) Ich will meinen iPod ebenfalls an das Autoradio über den Wechslereingang anschließen. Ich habe dazu den Anschluss mit 13-poligem DIN Stecker im Kofferraum. Jetzt frage ich mich, ob ich das Signal verstärken soll, um möglichst eine gute SNR am Autoradio hinzubekommen. Der iPod spuckt am Interfacestecker bei Vollaussteuerung ein Signal mit genau 1V Amplitude (2V Spitze-Spitze) aus. Jetzt meine Frage: Weiß jemand von euch, mit welcher Amplitude der originale VW/Audi CD-Wechsler das Audiosignal (bei Vollaussteuerung) auf die Reise schickt? Bzw. mit welcher maximalen Amplitude kann ich an das Radio rangehen ohne zu übersteuern? Danke im voraus. Grüßle Marcus
Hallo, um meine Zwischenfrage mal selbst zu beantworten: Ich habe einen Audi CD-Wechsler in die Hände bekommen und konnte mal ein bisschen messen. Dazu habe ich mir eine kleine Zwischenplatine aus Reichelt-Teilen hergestellt. Das Ergebnis: Das Signal aus dem CD-Wechsler hat eine Amplitude von genau 2V (4V Spitze-Spitze), d.h. um eine gute SNR hinzubekommen, sollte man das Audiosignal, welches aus dem iPod-Dock-Connector kommt, um ca. 6dB anheben. Grüßle Marcus
Gast
#1284153
Hallo Marcus, danke für Deine Infos. Ohne jetzt selbst mal gemessen zu haben ist mir aufgefallen, dass wenn ich an meinem iPod den Equalizer einschalte, es zu Übersteuerungen am Autoradio kommt. Ohne EQ ist der Klang sehr gut und die Lautstärke im Wagen nur geringfügig höher als die im Radio-Betrieb (das war früher bei CD-Betrieb mit dem Serien-Wechsler in der Tat nie der Fall, spricht also für Deine Messergebnisse :-)) *) Sei doch so nett und miss mal die Pegel mit und ohne EQ. *) Welchen iPod nutzt Du? Vielen Dank, Gruß Klaus
Hallo Klaus, vielen Dank für deine Anregung! Auf die Idee mit den EQ-Einstellungen bin ich noch garnicht gekommen. Ich spiele zum Vergleich eine Audiodatei mit einem Sinus-sweep von 0-22kHz ab, welche sich auf dem iPod Nano 3. Generation (das breite Ding) und einer gebrannten CD für den Wechsler befindet. Ich habe gerade noch einmal das Oszi angefeuert und mal die EQ-Einstellungen durchprobiert. Die Messungen bestätigen Dein Gehör: Bei eingeschaltetem EQ tritt bei gewissen Signalfrequenzen (abh. von gewählter EQ-Einstellung) Clipping auf, d.h. schon am Dock-Ausgang des iPods ist das Signal übersteuert (was ja irgendwie dämlich ist). Grüßle Marcus P.S. Ist ja echt ein feines Projekt, was Du da durchgezogen hast, Klaus. Ich habe mir die Pläne dazu mal angeschaut. Etwas Ähnliches, nur in weniger ausgeklügelter Art, möchte ich auch machen. Im Moment knabber ich gerade an der Kommunikation von Radio zu Wechsler :)
Hallo Marcus, das ging aber fix! :-) Wenn Du Lust hast, dann denk' Dir doch mal eine schicke OP-Schaltung aus, dias das mit den +6dB erledigt. Zwischenfrage: Warum eigentlich 6dB und nicht 3dB zur Verdopplung? Hat das mit linear- und quadratisch-gewichteten Einheiten zu tun? Also hier Spannung, d.h. 20*log(...)? Die OP-Schaltung würde ich dann gern in meine Schaltung mit aufnehmen. Evtl. bestelle ich mir dann (nach noch ein paar kleinen Updates) eine neue Platine. Schöne Grüße, Klaus
Hallo, ich habe mir schon eine kleine OP-Schaltung überlegt, Teile sind auch schon da. In der Simulation funktioniert's natürlich schon. Ich muss nur mal dazu kommen, eine Testschaltung aufzubauen, denn das größte Problem wird wahrscheinlich das Drehzahlbrummen werden. Wenn ich das habe, schreibe ich das hier rein. Ich habe mit einer kleinen Experimentierplatine jetzt erfolgreich die Kommunikation zwischen dem CD-Wechsler und dem Radio abhorchen können. Die Nachrichten Wechsler->Radio sind sehr vielfältiger als unter lafrog angegeben. In den höchsten 4 Bits des ersten und letzten Bytes scheinen auch irgendwelche Statusbits untergebracht zu sein, ich verstehe nur noch nicht, was diese bedeuten. Das vorletzte Byte kennt anscheinend auch noch ein paar andere Zustände. Dazu kommt noch, dass der CD-Wechsler anscheinend defekt ist. Manchmal spielt er, manchmal nicht. Wenn er nicht geht (so wie bei meiner Aufzeichnungssession gestern) dann wechselt er die CDs durch und zeigt vorne nur an "CD Error". Ich habe das Log mal angehängt. Der Wechsler fängt genau alle 50ms an, eine Nachricht auf die Reise zu schicken. Die CDC Messages kommen vom Wechsler, die Radio Messages vom Radio (Msgs mit Kommando 0x14 sind bereits ausgeblendet). Gibt es irgendwo noch eine näher detaillierte Protokollbeschreibung als bei lafrog? Grüßle und Vielen Dank Marcus P.S.: Sorry, wenn da etwas mit den 6dB verbuchselt habe. Ich komme aus der Regelungstechnik. Bei uns entsprechen 20dB einer Dekade, weil wir das Verhältnis der Quadrate als Größe heranziehen. Also bei mir ist eine Verdopplung +6dB, weiß nicht wie die Elektrotechniker das machen :)
Den hatte ich vergessen...
Gast
#1292079
Hallo Marcus, habe mir gerade einmal Deine Daten vom CDC->Radio angesehen. Leider komme ich nicht auf einen Nenner mit meinen Ergebnissen (siehe Thread: Beitrag "CD Wechsler Protokoll"). Zunächst gehe ich davon aus, dass einer von uns invertierte Logik aufgezeichnet hat, aber das tut ja grundsätzlich nichts zur Sache. Du leitest z.B. mit "4B" ein, ich hatte 0x74. Das ergibt invertiert 8B. Dein letztes Byte beträgt "43", meines 0x7c, das ergibt invertiert 83. Das klingt ja schon mal alles nicht soo verschieden :-) Bitte schau' Dir auch meine Sende-Daten (meines iPod-Adapters, also dem simulierten Wechsler-Signal) mal genau an, in dem o. g. Thread! Habe leider selbst nie des Wechsler-Signal gemessen, sonder habe lediglich Daten ans Radio gesendet und geschaut wie es sich verhält. Besonders interessant ist für mich noch das Signal des Wechslers, wenn man am Radio die "Suchlauf-Taste" drückt, also "Nächster Titel" festhält. Dann ist mein Adapter "am Ende". D. h. vermutlich erwartet das Radio einen bestimmten Code und läßt bis dahin keine Weitere Bedienung mehr zu. Da ich den Code nicht kenne, hilft dan nur noch ausschalten. Kannst Du diesen Fall mal bitte prüfen! Was genau hast Du für ein Radio / WEchsler? Vielen Dank für Deine (Mess-)Arbeit und schöne Grüße. Klaus
Gast
#1292080
Uups, hatte wohl nicht weit genug untern geschaut, dort gibt es folgende Telegramme: 8B41010000007083. Das deckt sich (zumindest invertiert) mit meinen Werten! Klaus.
Hallo Klaus, vielen Dank für Deine Antwort! ich habe noch einmal Deinen Beitrag in dem anderen Thread gelesen. Die "Keep-Alive"-messages, wenn der Wechsler nicht aktiv ist (z.B. Radio im Radioempfang-Modus), decken sich mit den Deinen, wenn man die Bits invertiert (das sind die messages ganz am Schluss der Datei). Ich habe die Messages hier so interpretiert wie auf der Website lafrog. Der Vorteil ist dann, dass man Track/CD direkt aus der Message ohne großartiges Kopfrechnen herauslesen kann :) Wenn ich im nächsten Schritt dann selber Nachrichten sende, muss ich die Nachrichten natürlich wieder bitweise invertiert an die SPI-Hardware übergeben. Im Betrieb scheint er an den ersten und vorletzten vier Bits etwas zu verändern. Das deckt sich mit Deiner Beobachtung, dass Du im letzten Byte etwas drehen musst, damit das Radio wieder reagiert, wenn es zyklisch sendet. Da stecken wohl noch ein paar Status- und Acknowledgebits drin. Wenn der Wechsler letzte Woche getan hätte, hätte ich die von Dir geschilderte Kommunikation mit dem "Taste gedrückt halten" auch gleich ausprobiert. Ich probiere das am Wochenende oder am Feiertag nocheinmal aus und hoffe, dass das Ding dann mal wieder richtig läuft, denn dann werde ich die Messungen nochmal wiederholen und bestimmte use-cases durchprobieren. Als Radio habe ich ein altes Audi Navigation Plus aus einem alten A8 und den CD-Wechsler zur Kofferraummontage. Da war glaube ich noch ein Aufkleber mit einer Teilenummer drauf, die habe ich aber nicht aufgeschrieben. Das muss ich dann auch nochmal nachschauen. Grüßle Marcus
Ich habe heute nochmal meinen Controller rangehängt. Tatsächlich hat der Wechsler erstmal wieder funktioniert. Ich habe mal das Protokoll angehängt und bis Zeile 1493 kommentiert. Irgendwie ist bei dem Programmcode für das Einlesen der Kommandos vom Radio etwas schiefgelaufen. Manchmal "verschluckt" er Kommandos, was aber glaube ich daran liegt, dass die vielen Aufrufe der Interruptroutinen sich oft gegenseitig blockieren und so mal ein paar Bits verschluckt werden. Den Code habe ich nicht komplett selber geschrieben, ich habe mich da auch stark am Code von Matthias Kölling Beitrag "Re: CD Wechsler Protokoll" orientiert. Dann gibt es da aber noch ein größeres Problem. Irgendwie scheint er die "Taste ist gedrückt" Nachricht nicht korrekt zu empfangen. Ich hätte eigentlich erwartet, dass das Radio periodisch ein leeres Paket mit kürzerer erster low-Phase schickt (wie auf lafrog). Ich habe da gesagt, er soll die Nachricht
1 | |
auf das Terminal schicken. Da kommt aber nichts an. Oder kommt da gerade immer die Nachricht
1 | |
die ich ausgeblendet habe? Habe es leider nicht mehr testen können. Ich habe immer nur
1 | |
nach loslassen der Spulentaste vom Radio empfangen... Um zu schauen, ob da überhaupt etwas auf der Leitung kommt, wenn man eine Spul-Taste gedrückt hält, wollte ich nochmal mit dem Oszi ran, aber gerade da wollte der CD-Wechsler nicht mehr... wieder nur CD Error. Immerhin sieht man in dem Log gut, was der Wechsler bei "Spulen-Anfang" und "Spulen-Ende" sendet, was für Dich interessant sein könnte, Klaus. Grüßle Marcus
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
