Hi, ich plane, auf einem STM32 einen Audioplayer (MP3, Ogg, oder ähnliches) zu implementieren. Im Netz finde ich jetzt reichlich Schaltungen mit externem AudioDAC. Warum wird für die Audioausgabe nicht der STM32-eigene DAC genutzt? Gruß Lasse
Könntest du die Aussage STM32 etwas eingrenzen? - Dann könnte man mal ins Datenblatt schauen und dir ne Antwort geben. So kann man nur raten. Vielleicht zu geringe Auflösung. - KA Gruß
Hi, bspw. der STM32F103RC. Da steht im Datenblatt, wenn ich das richtig lese: 12Bit, 1MS/s. Das sollte doch für ne Audioausgabe reichen, oder? Ich habe leider bzgl. Audiosignalen noch nicht viel Ahnung, das ist das erste Projekt in diese Richtung. edit: ich lese gerade hier: Beitrag "Audio-DAC an LPC2106?" dass die benötigte Schnelligkeit wohl fehlt. Gibt es sonst noch weitere Einschränkungen (einen IC einsparen wäre schon schön, so prinzipiell ;))? Gruß Lasse
> Da steht im Datenblatt, wenn ich das richtig lese: > 12Bit, 1MS/s. Das sollte doch für ne Audioausgabe reichen, oder? Du hast recht, das reicht vollkommen aus. Frueher als man noch die moegliche Dynamik einer CD von 96db/16Bit ausgenutzt hat, da haette das nicht gereicht. Heutzutage ist man da weiter. Die Musik wird so platt runtergemischt das vermutlich sogar 8Bit ausreichen. Olaf
Also CD Qualität ist: 44,1 kHz Abtastrate und 16 Bit Auflösung. Vielleicht schnappst du dir mal ein Audioprogramm wie Audacity und speicherst in verschiedenen Formaten ab, um dir klar zu werden was für dich ok ist. Das wäre zu PCM - wav. Wenn du mp3s abspielen willst würde ich dir den Chip empfehlen, dessen Name mir gerade nicht einfällt. (Vlt kann jemand weiterhelfen) - mal nach mp3-Decoder suchen... Gruß
Der Prozessor hat alles was man für MP3s braucht und theoretisch ist es bestimmt auch möglich die DACs zur Ausgabe zu nutzen. Nur ist es halt fraglich wie die Audioqualität sein wird. Olaf hat mit seiner Aussage wohl gar nicht so unrecht... Kann man die DACs denn per DMA mit Daten füttern? Das ist denke ich mal Grundvorraussetzung.
Kein Hahn kräht nach 12 Bit. Deshalb machen alle es mit 16 und mehr. Wenn dir 12 reichen dann mach es einfach. Möglich ist es allemal. Du mußt dir halt was für stereo ausdenken, oder peilst du die Klangqualität eines Telefons an?
Hi, ja, die DACs kann man per DMA füttern. Die Idee, die Soundqualität einfach am PC mal auszuprobieren ist eine gute. Das werde ich mal tun. Ich habe gerade mal die Wikiartikel ARM-MP3-Player und MP3 durchgelesen. Daraus schließe ich, dass eine MP3-Dekodierung per Software möglich sein sollte. Alles andere schließe ich auf Grund der Kosten eines extra Dekodierchips aus (und notfalls kippe ich den Punkt MP3-Player aus meinem Projekt..). Ich möchte daran vor allem Kopfhörer anschließen (eigentlich auch ausschließlich). Nun habe ich bei Farnell einige DACs gefunden, die auch gleichzeitig noch einen Verstärker beinhalten. Da ich eh einen Verstärker brauchen würde (oder?), kann ich auch gleich einen ordentlichen DAC nehmen. Welchen würdet ihr mir da empfehlen? Die DACs aus den Datenblättern der EvalKits finde ich leider nicht. (Bestelle bei Reichelt und Farnell) edit: Ich würde eh gerne nur Mono haben, da ich häufig auch nur einen Kopfhörer im Ohr habe. Da das ganze für mein Tachoprojekt ist, wird die Soundqualität auch nur radfahrend gemessen ;) Gruß Lasse
Ich kann dir einen MAX9850 verticken wenn du möchtest: Beitrag "[V] MAX9850 Audio DAC Board" Ansonsten sind die DACs von Wolfson und TI auch sehr interessant (und in modernen Playern weit verbreitet).
Vielleicht ist auch ein AudioCodec interessant. Die sparen einiges an Arbeit. TI hat einiges im Angebot. Gruß
Was spart dir ein AudioCodec denn an Arbeit? Der Unterschied zwischen DAC und Codec ist nur, dass man beim Codec noch einen zusätzlichen A/D Wandler hat. Der MAX9850 braucht nur mit einer Master-Clock, einem I2C und einem I2S Bus bedient zu werden. Kopfhörerverstärker ist integriert. Das einzigste Problem ist aus dem Systemtakt des Prozessors auf die benötigten Sampleraten zu kommen (44.1 und 48 kHz). Das ist mitunter nicht ganz einfach. Musste ich bei mir so lösen, dass ich je nachdem welche Samplerate ich brauche den Systemtakt ändere.
Hi, ja, was ein CODEC-Baustein nun besonderes macht, hab ich auch noch nicht gefunden/verstanden.. Der MAX9850 sieht vielversprechend aus, ich werd den dann aber bei Farnell bestellen (bestell da eh und vermute, dass du den nicht billiger verkaufen wirst ;)). Könntest du mir trotzdem Ansteuerungscode geben? Den Code vom AT91 könnte ich dann versuchen zu verstehen und daraus Code für den STM32 basteln. Da freu ich mich schon auf's löten ;) Viele Grüße Lasse PS: Alternativen würd ich mir natürlich weiterhin gerne anschauen.
Lasse, ich verkauf den MAX halt auf einer getesten platine. So kann man den schnell auf'n devboard integrieren. Den Code schicke ich dir heute abend.
Hi, klar, das mit dem Preis sollte keinerlei Angriff, sondern lediglich eine Feststellung sein! Was hast du für Lautstärke-Erfahrungen mit dem IC gemacht? Lässt sich da gut, laut Musik mit Kopfhörern hören? Kann die ~70mW aus dem Datenblatt (bei VDD=3,3V) nicht wirklich einordnen ;) Gruß, Lasse
Ich bin neu einsteiger im berei STM32 Ich habe ein ARM Board bei ebay gekauft mit einem STM32F103RB Darauf und möchte gerne damit den MAX 9850 Ansteuern... Wie das im grundprinzip funktioniert ist mir klaar (über SPI konfigurieren und daten per i2S senden) doch ich wollte fragen worauf man den genau achten muss.. Im noninteger mode kann man ja angeblich eine beliebige MCLK verwenden. Was hat das denn für nachteile? Vielen dank schonmal
Ich versuche das auch schon seit mehreren Monaten, aber es klingt irgendwie nicht. Will nur Soundeffekte machen Lese von 16bit file von sd karte und gebe es auch DAC aus
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.