mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Digitalausgang (SPDIF) am Becker Radio möglich?


Autor: H. F. (hotw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: vilu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: vilu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: vilu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.