• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


SDIO STM32F411 Audio Player mit HAL standard library
#1
also..nachdem ich ein nettes mini-modul mit STM32F411 von ebay bestellt hatte, weil es für 5 eu einfach ein MUSS war , stellte sich die Frage, was mache ich nun damit, außer einen speed Test, ob die cpu echt schnell ist.
Test zeigte: jo, kann Port Zugriff in akzeptabler Zeit, ist ja ein 100MHz F4 core, da macht er tatsächlich pin lo -> pin hi in 10 ns. fein. und nu?
   

Idee: ein Audio Player. jaaaa, nicht gerade neue Idee, aber selbst bauen - das schon. Natürlich Hi-End Qualität, weil nen MP3 Player für 2.50 brauche ich nicht nochmal selbst basteln, aber sowas mit richtig gutem DAC wäre schon was...hmmm.
also angefangen: Projekt Audio Player .
- spielt von SD Karte , oder evtl USB Stick, erstmal nur wav Format, also simple Audio Dateien, wie auf CD. ( Hab ich paar...ca. 300 .)
Das war aber schon das erste Drama - ca 15 Std , bis die doofe micro-SD mal irgendwas von sich gibt. Dann geht's wie wenn es nie ein Problem damit geben sollte, naja, real life eben. Muss natürlich im 4bit SDIO mode, mit 50 Mbit speed - wenn es das schon können soll. Kann es auch.  Wink
Habe es auf 48MHz clock, bin ja tolerant. (Versuch mit 96MHz zuzugreifen, macht die SD-Karte unbrauchbar...also tolerant.)

Aktuell dudelt er , wie gewünscht, so vor sich hin, endless loop über die Dateien auf dem SD Ding.

Mit der alten Sony CD-Fernsteuerung zu bedienen, die bin ich halt seit 30 Jahren--irgendwie gewohnt. Daher Sony IR Dekodierung.
Der DAC ist ein AD1852 , hatte ich vor 8 Jahren als sample bestellt, da sollte er doch mal zu Ehren kommen.
aktuell nur SDcard -> wav play, braucht 45kB RAM und 50,3kB flash; die cpu hat 512kB....da ist noch Luft.  Big Grin
zZ läufts noch vom USB, STLINK debug port, Netzteil bastel ich gerade zusammen. Dann kommt morgen der erste "echte" Hörtest...  Tongue
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#2
Und Ihr jammert herum das ich zu viel Zeit in ne Schwingspule investiert hatte....
 
Reply
#3
tja, tjaaaaaa .  Rolleyes

nach einigen Kämpfen mit der Tücke des Objekts...spielt es jetzt WAV (CD rip Format) astrein.
seit heute , nach "nur" gesamt ca. 38 Std. (verdammt, wie die Zeit vergeht!) spielt auch der FLAC Dekoder mit,
nur der MP3 hat eher so nen leicht "gurgelnden" Sound. (vmtl. noch irgendein counter oder pointer daneben... Rolleyes ).
CPU load 60...80% , 100MHz F4 core.
sonst echt cool.  Big Grin

next: sound test mit CS4398 als DAC. (der ali hat schneller geliefert als gedacht, setzt mich quasi unter Zeitdruck.) Tongue
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#4
Ja, sehr schön. Smile
 
Reply
#5
der F411 spielt jetzt, mit CS4398 als DAC, mit Lautstärke einstellbar und umschaltbarem digital Filter(der DAC kann das, per I2C ) .
CPU Last : ca. 2% WAV, 35% FLAC , 30% MP3 (mit floating point Berechnung, ca. 120dB Dynamik).
Rauschabstand ist sehr gut, wenn man bei guter Lautstärke (eine Unterhaltung ist kaum noch möglich) auf PAUSE geht, hört man kein Rauschen;
nichts - selbst mit dem Ohr fast am Lautsprecher. Das ist voll akzeptabel. Ohne jegliche Muting-Schaltung oder so Gimmicks.
Big Grin
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#6
Ist denn schon eine Kiste drumherum?

Weih
 
Reply
#7
ach komm  Rolleyes
ein eleganter Karton !
zwecks hin und her tragen vom PC zum Wohnzimmer ausreichend, wenn die Software passt, kommt es ins Gehäuse.

+ spielt jetzt auch vom USB-stick, zur Ergänzung der Musik-Auswahl.  Big Grin
Phase habe ich auch noch umschaltbar gemacht, sind ja noch einige Tasten der FB unbenutzt. Tongue
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#8
inzwischen gibt es die V.2 Version, mit einem ES9028 als DAC, da in diversen neueren Tests die (angeblich) besten DA-Wandler meist chips von ESS benutzen , daher muss das Zeug mal versucht sein:
Zitat:Using the critically acclaimed ESS patented 32-bit HyperStream DAC architecture and Time Domain Jitter Eliminator, the ES9028Q2M SABRE32 Reference DAC delivers a DNR of up to 129dB and THD+N of –120dB, a performance level that will satisfy the most demanding audio enthusiasts.

