Hallo zusammen, ich bin neu hier und bin über google auf diesen Beitrag gestoßen: Beitrag "Open source Autoradio" Leider war dort meine Antwort scheinbar falsch platziert und wurde gelöscht. Tut mir leid, ich wollte niemand den Thread kaputt machen. Darum hier meine Anfrage bezüglich meines Radios, da es hier im Forum scheinbar einige gibt, die sich sehr gut damit auskennen. Wäre es möglich an z.B. mein Becker Cascade oder an mein Mercedes APS 30 einen spdif Ausgang zu bauen? D.h. gibt es vor dem internen Verstärker einen digitalen Abgriff? Würde mich sehr über eine Antwort freuen :) Grüße Holger
Das eingebaute CD-Laufwerk sendet die Daten als I2S Signal und analog Stereo. Der Audio-Teil des Cascade nutzt das analoge Signal aus dem Laufwerk direkt. Der I2S Datenstrom wird vom Navi verwendet um die Navidaten von einer entsprechenden CD zu laden. Das Laufwerk wird per I2C Bus gesteuert. Du müsstest also einen Controller zwischen die Cascade und das Laufwerk schalten, der die Initialisierung am I2C abfängt und entsprechend modifiziert um auch Audio per I2S auszugeben. Dann musst Du dieses I2S Signal über einen geeigneten Baustein in SPDIF und analog wandeln, ersteres für Deine Lösung, letzteres um den Analogteil der Cascade wieder zu bedienen. Eventuell kann Das Laufwerk auch beides parallel, das habe ich aber nicht mehr im Kopf. Deine Schaltung muss aber auch erkennen, wann Navi-Daten kommen und dann den SPDIF abschalten. Allerdings geht es in der Cascade relativ eng, Du hast also wenig Platz für Deine Schaltung. Hatte schon mal über eine ähnliche Idee nachgedacht. Das Renault Navi basiert auf einer Cascade ähnlichen Plattform von Becker und hat das gleiche MP3-fähige CD-Laufwerk drin. Aber das dusselige Teil unterstützt weder CD-Text noch MP3. Also dachte ich an einen kleinen Controller zwischen Basis und Laufwerk, der das deaktivieren von MP3 verhindert und MP3s als CD-Audio Tracks simuliert. Da ich eh meistens Mixes höre, reichen die maximal möglichen 99 Tracks bei einer CDDA auch aus. Gruß, Ulrich
Gibt es einen Standard zur Übertragung von Daten über I²S oder ist das irgend ein übler Hack? Das höre ich gerade zum ersten Mal... Holger
I2S ist ein verbreiteter Standard zur Audiouebertragung innerhalb eines Geraetes. Also etwa vergleichbar zu SPI. Es gibt aber einige Einstellmoeglichkeiten zu Bitraten, Bit/pro Word, left/right justificated, externer oder interner Takt. Controller die fuer Audio gedacht sind (wiez.B der SH7262) beherschen das aber natuerlich. Olaf
Der Teil ist mir auch klar, Olaf. I²S ist mein täglich Brot ;-) Deswegen hat mich der Satz "Der I2S Datenstrom wird vom Navi verwendet um die Navidaten von einer entsprechenden CD zu laden." von Ulrich auch so erstaunt, es war mir nicht bekannt, dass I²S noch anderweitig als zur Übertragung von PCM oder komprimiertem Audio genutzt wird.
Da gibt es wohl keinen Standard sondern nur eine einzelne sinnvolle Möglichkeit: Die Daten eines Sektors auf einer CDDA sind die RAW-Daten Audio und entsprechen den 16 Bit Werten für jeweils Links und rechts. Um Datei Daten über I2S zu transportieren, muss man also nichts anderes übertragen als man für Audio-Daten auch übertragen würde. Es gibt auf anderer Ebene Unterschiede in der Übertragung. So kann man fehlerhafte Audiodaten interpolieren, was man bei Dateidaten vielleicht besser nicht macht, dafür muss man aber erkannte Fehler und vor allem nicht behebbare Fehler signalisieren. Das müsste über den I2C laufen. Das Dateisystem auf einer CDDA entspricht ja dem alten einfachen ISO Dateisystem einer Daten-CD. Hier ist also kein Unterschied. Das Handling der Dateien wird per I2C Bus gemacht, also Verzeichnis abfragen, Datei finden, Sektoren der Datei anfahren, Dateidaten lesen. Ist verhältnismäßig einfach, da die Dateien immer zusammenhängend geschrieben werden. Erst die neuen, von den Navis aber nicht unterstützten Dateisysteme wie UDF erlauben auch das zerstückeln der Dateien. Ich kann Euch aber aus dem Kopf nicht sagen, in welcher Reihenfolge die Daten nun aus dem I2S fallen, also Low-Word/High-Word oder umgekehrt. Muss mich mal darum kümmern, weil ich meinem Becker gerne ein DVD verpassen würde und das Navi aber nicht verlieren will. Muss da mal in den Specs graben. Gruß, Ulrich
Vielen Dank für die Erläuterung, Ulrich! Ich frage mich nur, warum man nicht gleich alles über ein "gescheites" Interface wie SPI macht und stattdessen Daten und Steuerung trennt. Aber ich muss ja nicht alles verstehen ;-). Viele Grüße, Holger (der sich jetzt wieder dem I²S auf seiner DSP-Platine zuwendet)
Es wäre deutlich aufwendiger die Steuerbefehle auch über das I2S zu senden, denn dann müsste man fast sowas wie SATA implementieren. Es müsste also ein Command-Interface dazwischen und zusätzliche Steuerleitungen, die die Richtung und Datentyp signalisieren. Es würde nicht nur im Laufwerk den Aufwand erhöhen, sondern auch im Gerät, denn die Schnittstelle zum DAC müsste umschaltbar sein. Das wiederum brächte den ADC aus dem Takt oder er müsste puffern. Damit braucht er seinen eigenen Takt, der auf den I2S synchronisiert werden muss aber konstant bleiben muss, wenn der interne Buffer verwendet wird... So pustet der DSP auf dem Laufwerk die fehlerkorrigierten CDDA oder dekodierten MP3/WMA daten einfach konstant in der richtigen Bitrate auf dem I2S raus direkt in den DAC. Welche Daten man gerne dort hören würde und welche Lautstärke u.s.w. das kann man dem Laufwerk einfach per I2C mitteilen. Auch die Infos zu Track, Play-Position, Dateiname u.s.w. kommen über den I2C. Die Schnittstelle kann man als einfache, meist reaktive, State-Machine in wenigen Stunden zusammen programmieren. Habe ein DVD-Laufwerk aus gleichem Hause mal mit einem AVR angesteuert, Kinderleicht! Gruß, Ulrich
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.