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.
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.
@ 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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.