www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Audio-DAC an LPC2106?


Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat jemand eine Idee wie man einen Audio-DAC an den LPC2106 anbinden
könnte? Ein I2S-Signal zu erzeugen scheint ohne zusätzliche Hardware
fast unmöglich zu sein.

Gruß
Andreas

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fürchte, daß Du recht haben könntest. IIS ließe sich in Software per
"bit-banging" hinbekommen, aufgrund des hohen erforderlichen Takts
dürfte der LPC aber zu gar nichts anderem mehr kommen (bei
16-Bit-Stereo-Samples, die mit 44.1 kHz übertragen werden, liegt die
Datenrate bei etwa 1.4 MBit/sec).

Mit externer Hardware (parallel zu befüllendes Schieberegister) wird
sich das sicherlich lösen lassen. Aber auch das ist mit dem 2106 fast
schon grenzwertig, da der ja nur sehr wenig nutzbare I/O-Leitungen
hat.

Was genau hast Du vor?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen MP3-Decoder im LPC laufen und würde den Ton gerne
irgendwie dort rausbekommen. Das Problem mit I2S ist dass Masterclock,
Bitclock und Wordclock in festem Verhältnis stehen müssen, das ist mit
SPI wohl kaum möglich. Der einzige SPI-DAC den ich kenne ist der
VS10xx, aber den als DAC für einen Software-MP3-Decoder zu verwenden
wäre ja irgendwie unsinnig.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessantes Projekt. Ein "bit-banging" verbietet sich hier
vermutlich gänzlich, da der mp3-Decoder wohl auch ein bisschen
Rechenleistung verbraucht.
Ein Lösungsansatz, der allerdings nur mit einem FPGA/CPLD oder
ähnlichem realisierbar sein dürfte (oder einem recht großen Gattergrab)
wäre ein SPI-zu-IIS-Konverter. Der wird vom LPC via SPI befüllt und
kümmert sich um den Rest.

Was wäre von einem nicht-Audio DAC zu halten? Da gibt es immerhin
welche mit SPI-Interface, wie beispielsweise den hier
http://focus.ti.com/lit/ds/symlink/dac8532.pdf

Wenn ich mich nicht total vertue, müsste es möglich sein, den mit dem
SPI-Interface des LPC zu verheiraten, und die "update rate" von 93
kSample/sec sollte auch reichen. Du musst "nur noch" zu den richtigen
Momenten an der Leitung /Sync zupfen - und die richtigen Inhalte
senden.

Der Wandler möchte zwar 24-Bit-Daten übertragen haben, aber das dürfte
drei nacheinander per SPI übertragenen Daten entsprechen. In den
ungenutzen Bits werden, wenn ich das Datenblatt richtig überflogen
habe, Informationen wie Kanalwahl und anderer Kram übertragen (Siehe S.
11 im Datenblatt).

Wär' das was für Dein Projekt?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An einen "normalen" DAC habe ich auch schon gedacht; allerdings
brauche ich dann halt noch einen Tiefpassfilter und ggf. Verstärker,
also habe ich wieder ein paar Teile mehr auf der Platine, und
wahrscheinlich mehr Schwierigkeiten mit der Tonqualität im Vergleich
zur Single-Chip-Lösung. Aber besser als gar nichts ist es.

Externes CPLD ist auch eine Möglichkeit, aber aufwendig. Man bräucht
ein kleines FPGA im Controller, oder sowas wie die TPU im 68332...

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, vielleicht klappt das mit I2S doch. So wie ich das im Datenblatt
vom tlv320dac26 verstehe muss nur der Worttakt synchron zum Mastertakt
sein (das sollte mit dem Timer gehen), der Bittakt muss halt nur die
Daten rechtzeitig zum Worttaktwechsel vollständig reingeschoben haben
(das geht mit SPI). Beim CS4334 irritiert mich nur der Satz "Please
note that there is no required phase relationship, but MCLK
(Mastertakt), LRCK (Worttakt) and SCLK (Bittakt) must be
synchronous.".

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I2S geht definitf nicht mit SPI.
Wenn sich der Codec auf MSB first umstellen lässt kannst du mit SPI
arbeiten. Das funktioniert

Thomas

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm? MSB first ist doch Standard.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann schau dir mal I2S genauer an. (Wordclock zu Daten) dann weist du
was ich meine.
Thomas

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"The WS line changes one clock period before the MSB is transmitted."
Wo ist da das Problem? Würde es dir etwas ausmachen dich klarer
auszudrücken?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne jetzt zu sehr ins Detail zu gehen Es gibt bei Audio Codecs
diverse serielle Formate. I2S MSB first LSB first und ein paar andere.
Wenn du das ganze per SPI machen willst, kannst du eben kein kein I2S
verwenden.

Thomas

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MSB first ist wie schon gesagt Standard. Aber worauf willst du hinaus?
Ich kann Bits doch beliebig umsortieren, ein Bit mehr vorne dran
reinschieben, usw. Das Problem scheint viel eher die Synchronisation zu
sein.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der SPI des 2106 kann sowohl LSB first als auch MSB first (siehe User
Manual, Seite 128, Tabelle 100, Bit 6 im SPCR - LSBF).

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.