und eine V.3 , mit dem kleineren STM32F401 ; kann nur von USB stick WAV spielen, für Dekoder hat er zu wenig RAM.
dient eigentlich nur zu testen eines NOS DAC, also no-over-sampling , mit dem ollen TDA1387 als DAC, direkt 16 bit auf passiven R-C Filter als output.
Klang ist für den simplen Versuch erstaunlich gut, also noch etwas mehr Mühe fürs Design investieren und testen.
Aktueller Versuch: 2 x TDA1387 , einen halben Wordclock versetzt, also mit effektiv 88,2 kHz getaktet, aber ohne digitalen Filter, also nur originale Roh-daten ;
dazu re-clocking mit dem master clock , da die Wandler direkt mit dem bitclock getaktet werden und der direkt vom Prozessor zuviel Jitter drauf hat.
mal sehen, was dabei raus kommt...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#9
Der Wordclockversatz ist dann eine Art "Weichspüler"?
 
Reply
#10
nee, es sind ja 2x die original-Daten, das ergibt einfach eine lineare Interpolation mit 88.2 kHz , also genau immer 1/2 Zwischenstufen; 
ob es besser klingt, als einfach 44.1k zu lassen, wird sich zeigen. (ich kanns ja einfach um-verdrahten 44k, 88k interpoliert oder symmetrisches Signal)

Das andere wäre ein oversampling Filter , zB mit 88.2k = 2x oversampling, mit einem FIR Filter , was ich auch noch versuchen möchte;
selbst "gebastelt" natürlich, also Koeffizienten in der CPU durchrechnen und zum Wandler...

zum Vergleich habe ich ja u.A. den CS4398 am selben Datenstrom, der ist ja ein 24 Bit, 120dB , 8x oversampling multibit noise shaper , der aktuelle Stand der Technik sozusagen.
ohne direkten Vergleich mit einem "Top-DAC" wäre es ja deutlich schwieriger, Unterschiede zu bewerten, bzw überhaupt zu erkennen.
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#11
so, paar Messungen:

so sieht das auf 88.2k interpolierte Signal aus:

   

der Jitter vom CPU / PLL lässt sich mit meinem DSO locker darstellen:
   

das ist das Signal vom word-clock, einen Takt verzögert, also der Jitter / Taktfehler auf eine sampling - Periode

 mit re-clocking vom master clock sieht das selbe so aus:
   

der originale "Fehler" liegt wohl so bei -60db , ergibt also "HiFi" nach minimal-Standard und entspricht soweit auch der Spezifikation der AES für "consumer standard" als minimum spec. Mit re-clock kann das DSO nix mehr anzeigen, klar, das Ding hat ja auch nur einen (guten) Quarzoszillator als Referenz.
Ergebnis also wie erwartet. 

mit sinc Filter und Musik sieht es dann so aus:

   

und der Klang ?
naja, erstmal zu viel Hochton - mein sinc Filter wohl etwas zu "gut" , macht ein wenig zu viel Hochton. Ansonsten klingt es sehr natürlich, der Bass könnte etwas voller sein.
Das ist relativ zum Hi-tech-CSxxx schon verdammt gut, vor allem die Stimme , speziell Zischlaute, kommen besser, natürlicher als bei den neumodischen DACs . 
Bleibt spannend...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#12
update:
die NOS-Fraktion (-> TDA1387 ) getestet, mit 88k und mit 44k "direkten" Daten, ohne jede Änderung: 44k klingt irgendwie besser...also Interpolation war nix.

für die V1 Version hatte ich im Zuge von "testen wir mal die besten Wandler, die es so gibt" noch die DACs von ESS ins Auge gefasst, zunächst den günstigsten fertigen Modul-DAC auf ali bestellt und dann ran gedengelt; brauchte noch ne I2C Verbindung, da das Teil erst initialisiert werden möchte, damit es mit I2S auf 44.1k/16b überhaupt etwas tut; dann kann ich aber auch gleich die Lautstärke einstellen und verschiedene digitale Filter wählen...also etwas Programm erweitern.

https://de.aliexpress.com/item/1005002427177032.html

   

der ES9028 klingt gleich mal deutlich räumlicher, kann man sich echt anhören, so.  Die NOS-Abteilung kommt dagegen erstmal gar nicht an.  Rolleyes

also mal geguckt, was es von dem Verein noch so gibt (und nicht gleich > 1000eu kostet) ;
hm - ES9018 wäre anscheinend relativ neu und ES9038 auch, hat dann gleich 7 verschiedene dig-Filter zur Auswahl (+ einen zum selbst programmieren...)
also mal bestellt.

es geht also doch irgendwie ....immer noch ein klein wenig besser.  Big Grin
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply