Forum: Mikrocontroller und Digitale Elektronik Sound über 16-Bit DAC


von Tim (Gast)


Lesenswert?

Kann man mit einem 16-Bit DAC (Daten über SPI mit 8Mhz) eine Sounddatei, 
die ebenfalls 16-Bit tiefe hat, aus dem externen Flash (Quad SPI) mit 
44kHz abspielen?
Einen klassischen Codec kann ich nicht benutzen, da mein uC kein I2S usw 
hat.
Ich denke ja, aber evtl. habe ich einen Denkfehler gamacht.
Über PWM geht 16-Bit bei 48Mhz Systemtakt nicht. Das ist klar.
Danke und schönen Sonntag allen.

von Jim M. (turboj)


Lesenswert?

Tim schrieb:
> Kann man mit einem 16-Bit DAC (Daten über SPI mit 8Mhz) eine Sounddatei,
> die ebenfalls 16-Bit tiefe hat, aus dem externen Flash (Quad SPI) mit
> 44kHz abspielen?

Solange die beiden Chips nicht am selben Bus hängen, spricht nix 
dagegen.
Allerdings wissen wir nicht welchen Mikrocontroller Du benutzen willst.

von Falk B. (falk)


Lesenswert?

@ Tim (Gast)

>Kann man mit einem 16-Bit DAC (Daten über SPI mit 8Mhz) eine Sounddatei,
>die ebenfalls 16-Bit tiefe hat, aus dem externen Flash (Quad SPI) mit
>44kHz abspielen?

Mal gerechnet?

16 Bit @ 44,1kHz = 705600 bit/s

Selbst bei einfachem SPI, das erst Daten vom Flash liest und dann erst 
zum DAC weiterschickt braucht nur ~ 1,4 Mbit/s.

>Einen klassischen Codec kann ich nicht benutzen, da mein uC kein I2S usw
>hat.

>Ich denke ja, aber evtl. habe ich einen Denkfehler gamacht.
>Über PWM geht 16-Bit bei 48Mhz Systemtakt nicht. Das ist klar.

Naja, mit einem normalen DAC ohne FIFO wird es aber auch nicht so 
einfach, denn man muss die Samples sehr gleichmäßig senden, damit sie 
ebenso gleichmäßig ausgegeben werden, ansonstens bekommt man ordentlich 
Jitter und damit Verzerrungen rein. Man kann natürlich mit einem 44,1 
kHz Timer-Interrupt arbeiten, aber das macht schon ordentlich CPU-Last. 
DMA ist hier sehr von Vorteil, wenn es die CPU kann.

von Tim (Gast)


Lesenswert?

Ich hänge an der Frage, ob ich das hin bekomme 44.000 Mal (44kHz 
Abtastrate), 24 Bit Daten (16-Bit sind DAC Daten und der Rest sind die 
Steuerbits. Auf jeden Fall will das IC 24 Bits pro Frame haben) bei SPI 
Frequenz 8MHz zu schicken?
Ich weiß gerade nicht, wie man das rechnet.

von Falk B. (falk)


Lesenswert?

AUA.

DU bist PISA!

von Tim (Gast)


Lesenswert?

Das kommt von zu viel drüber denken.
So, wie du es vorgerechnet hast, sieht das gut aus.
Danke

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
Noch kein Account? Hier anmelden.