STM32 - Audio und DAC

OP Persönliche Seite #1522924
Lesenswert?

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
OP Persönliche Seite #1523445
Lesenswert?

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
Gast #1523451
Lesenswert?

> 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
Gast #1523452
Lesenswert?

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ß
OP Persönliche Seite #1523475
Lesenswert?

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
Gast #1523845
Lesenswert?

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.
OP Persönliche Seite #1523878
Lesenswert?

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.
#1532649
Lesenswert?

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

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