www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 - Audio und DAC


Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: bronko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: bronko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael X. (Firma: vyuxc) (der-michl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: bronko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist auch ein AudioCodec interessant. Die sparen einiges an 
Arbeit. TI hat einiges im Angebot.

Gruß

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Claudio H. (Firma: BLS-Electronics) (hedie)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.