Hallo. Versuche gerade einen CD-Changer Emulator zu programmieren. Habe mich auf folgenden Seiten informiert: http://www.mictronics.de/?page=cdc_proto http://www.k9spud.com/vwcdpic/devel/ http://www.lafrog.com/cdcemu/ Habe ein Audi Navi Plus. Habe es auch richtig angeschlossen hoffe ich. Vom Navi erhalte ich auch Signale wie auf den Seiten beschrieben. Allerdings andere Zeichen. Beim einschalten erhalte ich. - Startkondition - 0xCA - 0x34 - 0x08 - 0xF7 - Startkondition - 0xCA - 0x34 - 0x28 - 0xD7 - Startkondition - 0xCA - 0x34 - 0x08 - 0xF7 - Startkondition - 0xCA - 0x34 - 0x28 - 0xD7 Die 4 Telegramme kommen an. Dann zeigt mir das Navi: "No Changer" Habe versucht über die SPI-Schnittstelle Komandos wie beschrieben zu senden. Hilft aber alles nix. SPI Einstellungen: // SPI initialization // SPI Type: Master // SPI Clock Rate: 2*57,600 kHz // SPI Clock Phase: Cycle Half // SPI Clock Polarity: Low // SPI Data Order: MSB First Hoffe mir kann jemand helfen. MFG Stefan
Bei lafrog ist das Potokoll und Timing genau beschrieben und genau so funktioniert es auch. Wichtig ist, das der Emulator periodisch (<= 1 Sekunde) Daten schickt. Sonst kommt 'No Changer' im Radio. Gruss, Toni
Genau nach der Anleitung geht es bei mir nicht. Habe mir nen älteres asm File von www.k9spud... mal angesehen. Das war eine andere Zeichenfolge drin. Schreibe jetzt als 8-tes Byte ne 7C. Dann sagt er mir zumindestens nicht mehr, dass er keinen Wechsler hat. Aber die Bytes davor spielen keine Rolle. Habe diese mal wild verändert. Das stört überhaut nicht. Habe die Clock Polarity außerdem noch auf High geändert. Empfange aber weiterhin keine weiteren Zeichen vom Navi. Und die Zeichen die beim Einschalten kommen entsprechen nicht denen bei lafrog. Nach dem sollte ich ja 0xFE, 0xFF, 0xXX, 0xFE Noch ne Frage. Habe festgestellt, dass das besagte 8-te Byte nen Bestimmten Puls ergibt. (04 geht auch, warum auch immer) Kann es sein, dass das Navi doch den Sync-Anschluß hat?
Hi, die ersten 8 Bits sind nur ein Dummy Byte, danach kommen die 56 Datenbits wovon die letzten 8 Bits dem Dummybyte entsprechen, ausser das Bit 53 invertiert ist. Du musst zwischen TOC Data und Play Data unterscheiden. Viel Erfolg Heinz
Funktioniert auch so nicht ganz! Da ich die ersten sieben Byte beliebig beschreiben kann. Habe auch mal probiert Erste Byte auf 0x04 zu setzen. Dann dürfte ja das letzte dann 0x00 sein. Haut aber dann nicht hin. Was ist denn dann der UNterschied zwischen TOC Data und Play Data?
Hi, mein cdc-emulator für ein audi concert II sendet einfach alle 10ms: 0x74,0xBE,0xFE,0xFF,0xFF,0xFF,0x8F,0x7C Anschluss: http://home.tiscali.de/matthiasklumpp/CdcEmu/CdcEmu_Connection_d.html Gruß Andreas
Was kriegst du dann angezeigt? Arbeite mit einer Baudrate von 3,6864MHz. Kann es sein, dass das Timing so kritisch ist? Kann ich mir nicht vorstellen. Werde aber mal nen 4MHz Quarz testen.
Tag,
das Timing ist sehr kritisch zumindest die 300µs pause zwischen den
einzelnen bytes.
>Was ist denn dann der UNterschied zwischen TOC Data und Play Data?
TOC Data: Toc Data gibt dir Information über Gesamtzahl der CD's im
Wechsler oder ob irgendwelche Errors zustande gekommen sind. Wie
Mechanik Error oder Tracking Error.
Play Data gibt dir die Information welcher Titel gerade gespielt wird
und die Zeit als gepacktes BCD.
Heinz
Hilft alles nix. Bleibt dabei. Kann fast senden was ich will. Im letzten Byte schreibe ich eine 0x04 oder 0x7C und er sagt nicht mehr No Changer. Dabei scheint es keine fast keine Rolle zu spielen, wie lang ich die Pausen nach dem Senden mache. Aber Daten habe ich noch nicht zu sehen bekommen. Habe keine Idee mehr woran es noch liegen kann.
Jetzt tut sich was. Habe jetzt das 2te Byte mal variabel gemacht und es durchlaufen lassen. Dann ändert sich die Anzeige. Mache ich das dann wieder konstant tut sich wieder nix.
Bin mal wieder zu neuen erketnissen gekommen. Also beim Audi Navi Plus muss das alles etwas anders sein. Scheint ir jedenfalls so. Das Radio sendet wie auf den Websites beschrieben. Allerdings folgt nach jedem Paket ein Paket indem das Komando 0x28 gesendet wird. Nen Track weiter ist z.B. 0x1F, 0x28 (nur mal die Daten, im Telegramm an Position 2) CD-Wählen für CD 1 z.B. 0x30, 0x28, 0x1C, 0x28 Soweit so gut. Falls noch jemand weitere Info's hat hoffe ich auf Hilfe. Das Problem mit dem Senden ans Radio hätte ich auch gerne noch gelöst. Komme da leider nicht weiter.
Hallo, ich muss mal einen alten Thread raus kramen. Wie siehen denn die TOC Daten aus? Ich habe ein Concert II und es zeigt auch alles richtig an was ich an das Radio sende. Ich erhalte auch die Komandos (Tastenbetätigungen) vom Radio zurück. Nur für die Tasten für nächste CD und vorherige CD schickt das Radio keine Daten raus. Muss ich dem Radio zuerst mittelnen wieviele CDs sich im Wechsler befinden? Wenn ja wie? ciao Martin
Hallo, ich bin neu in der Welt der AVRs, finde aber die Anwendung als Wechsler Simulator höchst interessant. Das oben angehängte C-Code-Beispiel ist für mich schon aussagekräftig. Allerdings wird dort nur das Senden bearbeitet. Hat jemand ein Beispiel für das Empfangen der Radio-Daten? Grüße aus dem kalten Rostock Mario
Sorry, der Thread ist etwas älter, aber vielleicht weiss ja Jemand, wie man bei den VW Radios das "Aux-In" freischaltet? Ist doch sicher ähnlich zur Wechslersimulation, nur mit anderen Codes oder? Es wäre sehr interessant, wenn einer Infos dazu hat.
Welches Radio solls denn sein? Es gibt viele VW-Radios und nicht alle sind gleich...
Normal ist die "Aux-In" Freischaltung nichts anderes als dem Radio vor zu gaukeln, dass ein Wechsler angeschlossen ist. Du schaltest am Radio dann auf Wechsler um un du hörst das was über den Wechsler Audio Eingang rein kommt.
Also der Beitrag vom 17.8.05 von Andreas W. ist genau das, was Du brauchst. Immer diese Sequenz schicken und der Aux ist frei.
Hallo, hätte noch ein c-file zu bieten. Ist eine Umsetzung von k9spud auf nen ATMEGA128. Läuft bei Concert II super. Navi Plus - keine Ahnung. Gruß Matthias
Also ich kann das Radio in den Wechslerbetrieb setzen, dann stehen links und rechts CDxx usw. Jetzt habe ich gesehen, dass es auch einen "Aux-In" Adapter gibt, bei dem auch der gleiche Text im Display steht. Kann man das auch simulieren?
ähm...versteh ich jetzt nicht... Schick diese Sequenz ab und der Aux-In wird durchgeschaltet.
zu Beitrag #6: erst mal danke für das einfache programm ;) aber welche schaltung hast du benutzt? die von matthias klump oder das von ed schlunder? oder funktioniert das programm auf allen? bin zwar elektroniker.. aber eben für betriebstechnik.. hab mich mit mikrocontrollern noch nicht so auseinandergesetzt gruß alcapwn
Als Hardware hatte ich damals einen ATmega8 genommen, weil ich den gerade da hatte. Es reicht aber auch schon ein AVR Tiny vollkommen aus... Die Datenfolge, die ich weiter oben gepostet habe stimmt außerdem nicht ganz. Hier die richtige: 0x74, 0xBE, 0xFE, 0xFF, 0xFF, 0xFF, 0xCF, 0x7C
@Matthias Kölling Hallo ;) Betreibst du einen Archos MP3 Player an deinem Concert II ? Wenn JA, Funktioniert das dann mit der Fernsteuerung des Players? Ich wollte es bei mir im A3 mal versuchen hab aber Concert I Hast du eventuell einen Schaltplan und/oder ein Layout? MfG Andy
Hallo Andy, habe den PJRC am laufen. Was für einen Schaltplan meinst Du? Im Moment habe ich noch das Original von k9spud im Auto. Die Umsetzung auf den ATmega128 soll im Laufe des Jahres folgen. Es braucht etwas länger, da ich mit dem Steuergerät etwas mehr vorhabe: -Titelanzeige und Steuerung über Navi Bildschirm -Bedienung über Infrarot mit Originalempfänger des Navis -Umschaltung auf 12-fach CDC -Audio-Umschaltung MP3-CDC-AUX -eventuell noch Meßwerte von K-Line lesen Für das reine Wechslerprotokoll reicht das Original von www.k9spud.com/ Ob das allerdings für Concert 1 paßt, weiß ich nicht. Für das Freischalten des Audioeingangs sind die Daten, die an das Radio gesendet werden interessant. Wenn die nicht passen, wirds Frickelei. Die Steuerkommandos lassen sich leichter anpassen, da man nur kucken muß, welches Kommando bei welchem Knopf gesendet wird. Gruß Matthias
OK ich werde auch diese Schaltung verwenden. Hab da aber noch eine Frage. Die Audiosignale werden ja nur durchgeschleift und über ein RC-Glied geglättet... oder was ist die Aufgabe von dem RC-Glied? Der Kondensator ist kein ELKO, oder? Ich kann das nicht so gut erkennen in dem Plan. MfG Andy
Die Audiosignale habe ich nicht angefaßt. Die werden bei mir direkt vom Player auf das Radio geführt. Allerdings habe ich in meinen Player einen Masse-Isolator eingebaut. Das ist weiter nichts, als ein doppelter NF-Übertrager und verhindert Masseschleifen. Ohne das Teil hatte ich ständig Pfeifen, wenn die Platte hochgefahren ist. Das Teil gibt es für 15€ beim blauen C und ist sein Geld wert. Die Klangqualität ist für meine Bedürfnisse auch mehr als ausreichend. Gruß Matthias
> Die Audiosignale werden ja nur durchgeschleift und über ein RC-Glied > geglättet Der ist gut ;-) . Der macht aus den Audiosignalen eine Gleichspannung. Das RC-Glied ist ein Tiefpass, und hällt hohe Störfrequenzen fern.
Noch ne Frage zur Schaltung bzw dem Source Code. Mit welchem Takt soll der AVR laufen? Und ist die Datensequenz für ein VW Beta V Radio gültig? Mir reicht schon, wenn er nur die Aux Eingänge freischaltet. Die Anzeige im Display ist egal.
Minetti wrote: > Noch ne Frage zur Schaltung bzw dem Source Code. > > Mit welchem Takt soll der AVR laufen? 1MHz (interner Takt reicht) > Und ist die Datensequenz für ein VW Beta V Radio gültig? Mir reicht > schon, wenn er nur die Aux Eingänge freischaltet. Die Anzeige im Display > ist egal. Eigentlich müsste es auch mit einem VW Radio funktionieren. Ansonsten müsste man ein bisschen probieren. Ich habe den Emulator nur an einem Audio Concert II getestet.
Hallo sehr interessant dieser Thread, ich würde gerne etwas ähnliches machen, allerdings finde ich nirgendwo ne Protokollbeschreibung für meinen Blaupunkt A05- Wechsler, weiß vielleicht jemand nen Tipp wo ich diese finde?
Ich habe mal noch etwas beim Audi Concert 2 entdeckt. Wenn man in den "Diagnose"-Modus des Radios geht (Beim Einschlten Stationstaste 1 gedrückt halten) und dann zum CD-Wechsler wechselt, dann werden alle Datenbytes die der CD-Wechsler zum Radio sendet im Display des Radios angezeigt.
>Als Hardware hatte ich damals einen ATmega8 genommen, weil ich den >gerade da hatte. ich hab das jetz auch alles aufgebaut.. mit nem atmega8, davor noch ne kleine platine 12v->5v und die wird über den cdc-schaltausgang mit strom versorgt. konfiguration der ein/ausgänge im atmega8 cdc data in und cdc clock -> ausgänge cdc data out -> eingang ich hab in jede datenleitung ( data in, out und clock) nen 1kohm R eingebaut.. und es tut sich nix.. also genauso wenig wie davor, als ich noch nix angeschlossen hatte wenn ich die taste cc/cd gedrückt halte und dann den radio einschalte steht im display NO CDC, also müsste er doch bereits für den wechsler codiert sein,oder? passt das schon, dass wenn der radio angeschaltet wird, dass dann die platine gleich zu werkeln anfängt? imho wird ja schon gesendet wenn das display vom radio gerade angeht, oder? lg,daniel
Ich hatte damals auch den Radio-Schaltausgang benutzt um die Platine zu versorgen und das ständige Senden hatte bei mir eigentlich keine Probleme gemacht. Stimmen die Zeiten alle bzw. ist der Takt richtig eingestellt? Hier ist auch ein interessanter CDC-Emulator mit MP3-Player: http://martinsuniverse.de/projekte/audiohplayer/audiohplayer.html
>Stimmen die Zeiten alle bzw. ist der Takt richtig eingestellt? interner takt 1mhz zeiten sind alle aus deinem programm.. der der mir den atmega geflasht hat, hat gesagt dass er noch ne headerdatei dazubasteln musste, für den compiler.. sonst wurde an deinem programm nix gemacht zwischen reset und gnd is noch n 100nF R drinn >ich hab in jede datenleitung ( data in, out und clock) nen 1kohm R >eingebaut.. das stört ja nicht oder? und die >konfiguration der ein/ausgänge im atmega8 stimmt auch oder? wenn ich ne led zwischen clock und gnd oder zwischen data in und gnd halte leuchtet die.. sollte die nicht ganz schnell flackern? beim einbau hatte ich den atmega falsch herum eingebaut und dann 2-3 sec eingeschaltet gehabt.. aber der dürfte ja noch ned kaputt sein, deswegen oder? lg, daniel.. der langsam verzweifelt
a2 wrote: > der der mir den atmega geflasht hat, hat gesagt dass er noch ne > headerdatei dazubasteln musste, für den compiler.. sonst wurde an deinem > programm nix gemacht Hast du die Datei aus meinem Post vom 23.03.2008 benutzt? Stimmt, da fehlen die defines für B2, B3, B5:
1 | #define B2 (0x04)
|
2 | #define B3 (0x08)
|
3 | #define B5 (0x20)
|
>>ich hab in jede datenleitung ( data in, out und clock) nen 1kohm R >>eingebaut.. > das stört ja nicht oder? Dürfte keine Probleme machen. Den Datenausgang vom Radio (CDC Data Out) braucht man eigentlich auch nicht anschließen, weil er vom Programm nicht benutzt wird. > und die >>konfiguration der ein/ausgänge im atmega8 > stimmt auch oder? Wie hast du den SS-Pin gesetzt? SS muss als Eingang mit PullUp oder als Ausgang konfiguriert werden. > wenn ich ne led zwischen clock und gnd oder zwischen data in und gnd > halte leuchtet die.. sollte die nicht ganz schnell flackern? Die flackert so schnell, das man es nicht sieht :-) > beim einbau hatte ich den atmega falsch herum eingebaut und dann 2-3 sec > eingeschaltet gehabt.. aber der dürfte ja noch ned kaputt sein, deswegen > oder? Oh, möglicherweise doch.
>Hast du die Datei aus meinem Post vom 23.03.2008 benutzt? ja >Stimmt, da fehlen die defines für B2, B3, B5: >Wie hast du den SS-Pin gesetzt? ich weiß nicht genau was da im programm genau gemacht wurde.. werd am dienstag mal nachfragen >>der dürfte ja noch ned kaputt sein, deswegen >>oder? >Oh, möglicherweise doch. ich hab mal gemessen (mit multimeter, da ich kein oszi daheim hab) zwischen clock und gnd hab ich 286 hz und zwischen data in und gnd 48,6 hz also der uC tut noch was.. lg, daniel
> da ich kein oszi daheim hab
Das ist schlecht, es würde sehr weiter helfen?
Hast du das in meinem Beitrag vom 14.04.2008 20:41 mal ausprobiert?
Warum verschwendest Du so viel Zeit? Kauf Dir doch eine camubox...und die kann noch ne ganze Menge mehr
>Warum verschwendest Du so viel Zeit? >Kauf Dir doch eine camubox...und die kann noch ne ganze Menge mehr wenn ich was mach weil ich es machen will is meine zeit nicht verschwendet und ich will ned 170€ für ein ding ausgeben das ned mal nen line in hat. und genau den will ich haben wenn ich mir so n ding kaufen würd, dann nur das icelink oder so.. mit dem ich den ipod dann auch steuern kann. das is mir aber alles ned so wichtig, hauptsache ich hab meinen line in und muss dafür keinen exorbitanten preis zahlen und zusätzlich will ich hier erfahrungen sammeln beim auf- und einbau meiner platinen >Hast du das in meinem Beitrag vom 14.04.2008 20:41 mal ausprobiert? ja, der diagnosemodus war mir davor schon bekannt.. hab ihn immer nur zum geschwindigkeit auslesen benutzt ;) wenn ich im diagnosemodus auf cc/cd drück steht immer nur NO TAPE da :( was steht denn bei einem funktionierenden cdc-simulator da wenn ich cc/cd gedrückt hab und den radio einschalte?
Da sich dem Clk- und Data-Pin etwas tut, wird der SS-Pin wahrscheinlich richtig gesetzt sein. Miss aber trotzdem mal welche Spannung an dem Pin (PB2) liegt. Probiere auch mal den AVR erst anzuschalten, wenn das Radio an ist. Was für ein Radio hast du eigentlich, Audio Concert II?
Ipod steuern...welch Schwachsinn. Immer diese dumme Kiste mit sich rumtragen. Da sind SD-Karten doch viel vernünftiger. Und die kosten auch nicht so viel wie ein Ipod. Und mit Deiner Lösung wirste micht mal was von ner SD-Karte runterbekommen, vom Ipod gar nicht zu reden...
Wat soll der dumme Streit denn hier. Der eine mag iPod der andere eben nicht. > was steht denn bei einem funktionierenden cdc-simulator da wenn ich > cc/cd gedrückt hab und den radio einschalte? Ich habe es nicht mehr genau im Kopf, ich meine es waren einfach die Datenbytes in Hex, die das Radio am CDC Eingang empfängt. Wenn da nichts zu sehen ist, gehe ich davon aus, dass das Radio auch nichts von deiner Schaltung empfängt.
erst mal VIELEN DANK dass ich hier von euch so gute hilfestellung krieg
=)
ich hab den audi chorus 2
(btw:in der anschlussbelegung die du gepostet hast sind die radios
falsch beschriftet, der obere ist chorus, der mittlere concert)
>SS muss als Eingang mit PullUp oder als Ausgang konfiguriert werden.
ich hab an PB2 (SS/OC1B) keine spannung gemessen
muss da dann jetz noch n pullup widerstand davor?
ich glaub aber dass beim flashen alle pins auf ausgang gesetzt wurden,
außer bei pb3 und pb5, bin mir aber nicht zu 100% sicher
später einschalten hat jetz auch nix gebracht..
irgendwie muss das doch gehn :(
lg, daniel
> muss da dann jetz noch n pullup widerstand davor?
Wenn PB2 als Ausgang konfiguriert ist nicht. Ansonsten den internen
PullUp aktivieren oder extern einen anschließen.
Lege den Pin einfach mal mit 1k auf 5V. Dann siehst du ob der Pin auf 0V
bleibt (Pin=Ausgang) oder auf 5V geht (Pin=Eingang).
>was steht denn bei einem funktionierenden cdc-simulator da wenn ich >cc/cd gedrückt hab und den radio einschalte? Beim Chorus 2 steht da "CONNECT"...mehr nicht!!
pb2 is wohl ausgang.. ich mess ungefähr 100mv morgen schau ich mir mit dem kollegen der mir das geflasht hat das programm nochmal genau an.. verdrahtungsfehler kann ich ja ausschließen lg, confused daniel ^^
Vielleicht ein Masseproblem? Ist die CDC-Masse (C2 Pin 10) am Radio mit der normalen verbunden? Ich habe das Radio jetzt schon eine ganze Weile nicht mehr. Daher kann ich auch nur raten, wo es dran liegen könnte...
tut mir leid dass ich mich jetz länger nich mehr gemeldet hab aber der emu funktioniert immer nocht nicht, der radio erkennt ihn halt ned ich fahr demnächst eh mal zum freundlichen, da schau ich mal ob die codierung stimmt.. wobei normal schon auf wechsler codiert sein müsste..
Meine Erfahrungen mit dem Concert II: Ich habe mit einem ATtiny (mit selbstgestricktem Assembler-Programm) die o.g. Sequenz ausprobiert und festgestellt, dass das "timing" bei mir nicht kritisch war! Folgende Zeiteinstellung wurde von mir erfolgreich getestet: Taktzykluszeiten: 9us; 8,68us (115,2 Baud); 7us; 6us; 5us; 4us Tests mit Taktzyklen von <=2us schlugen fehl; hier sahen aber auch die Signale nicht mehr so gut auf dem DSO aus. Weiterhin habe ich den Zeitabstand des Sendens zwischen den Zeichen von 0,7ms immer weiter (erfolgreich) verkürzt, so dass mein CDC-EMU jetzt die gesamte Sequenz innerhalb von 0,5ms sendet, dies bei einer Taktzykluszeit von 4us! Anmerkungen: Als Leitungen zwischen dem CDC-EMU und dem Concert II wurden von mir ausschließlich geschirmte Leitungen verwendet. Beim Durchlaufenlassen der codes für DSC,TRK,MIN,SEC habe ich begriffen, dass das Concert II diese als BCD interpretiert. Viele Grüße von JP
Hallo zusammen, da ich zur Zeit eine iPod-Steuerung für meinen Audi A3 baue, konnte ich aus diesem Forum einige Infos ziehen. Danke dafür an Euch alle!!! Wollte daher hier auch meine Erfahrungen posten: Mein µC kommuniziert über SCI1 mit dem iPod, über SCI2 mit dem PC (Monitor). Über über SPI1 sende ich den simulierten Wechsler-Zustand ans Audi Concert 1 und über einen I/O-Pin lese ich die Tasten-Befehle ein. Dabei habe ich Folgendes herausgefunden: 1. Senden zum Radio über SPI (Clock + Data) =========================================== Byte 0: 0x74 Byte 1: (byte)(0xbf - ChangerData_st.CDNummer_u8); Byte 2: (byte)(0xff - (((ChangerData_st.TrackNummer_u8/10)*0x10) + (ChangerData_st.TrackNummer_u8%10))); Byte 3: (byte)(0xbf - ChangerData_st.Minuten_u8); (bringt aber nix, da das Concert 1 eh keine Zeit anzeigen kann!) Byte 4: (byte)(0xbf - ChangerData_st.Sekunden_u8); Byte 5: 0xff Byte 6: 0xcf (normale Anzeige) 0xcf (NO CD) Byte 7: 0x7c (Standard) ABER: Nach dem Einschalten des Radios sendet dieses (wenn bereits CD-Betrieb gewählt war) zyklisch 0xa4. Das Problem dabei ist, das es in diesem Zustand KEINEN Tastencode mehr aussendet. Daher muss das beendet werden! Dazu sende ich EINMAL hier im Byte 7 den Wert 0x5c. Danach ist Ruhe und die Tasten reagieren wieder. 2. Empfangen vom Radio (Serielles Signal (ähnlich IR-Fernbedienung) über 1 I/O-Pin) ======================================================================== =========== Ich werte hierbei immer ein Päärchen aus. D.h. die beiden unmittelbar aufeinanderfolgenden Pakete sind zusammengafasst: Paket1 Paket2 Werte... ------------------------- 0x10 0x14 0x08 0x14 0xa4 0x14 (ff) Radio Einschalten 0xa4 0x14 zyklisches Senden nach dem Einschalten, wenn bereits CD-Modus aktiv ist 0x10 0x14 CD-Modus AUS 0x08 0x14 CD-Modus EIN 0xfa 0x14 Track VOR (Einfacher Tastendruck) 0x78 0x14 Track ZURÜCK (Einfacher Tastendruck) 0x18 0x14 CD ZURÜCK (Einfacher Tastendruck) 0x38 0x14 CD VOR (Einfacher Tastendruck) 0x0c 0x38 Taste 1 (Einfacher Tastendruck) 0x8c 0x38 Taste 2 (Einfacher Tastendruck) 0x4c 0x38 Taste 3 (Einfacher Tastendruck) 0xcc 0x38 Taste 4 (Einfacher Tastendruck) 0x2c 0x38 Taste 5 (Einfacher Tastendruck) 0xac 0x38 Taste 6 (Einfacher Tastendruck) 0xa0 0x14 SCAN (Einfacher Tastendruck -> led zeigt keine aktivität!) 0xe4 0x14 RANDOM (Einfacher Tastendruck -> LED EIN) 0x08 0x14 RANDOM (Einfacher Tastendruck -> LED wieder AUS) 0xd8 0x14 VORSPULEN (Taste lange gedrückt halten) Und nun zu meinem Problemchen: ============================== Den letzte Wert 0xd8 kann ich zwar empfangen, aber das Radio hört auch hier nicht mehr auf dieses zu senden. Habe alle möglichen Bits im Protokoll Wechsler->Radio geändert, aber es hilft nichts. Vermutlich erwartet das Radio eine Art Bestätigung für die Suchlauf-Funktion des Wechslers. Bis dahin wird eben permanent gesendet. Hat jemand dazu eine Idee? Ansonsten scheint bei meiner Lösung alles zu funktionieren. Nur den Shuffle-Mode des iPod habe ich noch nicht implementiert. Funktion der iPod-Steuerung =========================== Über die Tasten 1-6 kann ich den Item-Typ auswählen: Playlist, Artist, Album, Genre, ... Über die CD-vor/zurück-Tasten kann ich die Item-Nummer wählen, also z. B. Playlist 1, 2, 3, ... ODER Album 1, 2, 3, ... Über die Track-Tasten dann zuletzt den Titel im gewählten Item. Das klappt inzwischen perfekt, bis auf das Spulen. Schöne Grüße, Klaus
Moin, ich möchte gerne auch meinen Ipod mit über den CD Wechsler Eingang steuern und audio einspeisen. Gibt es von deinem Programm einen Source und ein Schaltbild, damit man das nachbauen kann? Grüße Sven
Hallo, möchte noch etwas hinzufügen: Zu 1.) zu Byte 6: - Normalerwiese auf 0xcf (normale Anzeige) - Zur Anzeige von "NO CD" einfach auf 0xc7 umschalten - NEU: Wenn das Radio zyklisch 0x30 sendet (bei Verkehrsfunk TP oder Telefon-Mute) kann man Byte 6 = 0x4f senden. Dann hört das Radio auf mit dem zyklischen Senden, jedoch zeigt es kurz (also wenn TP oder MUTE zu Ende ist) "NO CD" an, was aber nixhts ausmacht. So kann man jedenfalls normal weiter bedienen! Zu 2.) Die vom Radio empfangenen Bytes sind Teil des "seriellen" Protokolls vom Radio. Hierbei werte ich immer das MSB zuerst aus, weil es sich in C einfacher bitweise nach Links schieben läßt (einfach mal 2 nehmen!). Außerdem habe ich noch etwas herausgefunden: 0x58 0x14 ZURÜCKSPULEN (Taste lange gedrückt halten)--> zykl. Senden 0x30 0x14 Verkehrsfunk --> zykl. Senden " " Tel. Mute --> zykl. Senden An Sven: Pläne gibt es noch nicht (jedenfalls nicht in einem herausgebbaren Zustand :-). Werde die Schaltpläne hier posten, wenn ich fertig bin. Dann kann man das (theoretisch) nachbauen. Thema Quellcode: Grundsätzlich gebe ich den nicht weiter. Grund: In der Regel ist bei den von mir eingesetzten µC der Code relativ hardwarenah. Daher kann man den eh nicht einfach so "kopieren" und auf dem eigenen System zum Laufen bringen. Viel Sinnvoller ist hier das "Konzept" weiterzugeben, d. h. WIE die einzelnen Zustandsmaschinen zusammenarbeiten. Hierbei gebe ich gern Tips. Dazu zeichne ich mal ein Strukturbild. Dann können wir weiterreden :-) Übrigens, meine Infos habe ich von Quellen aus dem Netz. Einfach mal nach "iPod Dock" googlen oder nach dem "iPod Air-Mode" suchen. Den habe ich nämlich genutzt um vollen Funktionsumfang zu haben. Den Stecker habe ich bei RS-online.com gefunden (z. B. DD1P030MA1 von JAE: 435-699). Als Controller verwende ich einen DSC von Freescale. Sollte aber mit jedem anderen 16-Bit-µC laufen. Benötige ein paar I/O-Pins, SCI und SPI. Dazu intern einen Timer-Interrupt mir 1ms. Der HEX-File ist jetzt ca. 17kB groß. Habe meine freiluftverdrahtete Schaltung nun ins Auto eingebaut und werde bald den Wechsler ausbauen, um das Protokoll genauer zu analysieren. Poste das dann natürlich hier! Gruß Klaus
Hallo, nach einer kleinen Pause habe ich mich jetzt mal wieder dem Thema zugewand. Nach ein paar Startschwierigkeiten wird der Emulator jetzt endlich erkannt. Was mich ein bißchen verwundert ist, was mir das Radio (Seat Alana) an Daten raus gibt. Scheinbar hält sich das nicht an das SPI Protokoll. Kann das sein das das Daten Signal vom Radio ein eigenes Protokoll ist? Es scheint mir so das die Daten mit 1KHz rausgetaktet werden und das auch nicht immer gleich. erst kommen ein paar Paketet mit permanent einsen und dann kommt ein 48Bit Paket mit den richtigen daten. Bist du da der selben Meinung? Gruss Sven
Hallo! Also beim Audi Concert 1 (und sicherlich auch bei vielen anderen VAG Radios) hat das Radio EINE Sendeleitung. Das Protokoll ist irgendetwas serielles, ähnlich einerm IR-Fernbedienungs-Protokoll. Siehe hierzu auch unter "Panasonic" auf: http://www.mictronics.de/?page=cdc_proto Vom Wechsler zum Radio handelt es sich um ein SPI (serielles, synchrones Protokoll) mit einem Takt und (hier) einer Datenleitung. Meine obigen Angaben bezüglich der Daten vom und zum Radio sind ja noch nicht bestätigt. Sobald ich Zeit habe werde ich meinen CD-Wechsler aus dem Auto ausbauen, und das Ganze noch einmal genauer unter die Lupe nehmen. Schließlich möchte ich der Vollständigkeit halber ja auch die originale Funktion "Suchlauf" (also Taste gedrückt halten) implementieren. Zur Zeit bin ich dabei mal die HW zusammenzuschreiben, damit ich mal einen vernünftigen Plan liefern kann :-) Gruß Klaus
Moin ... es sind mal wieder ein paar Tage vergangen. Jetzt habe ich mit meinem Tiny2313 es soweit geschafft den CDC vorzugaukeln und die Tastencodes vom Radio auszuwerten. Bin also kurz vor dem Ziel. Leider kann ich noch keine Daten an den IPod senden, da dieser noch nicht geliefert wurde. Ich habe jetzt ein anderes kleines Problem, bei welchem du mir vielleicht einen Tipp geben könntest. Wenn ich z.B. die Taste >> (skip forward) drücke, dann sucht er permanent nach dem nächsten Lied. Scheinbar muss ich dem Radio irgendwie ein Acknowledge geben, das das nächste Lied erreicht wurde. Hast du da einen Tip, was man da senden muss? Muss man jede Taste bestätigen? Gruss Sven
Hallo! Die Taste "Skip Forward" habe ich ja oben beschrieben. Dabei sendet mein Concert 1 nur einmal den o.g. Code. Oder hälst Du die Taste gedrückt (Suchlauf)? Dann muss ich leider zugeben, dass ich das auch nocht nicht gelöst habe. Habe mir halt eben diese "Umgehungslösung" mit der "RD"-Taste ausgedacht, um zu spulen. Ansonsten sende ich KEINE generelle Bestätigung zum Radio. Der Sendecode ist aber ggf. von bestimmten, vom Radio gesendeten Kommandos, abhängig. Siehe hierzu auch oben. Benutzt Du denn auch ein Concert 1? Gruß Klaus
Nee ich benutze ein Alana von Seat. Die Codes unterscheiden sich schon recht stark von deinen. Die Byteanzahl und der Rest ist das gleiche nur der Inhalt ist anders. Wenn ich bei mir die Skip Forward Taste einmal kurz drücke dann sendet er permanent den Code fpr die Taste, erst wenn ich dann einmal wieder die skip backward taste drücke, ist es wieder ruhig. Deshalb dachte ich, ich muss ihm den neuen Titel bestätigen. Dann muss ich wohl noch ein bißchen suchen. Grüsse
Ach so. Aber wie gesagt, an manchen Stellen habe ich das selbe Problem gehabt. Ich bin dazu einfach mal alle Bits durchgegangen, habe sie auf 0 oder 1 gesetzt, und geschaut was das Radio tut... Klaus
Hallo zusammen, ich spiele auch mit dem Gedanken mir ein Interface für mein VW-MFD Navi und dem Ipod zu entwickeln. Die Kommunikation mit dem IPod steht soweit, naja zumindest kann ich den über mein Terminalprogramm steuern - sowohl im AIR-Mode als auch im normalen Modus. Die Umsetzung auf nen Atmel bereitet mir keine Schwierigkeiten... Ich habe hier gelesen, dass sich schon einige mit dem Protokoll vom Radio beschäftigt haben. Ich habe mir überlegt ersteinmal so eine art Datenlogger zu bauen, der mir den Datenstrom vom Radio auf eine Uart ausgibt und diese dann zu analysieren. Kann man den Radio auch Daten übergeben, so das diese im Display angezeigt werden, sowas wie Tracknumber und Spielzeit? Hat jemand schon irgendwer eine Routine in C für einen Atmega geschrieben, die den Datenstrom vom Radio auließt, die er mir geben könnte. Peppe
Hallo Peppe, schau' doch mal in meinen Beitrag weiter oben. Dort habe ich die einzelnen Bytes, die "mein Wechsler-Simulator" ans Radio sendet, aufgelistet. Es sind bei mir genau 8 Bytes. Diese beinhalten (zumindest bei meinem Concert 1) die Werte, die Du meinst. Gruß Klaus.
Hallo! Habe mal einen neuen Thread eröffnet und dort auch meine Schaltpläne eingestellt. Beitrag "iPod-Interface am Anschluss des CD-Wechsler für Audi Werksradio (1. Generation)" Gruß Klaus
Hallo zusammen Dieser Thread ist zwar schon etwas älter aber immer noch interessant. ;) Habe nochmal eine Frage bezüglich AUX-In wie ihn der GAST am 11.2.2008 schon schilderte und den Martin und Simon (nicht ganz korrekt bzw. gingen sie von einem anderen Radiotypen aus) beantworteten, denn ich habe einen AUDI Concert 2 plus (DoppelDIN) Radio der definitiv zwei separate Eingänge am Quadlock CD-Wechsler (Block B) besitzt, also einen für den CD-Wechsler und einen für AUX-IN. Siehe Bild im Anhang, AUX-L, AUX-R und Masse-AUX für eben den AUX IN und SDI CD-R, SDI CD-L und SD CD-Masse für den Wechsler. Weis jemand ob oder wie es möglich ist beide frei zu schalten, bzw. muss man dazu ein extra Byte senden? Ich möchte den Aux Eingang für meine FSE (A2DP straeming vom Handy) verwenden und den Wechsler Eingang für ein externes Gerät wie z.B. MP3 player. Gruß Hansi
Hallo! ich habe prinzipiell den Aufbau von andreasw. Simulation des Wechslers funktioniert auch prima. Jetzt möchte ich aber auch die Tasten abfragen. Leider scheitere ich da noch. Prinzipiell muss ich doch den Inhalt von SPDR auslesen, oder? Leider ist der bei mir immer leer. Muss ich zum Auslesen in den Slave Modus gehen? Gruß, ben
@Matthias Kölling kannst du bitte die restlichen Files auch hochladen. Es müsste doch noch eine Datei geben in der die main-Funktion steht. Danke und Gruß Mario
> Jetzt möchte ich aber auch die Tasten abfragen. Leider scheitere ich da > noch. Prinzipiell muss ich doch den Inhalt von SPDR auslesen, oder? > Leider ist der bei mir immer leer. Hi, bin über das gleiche Problem gestolpert, nur dass ich lange ketten aus '0' und '1' empfangen hatte - kam mir komisch vor...Lösung: Das Protokoll zum Radio ist SPI, vom Radio zurück ist es ein serielles Protokoll. Die Antworten darfst Du also nicht per SPI erwarten. > Muss ich zum Auslesen in den Slave Modus gehen? Generell zu SPI: Nein, Du musst den Master nicht in den Slave Modus zum Empfangen setzen. Das ganze läuft über ein Schieberegister im Master eines im Slave. Der Master empfängt nur vom Slave, wenn er Daten (z.B. Dummy Bytes) an den Slave schickt. Ergo: Der Slave kann nur senden, wenn der Master sendet (ziemlich interessante Sache und sehr einfach, wenn man das ganze verstanden hat...).
@Michael: Danke für den Tipp mit dem seriellen Protokoll. Hast du Details dazu (Baudrate etc.)?
@ben In dem Fall ist mit seriell nicht wirklich "Computer-seriell" (RS232) gemeint. Es ist vom Protokoll her den TV-Fernbedienungen mit RC5 sehr ähnlich. Ich habe die nächsten 1,5 Wochen keine Zeit, werde mich aber dann dran setzen das ganze zu implementieren. Mir scheint momentan die beste Lösung zu sein Data Out (Radio) an einen Pin des Mikrocontrollers zu koppeln um dann dort einen Interrupt auszulösen wenn Daten ankommen. Um das ganze umzusetzen werde ich mich erstmal ein bisschen mit normalem Infrarotempfang von Fernbedienungen befassen und das ganze dann auf das Radio adaptieren (für Fernbedienungen ist mehr als genug Source verfügbar...). Details bezüglich des Protokolls findest Du unter http://q1.se/cdcemu/details.php Grüße, Michael
Kleiner Tipp vom Fachmann: Das ist ein PWM-Signal... lange Pausen bedeuten eine 0, kurze Pausen bedeuten eine 1
Hallo, ich bin selber an einem ähnlichen Projekt. Die Ipod's der aktuellen Generation kann ich bereits relativ umfangreich via µC steuern. Nun fehlt noch das CDC zum Radio (RDC 300 - VW). Leider funktioniert der Link auf das Protokoll nicht; hat noch jemand weiterführende Links / oder das Protokoll als PDF etc.? http://www.mictronics.de/?page=cdc_proto -> broken link :-( Danke
Matthias Kölling schrieb:
> @ Mario
HELLO Matthias Kölling,can you give me a GateWay4(Schematic & PCB data,
part list)? thanks my email(solon.huang@gmail.com)
Hallo Zusammen. zuerst einmal, ein super Forum. Alle haben ne Menge beizutragen, aber irgendwie scheint das alles in sich nicht ganz schlüssig. Ich habe mich auch mal mit dem Protokoll beschäftigt und kann sagen, dass die HW-Beschreibung der Schnittstellen hier im Forum bei mir auch stimmen. Bei meinem ChorusII BJ´02 habe ich einen kleinen Emulator mit einem ATmega8 kreiert. Er Läuft beim Kontakt Emu->Radio mit der SPI-Schnitstelle. Bei Radio-Emu ist es die vom Infrarot-FB bekante Komunikation. Das klappt auch soweit alles. Ich kann alle Positionen (CD, Track, Minute, Sekunde) im Display veränden. Auch kontrolliere ich die vom EMu gesendeten Bytes mit dem Chorus-Diagnosemodus (MemoryTase1 beim Einschalten gedrückt halten) Hier bekomme ich wie bei "Martin.S (martinsuniverse.de)" beschrieben auch die Tastencodes an den Emu gesendet. Ich sende dann den Code für die gedrückte Tase einfach als Zeitinformation zurück. Doch nun zu meinem Problem: In diesem Zustand kann ich die beiden Tasten für CD-/CD+ nicht richtig nutzen. Unabhängig davon, wlche CD mir im Display angezeigt wird, wenn ich CD- betätige, passiert garnicht. Betätige ich CD+, dann erscheint links oben im Display "CDC5 Load". Dann wird auch der EIngang gemutet. Nach in paar Sekunden schaltet das Gerät wieder in den normalen betriebsmodus. Wenn ich während der Anzeige "CDC5 Load" die CD+ Taste noch mal betätige, dann wechselt die Anzeige auf CDC9 Load" und da nach auf CDC10 Load" Während dieser Anzeige kann ich dann auch CD- betätigen und die Anzeige springt wieder auf die Vorheriege. Wenn die Taste CD- ode CD+ betätigt und angenommen (Anzeige ändert sich) wird, dan wird auch der für die Angezeigte CD gesendet. Eine Bestätigung com Emu mit der Richtigen CD im Telegramm wird zwar korrekt angezeigt, verändert aber die Funktion der CD-/CD+ Tasten nicht. Hier könnte ein Beitrag von Heinz vielleicht noch mal ins Spiel kommen. Hier ist die Rede von Toc-Data und Play-Data. Kannst da mal jemand noch etwas mehr zu sagen? Wie das funktioniert, bzw. wie das im Protokoll gehandelt wird? Gibt es irgendwo noch Informationen, wie das mit dem Panasonic Protokoll aussieht? Also nicht die HW sondern der Datenverkehr. VG, F-J
Hi, weiß jemand zufällig ob ich beim VW Beta 5 von dem CDC Versorgungsstecker(17) 300 - 500ma ziehen darf/kann? Oder sollte ich lieber auf den 12 V permanent (16) Wechseln sollte. Weil bei 12 V permanent würde das doch auch laufen wenn der Schlüssel gezogen ist oder? hatte nämlich vor gleich die 5V die ich für den MP3 Player zum aufladen und für einen USB Buchse zu nutzen. Erzeugt wirds mit einem LM2576. Ich hoffe jemand kann das Beantworten. Gruß
Hallo, hat noch jemand die Unterlagen von www.k9spud.com? Die Seite gibt's nicht mehr und ich hätte gerne etwas detailierte Infos zum CD-Wechsler-Protokoll. Danke und viele Grüße.
Falls das noch für jemanden von Interesse sein sollte bei so einem alten Radio: Das Ganze funktioniert auch bei einem Skoda Symphony CD- Radio, habe es mit nem Tiny2313 aufgebaut. Worüber ich gestolpert bin war, dass der Masse-Anschluss am blauen Mini-Iso die Audio-Masse ist und NICHT gleich der Fahrzeugmasse ist. Daher muss die Masse für die Spannungsversorgung der Emulation seperat abgegriffen werden. Viele Grüße.
Hallo Zusammen, erst einmal danke für die ganzen Informationen in diesem Thread. Ich versuche gerade einen einfachen Emu für mein 2009er RNS-e zu schreiben. Ich würde das ganze gern mit einem Arduino Mega mit SPI Interface machen. Hat das schon einmal jemand versucht? Ist das möglich? Vielen Dank! Quiggy
Ich habe in meinem Passat ein RNS 300 leider scheint das ein anderes Protokoll zu verwenden als hier beschrieben. Zumindest gibt es auf eBay unterschiedliche Wechsler für die hier beschriebenen Radios und das bei mir verbaute was darauf schließen lässt das ein unterschiedliches Protokoll verwendet wird. Für die hier beschriebene Reihe: http://www.ebay.de/itm/USB-SD-MP3-Wechsler-AUX-In-CD-VW-AUDI-SEAT-SKODA-8pin-Mini-Iso-/261408973362?pt=CE_Auto_Hi_Fi_Autoradios&hash=item3cdd306232 Für das RNS 300 und ähnliche: http://www.ebay.de/itm/USB-SD-MP3-Wechsler-CD-AUX-Adapter-VW-RNS-300-Delta-6-/130480983415?pt=CE_Auto_Hi_Fi_Autoradios&hash=item1e6145cd77 Kann hier jemand meine Vermutung bestätigen? Und weiß evtl jemand wo ich das Protokoll für mein Radio finde? Gruß Tobias
Hallo, das Topic lebt ja noch ;) @Tobi, ich kann bestätigen das es Protokolle gibt die von den bekannten Beschreibungen abweichen, ich hatte es für den Phaeton versucht, kam aber nicht über ein paar Basic commands hinaus. Ein großes Problem war das Init welches nie wirklich sauber lief, dazu kam noch, Play wollte gar nicht (Stop ging aber) und Track selection auch nicht, CD selection hingegen hat funktioniert, aber nur wenn das Init sauber war. Viel dabei geholfen hat mir Matthias Klumpp (http://kuniseins.ku.funpic.de/), danke auf jeden Fall noch mal ihn. Aber irgendwie ist das Projekt dann meinerseits zum erliegen gekommen da es winter wurde und basteln in der Garage auch keine Option war. Zumal ich mir noch zusätzlich ein Winterauto angeschafft habe und der Phaeton abgemeldet wurde. Mal sehen ob ich das wieder aufgreifen werden wenn es wieder warm und sommer ist und das auto wieder im Fokus steht ;) Sourcen darf ich wegen einer art NDA mit Matthias nicht veröffentlichen aber bei bedarf könnte ich meine Serial Dumps posten was die HU geschickt hat und ich in dem Moment für Tasten gedrück habe. Viele Grüße Daniel
Ja es lebt noch :-) ich habe hier ein Yatour yt-m06 Adapter zu liegen. Das ist ein Car Digital CD Changer mit sd-kartenslot. Dieses Gerät ist für einen Golf 5 Radio aber ich möchte es einem Citroen C4 anschließen. In einem Golf ist das Radio RCD 300 verbaut und in einem C4 das rd4 t5 n1 kml sx2 Radio. Ich dachte es reicht einfach den Stecker anzupassen. Aber da liege ich wohl falsch. Nach einigen Recherchen habe ich die Infos zu den Anschlüssen der Radios zusammengetragen. Bei dem RCD 300 nennt der CD Steuer Bus CD changer, bus DATA IN. manchmal auch Data In oder CDX Data In. Bei einem Radio rd4 N1 ist das der CANL CDC und CANH CDC. Wenn ich das richtig sehe liegt das CD Steuersignal auf dem CAN Bus. Bei den Links oben sind leider kein Infos mehr zu den CD Steuerbus zu finden. Mich interessiert es ob bei dem yt-m06 die Firmware zu den veschiedenen Fahrzeugmodulen angepasst ist. Ich habe einige Mails dazu an Yatour gesendet bis jetzt leider ohne Rückantwort. Vielleicht hat ja jemand einige Infos und Tips dazu. Danke und Gruß fiebiee
Hi zusammen, die Emulation funktioniert bei mir "nicht ganz" an einem Audi Concert II. Ich habe leider keinen echten CD-Wechsler als Referenz und würde mich daher sehr über Tipps freuen. Ich sende alle 10ms die empfohlene Sequenz, siehe Screens im Anhang. Problem: das Concert II-Display "flackert", wenn ich auf CD gehe, d.h. es springt zwischen der gewünschten CD-Wechsler Track-Anzeige und NO CD CHANGER (o.ä.?) hin und her und schaltet den Wechsler-Line-In nicht frei. Ebensolches Flackern, wenn ich beim Einschalten die Taste CD gedrückt halte. Lösungsversuche: - Ich habe bereits steigende statt fallender Flanke versucht, da reagiert das Radio gar nicht. - Außerdem habe ich den Pegel von 3.3V per Pull-Up/Open Drain auf 5V gehoben, ebenfalls keine Änderung. (Ich benutze einen IOIO OTG (hat mit Android-Handy noch andere Aufgaben), das ist ein Microchip PIC24FJ256.) Fragen: - Passt die Sequenz wie auf den Screens gezeigt? - Eine Vermutung wäre noch, dass der Wechsler im Radio nicht codiert/aktiviert/freigeschaltet ist und das Radio daher mit Flackern reagiert. Kann das jemand bestätigen? Danke und schönes Wochenende!
@jumpgood hast du dein Problem schon lösen können? Ich habe nämlich das Problem das ich obwohl das "CDC1 Track1 0:00" angezeigt wird kein Ton ausgegeben wird. Kann es sein das man dem Radio noch mitteilen muss das es das Lied abspielen soll?
Horst schrieb: > kein Ton ausgegeben wird. Ich habe bei mir festgestellt das Audi Concert scheint empfindlich auf die Audio-Pegel zu reagieren. Wenn der Eingang übersteuert ist kommt kein Ton raus.
Thomas F. schrieb: > Horst schrieb: > kein Ton ausgegeben wird. > > Ich habe bei mir festgestellt das Audi Concert scheint empfindlich auf > die Audio-Pegel zu reagieren. Wenn der Eingang übersteuert ist kommt > kein Ton raus. Hallo, Ich Speise über einen MP3 Player das Audio Signal ein, ich versuche mal mit der Lautstärke zu spielen. Da du auch ein Audi Concert besitzt, welche Bytes sendest du an das Radio um den CD Wechsler vorzutäuschen? Danke im Voraus
Horst schrieb: > Da du auch ein Audi Concert besitzt, Nicht mehr. Das war in meinem letzten Auto welches ich vor ein paar Monaten verkauft habe. Darin hatte ich ein Audi Concert 1. Anfangs habe ich auch versucht den CD-Eingang mit eigener HArdware+Software frei zu schalten. Aber nachdem ich zwei Tage rumprobiert und es nicht funktioniert hat habe ich dann bei Ebay einen Adapter gekauft. Müsste noch irgendwo rumliegen aber auslesen kann ich nichts da kein passendes Radio mehr vorhanden.
Freischalten? Um den Cd Wechsler freizuschalten benötigt man doch ein Diagnose Interface (wie zB VCDS). Oder geht das auch anders?
@Thomas Forster Achso ok, trotzdem danke Klaus schrieb: > Freischalten? Um den Cd Wechsler freizuschalten benötigt man doch > ein Diagnose Interface (wie zB VCDS). Oder geht das auch anders? Ja, du kannst zB mit einem Raspberry Pi oder ICs dem Radio vortäuschen ein CD Wechsler zu sein, indem du bestimmte Bytes an das Radio sendest. Ob das per VCDS geht bin ich mir nicht sicher. Hier ist warscheinlich von freischalten die Rede, weil das Radio den Audio Eingang nur dann "abhört", wenn auch ein CD Wechsler angeschlossen (vorgetäuscht) ist.
Hallo Horst. Danke für die Antwort. Das mit den zu sendenden Signalen ist mir soweit schon klar. Hatte ja selbst was diesbezüglich gebaut: Beitrag "iPod-Interface am Anschluss des CD-Wechsler für Audi Werksradio (1. Generation)" Was ich jedoch meinte ist, dass man in der Codierung des Radios den Wechsler erst einmal freischalten muss, sonst kommuniziert das Radio erst gar nicht über die Ports. Und das geht zB mit VCDS. Gruß Klaus.
Klaus S. schrieb: > Hallo Horst. > Danke für die Antwort. Das mit den zu sendenden Signalen ist mir soweit > schon klar. Hatte ja selbst was diesbezüglich gebaut: Beitrag > "iPod-Interface am Anschluss des CD-Wechsler für Audi Werksradio (1. > Generation)" > > Was ich jedoch meinte ist, dass man in der Codierung des Radios den > Wechsler erst einmal freischalten muss, sonst kommuniziert das Radio > erst gar nicht über die Ports. Und das geht zB mit VCDS. > Gruß Klaus. Hallo Klaus, achso so war das gemeint. Könntest du mir vielleicht bei meinem Versuch helfen einen CD Wechsler zu emulierten? So wie ich das nämlich verstanden habe muss man zwei Leitungen ansteuern. Eine CLOCK-Leitung und die DATA IN Leitung. Ich entwickle in C mit dem Raspberry Pi und nutze da SPI. Als Clock-Frequenz habe ich 125KHz eingestellt. Aber was für Bytes muss ich dann genau auf die Data In Leitung schicken? Ich verstehe nicht so recht anhand der hier verlinkten Seiten wie das Protokoll aufgebaut ist. Im Moment habe ich es ab und zu geschafft, wenn ich jede 10ms folgende Bytes sende: 0x74, 0xBE, 0xFE, 0xFF, 0xFF, 0xFF, 0xCF, 0x7C Und zwischen den Bytes jeweils 700us Pause. Meistens wird mir dann "CDC Error" oder "CDC Load" angezeigt. Selten auch "CDC1 Track 1 0:00". Danke im Voraus Gruß Horst
Hast du mal probiert am Anfang die Pakete zum Laden einer CD zu senden? https://www.mikrocontroller.net/attachment/highlight/33106 Ist schon sehr lange her, aber ohne Grund habe ich das nicht eingebaut.
Bei mir ist das leider auch schon etliche Jahre her. Ich schau mal in den C-Code welche Bytes ich gesendet hatte...
Andreas W. schrieb: > Hast du mal probiert am Anfang die Pakete zum Laden einer CD zu > senden? > https://www.mikrocontroller.net/attachment/highlight/33106 > Ist schon sehr lange her, aber ohne Grund habe ich das nicht eingebaut. Danke ich schau mir das mal an, aber muss ich das Radio doch immer vor dem Emulator einschalten oder? Klaus S. schrieb: > Bei mir ist das leider auch schon etliche Jahre her. Ich schau mal > in den C-Code welche Bytes ich gesendet hatte... Ok danke Gruß Horst
Horst schrieb: > aber muss ich das Radio doch immer vor > dem Emulator einschalten oder? Eher umgekehrt, der Emulator muss spätestens gleichzeitig mit angehen: Das Audi Delta beispielsweise sendet direkt nach dem Einschalten eine Bytefolge an den Wechsler. Diese Folge muss bereits richtig beantwortet werden sonst bleibt der Wechslereingang gesperrt, egal was später noch kommt. Der CDC-Emulator muss also spätestens mit dem Radio einsatzbereit sein. Für das Concert habe ich beim Einschalten nicht mehr explizit gemessen aber dieses sendet auch gleich mal eine Bytefolge. Meinen CDC-Emulator für das Delta-Radio hatte ich damals mit einem Tiny2313 aufgebaut. Angeschlossen an den Spannungsausgang für den Wechsler startet der Atmel schnell genug um dann gleich zu antworten. Wie schnell der Raspi mit SPI bei dir startet weiß ich nicht.
Thomas F. schrieb: > Eher umgekehrt, der Emulator muss spätestens gleichzeitig mit angehen: > > Das Audi Delta beispielsweise sendet direkt nach dem Einschalten eine > Bytefolge an den Wechsler. Diese Folge muss bereits richtig beantwortet > werden sonst bleibt der Wechslereingang gesperrt, egal was später noch > kommt. > Der CDC-Emulator muss also spätestens mit dem Radio einsatzbereit sein. > > Für das Concert habe ich beim Einschalten nicht mehr explizit gemessen > aber dieses sendet auch gleich mal eine Bytefolge. > > Meinen CDC-Emulator für das Delta-Radio hatte ich damals mit einem > Tiny2313 aufgebaut. Angeschlossen an den Spannungsausgang für den > Wechsler startet der Atmel schnell genug um dann gleich zu antworten. > > Wie schnell der Raspi mit SPI bei dir startet weiß ich nicht. Hallo, ok das werde ich aufjedenfall ausprobieren. Wie seid ihr eigentlich an die Packete gekommen die dem Radio sagen das es z. B. eine CD laden soll? Habt ihr die Packete dann einfach von einem CD Wechsler mitgeschnitten? Und die 8 Bytes sagen doch lediglich CD, Track, Minute, Sekunde,... Usw aus. Oder gibt es verschiedene Zeitpunkte (zum Beispiel direkt beim Start des Radios) an denen die Packete "andere Informationen beinhalten"? Gruß Horst
Horst schrieb: > Wie seid ihr eigentlich an die Packete gekommen Für das Audi delta hatte ich einen Wechsler den ich durch einen MP3-Player ersetzen wollte. Also habe ich einfach die Datenleitung mit dem I2C-Sniffer von PeDa abgehört (Delta hatte eine Art I2C-Schnittstelle im Gegensatz zum späteren Concert mit SPI). Das spätere SPI-Protokoll habe ich mir nicht mehr angesehen, nur noch den gekauften Adapter angesteckt und fertig.
Thomas F. schrieb: > Für das Audi delta hatte ich einen Wechsler den ich durch einen > MP3-Player ersetzen wollte. Also habe ich einfach die Datenleitung mit > dem I2C-Sniffer von PeDa abgehört (Delta hatte eine Art > I2C-Schnittstelle im Gegensatz zum späteren Concert mit SPI). > > Das spätere SPI-Protokoll habe ich mir nicht mehr angesehen, nur noch > den gekauften Adapter angesteckt und fertig. Hallo, Achso, habe ich das eigentlich richtig verstanden, dass der Audio Eingang ab dem Moment freigegeben ist, wenn die Pakete für CD, Track, Minute,... Usw gesendet werden? Und du sagtest in einer vorherigen Antwort zu mir, dass es sein kann das ich den Audio Eingang übersteuere und deswegen keinen Ton habe, ich habe allerdings nur ein MP3 Player angeschlossen. Gibt es noch andere Gründe warum ich nichts hören kann? Gruß Horst
Horst schrieb: > den Audio Eingang übersteuere und deswegen keinen Ton habe Nun, so ist mir das bei mir jedenfalls vorgekommen. Hast du mal unterschiedliche Geräte ausprobiert? Jedes Handy/Navi hat ja heute einen Audio-Ausgang. > Gibt es noch andere Gründe warum ich nichts hören kann? Richtig angeschlossen? Audio-Masse angeschlossen? Mehr fällt mir nicht ein.
Thomas F. schrieb: > Nun, so ist mir das bei mir jedenfalls vorgekommen. Hast du mal > unterschiedliche Geräte ausprobiert? Jedes Handy/Navi hat ja heute einen > Audio-Ausgang. > >> Gibt es noch andere Gründe warum ich nichts hören kann? > > Richtig angeschlossen? Audio-Masse angeschlossen? > Mehr fällt mir nicht ein. Hallo, mh ja hab auch schon mein Handy angeschlossen. Hab das jetzt gerade noch ein paar mal ausprobiert, wenn der Raspi überhaupt mal erkannt wird, dann steht da wieder nur "CDC1 Load" oder "CDC Error". Ich teste mal weiter.
Hallo, nach vielen weiteren Tests, bin ich leider nicht wirklich weitergekommen, ich hab testweise nochmal versuch das Signal zu invertieren, sodass ich immer 5V anliegen habe und dann nach 0V schalte, vorher war ja immer 0V und ich hab dann eben 5V geschaltet. Naja trotzdem danke
Hallo nochmal, benötigt man eigentlich für die Ansteuerung nur den Clock Pin, den Data In Pin und ggf. noch den Data out Pin des Radios? Gruß Horst
Es ist eine SPI-Schnittstelle. Diese hat nun mal Clock und 2xData. Wenn man nur senden will reicht theoretisch Clock k und Data-in aus. Allerdings bekommt man da nicht mit ob das Radio gerade was sendet. Also verwendet man besser alle drei Leitungen.
@Horst Ist denn auch der richtige SPI-Modus gewählt (Mode 2, CPOL=1, CPHA=0)?
Andreas W. schrieb: > @Horst > Ist denn auch der richtige SPI-Modus gewählt (Mode 2, CPOL=1, CPHA=0)? Beim Raspberry Pi kann man zwischen zwei Modes wechseln, ich hab Mode 0 gewählt. Allerdings habe ich es jetzt endlich geschafft, das Radio spielt jetzt das Audiosignal vom Audio Eingang ab. Es hat mir echt viele Nerven gekostet. Es läuft nicht 100%ig stabil und mir ist auch noch nicht klar wie genau die Bytes das Radio steuern (teilweise hat sich sogar die Lautstärke verstellt wenn ich am 2. Byte (Disc) gedreht habe), aber das mindeste ist geschafft und so hab ich mein Ziel erreicht. Danke an euch für die Hilfestellung, falls noch jemand fragen hat, kann er sich gerne melden. Gruß Horst
Hallo, meine Lösung wollte ich natürlich nicht verschweigen. Folgende Bytes sende ich an meine Pegelwandlerschaltung (3,3V auf 5V, deshalb auch invertiert): 0x8B, 0x26, 0x01, 0x00, 0x00, 0x00, 0x30, 0x83 Am Radio kommt dann wiederrum das hier an: 0x74, 0xD9, 0xFE, 0xFF, 0xFF, 0xFF, 0xCF, 0x7C Das Packet sende ich in einem Intervall von 5ms und zwischen jedem Byte warte ich 700µs. Gruß Horst
Hallo zusammen ich schreibe mal hier in diesem Thread damit ich keinen neuen erstellen brauche. Habe den Arduino uno an mein Audi Symphony Radio angeschlossen und funktioniert auch soweit also cdc wird erkannt. Aber der Line In ist ziemlich leise muss das Radio relativ laut stellen, ist das normal in dem fall, hatt der Originale wechsler eine Integrierte Verstärkung? Kann mir jemand etwas empfehlen um den Pegel anzuheben? Danke schonmal. LG
Andre schrieb: > Hallo zusammen ich schreibe mal hier in diesem Thread damit ich keinen > neuen erstellen brauche. Das hätte genausoviel Aufwand bedeutet, wie dich hier dran zu hängen und diesen Thread zu kapern. beim ursprünglichen Thread ging es um ein CD Wechsler Protokoll. Bei deinem Beitrag geht es um Lautstärke an einer Schnittstelle. Die beiden Themen haben also eigentlich gar nix miteinander zu tun, insbesondere da du den Betreff deines Beitrages noch nicht mal geändert hast, und es anscheinend immer noch um CD Wechsler Protokolle geht. Wer sollte nun also deinen Beitrag wieder finden bzw. dir auf dein anders gelagertes Problem/Thema antworten? Dir stünde es frei, einen Link zu diesem CD-Wechsler Thread in deinem (neuen) Beitrag einzufügen, damit der geneigte Leser weiß, daß das gegebenenfalls irgendeinen Bezug hat. @Moderator: Bitte Beitrag von Andre an einen anderen Thread anhängen.
Sehr konstruktiv, danke für nichts. Da das ganze zusammenhängt habe ich das hier hineingeschrieben. Es geht um das Paket ansich. Falls jemand genauso das Problem hat. Wie ja hier in den Antworten, die ich mir alle durch gelesen hab, glaube auch dabei stand nur irgendwie keine Lösung dazu. ??♂️ Aber egal mache ich extra nen neuen Thread auf.
Ich muss mich hier mal einklinken. Ich habe aktuell etwas ähnliches vor, aber für die andere Seite. Den "CD-Wechsler-Simulator" alias USB/SD/Bluetooth-Adapter habe ich schon, ich möchte ihn aber nicht direkt an ein Radio anschließen, sondern einen Arduino als Übersetzer dazwischen hängen, da es für mein Radio (Audi Delta CC) keinen Simulator gibt. Habe auch schon fast alles fertig, bis auf die Auswertung der Kommunikation vom CDC-Simulator kommend. Also quasi das, was in dem Projekt aus diesem Thread gesendet wird, zu empfangen und auszuwerten - bzw eigentlich reichen die Informationen aus Byte 2 und 3 (CD- und Track-Nr.) um auch diese ans Radio weitergeben zu können. Habt ihr ne Idee, wie man das Arduino-Basiert decodiert? Erschwerend habe ich mittels Oszilloskop dazu feststellen müssen, dass im 3. Byte jede Ziffer der Track-Nr. einzeln aufgelöst wird und das Byte quasi zweigeteilt ist. Beispiel: Track 01: 0000 0001 Track 02: 0000 0010 Track 11: 0001 0001 Track 21: 0010 0001
Bin ich überkritisch? Oder ist das richtig, dass Du immer wieder die selben Fragen stellst und ab und zu mal eine neue hinzufügst? Beitrag "Hilfe bei Signalbestimmung bzw Auswertung mittels Arduino" Und jetzt noch Thread-Nekrophilie? Hast Du nun verstanden wie SPI funktioniert? Hast Du irgendeine Idee, wie SPI und die Radio-Schnittstelle zusammenpassen? Poste mal den Code den Du fertig hast. Was ist das Problem dabei, ein bestimmtes Byte aus einer Serie von Bytes auszuwerten? Und was ist jetzt bei der Kodierung der Track-Nummer das Problem?
Theor schrieb: > Bin ich überkritisch? Oder ist das richtig, dass Du immer wieder die > selben Fragen stellst und ab und zu mal eine neue hinzufügst? Ich bin ehrlich gesagt ziemlich überfordert, da alles was ich bisher als mögliche Lösung gelesen habe, die "klassische" Arduino-Programmierung bzw. Libraries übersteigt. Dazu fällt es mir, auch da ich absolut aus einer anderen fachlichen Ecke komme, schwer mich vernünftig auszudrücken - das merke ich ja selbst. > Und jetzt noch Thread-Nekrophilie? Naja, hier steckt ja schon einiges an Know-how zur schnittstelle drin... > Hast Du nun verstanden wie SPI funktioniert? Hast Du irgendeine Idee, > wie SPI und die Radio-Schnittstelle zusammenpassen? Ja, schon. Und daher weiß ich auch, dass das ganze weniger zusammen passt als ich bisher dachte. Gründe: -fehlendes SlaveSelect-Signal beim Radio / keine definierte Startbedingung bzw nur das Timing -bei der Radioschnittstelle ist ein HIGH-Pegel eine 0 > Poste mal den Code den Du fertig hast. Kann ich morgen gerne machen incl Screenshot der Auswertung. Habe etwas "vereinfacht" mittels bitbang/polling, das ist aber nicht ganz stabil - alle paar Lesevorgänge verschluckt der Arduino 1-2 Taktzyklen. > Was ist das Problem dabei, ein bestimmtes Byte aus einer Serie von Bytes > auszuwerten? > > Und was ist jetzt bei der Kodierung der Track-Nummer das Problem? Naja, für jemanden der das öfter macht, ist das vielleicht kein Problem. Für mich schon - ich dachte, für so etwas wären Foren da. Wenn ich das alles schon könnte, oder die Informationen die ich bisher gefunden habe für mich leicht verständlich wären, würde ich nicht nachfragen. Dennoch vielen Dank für Deine Geduld mit mir!
Im Anhang mal der Code, und dazu noch das Foto der Ausgabe, wo man sieht dass teilweise vermutlich was verschluckt wird (eigtl müsste permanent das gleiche angezeigt werden - CD 1 Track 16).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.