Sound über 16-Bit DAC

Gast #4555807
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.
#4555818
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.
#4555829
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.
Gast #4555831
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.

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