Audio-DAC an LPC2106?

Gast #153783
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?
OP Admin Persönliche Seite #153784
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.
Gast #153785
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?
OP Admin Persönliche Seite #153786
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...
OP Admin Persönliche Seite #153787
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.".
Gast #153792
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren