Hallo, ich möchte eine Art Uhr entwickeln, welche an bestimmten Uhrzeiten eine Audio-Sequenz abspielt. Hab gelesen, dass dafür .wav zusammen mit einer SD-Karte (aufgrund der großen Datenmengen) verwendet wird. Jedoch habe ich, was Audio-Verarbeitung etc. betrifft, keine Ahnung wie das funktioniert. Hab verschiedenes über PWM, DAC, I2S usw gelesen. Dies hat mich jedoch recht verwirrt. Ich wollte einen Prototypen mit einem STM32-Nucelo aufbauen, weiß jedoch nicht genau welcher dafür geeignet ist und ob er z.B. I2S unterstützen muss. Nach meinen Recherchen würde ich mich z.B. für den NUCLEO-F401RE entscheiden und mittels DAC/PWM und eventuell Audio-OPV's den Sound wiedergeben. Ich wäre für Anfänger Literatur zufrieden, da die Seiten bei meiner Recherche direkt losgelegt haben, jedoch nicht erklärt haben, wieso und weshalb sie es so machen. Mir fehlt es einfach an den Grundlagen. Vielen Dank
Das Nucleo ist Murks, weil da kein DAC drauf ist. Nimm das F407 oder F411 Discovery. Beide haben nen I2S DAC mit Klinkenbuchse drauf. So schwer ist das mit den wav Datein auch nicht. Erstmal ne SD Karten Lib suchen und mit dem elm chan fatfs verbinden. Wenn dann Dateilesen geht, gucken wie man den .wav Dateiheader parsed. Die I2S Peripherie wird dann per doublebuffer mode DMA bespielt und dann läuft das.
oder du schaust dir den DFPlayer Mini an - der macht das schon für sich und bietet einen anschluss für einen lautsprecher - genau für sowas gedacht
Das STM32F746 Discovery bietet einen Audio DAC mit integriertem Class-D Verstärker und direktem Lautsprecher-Anschluss sowie Klinken-Buchse, und mit SDRAM, Flash und microSD-Slot genug Speicher um Audiodaten abzulegen. Da wird dann keine externe Hardware mehr benötigt, ist dafür teurer als die Nucleo-Boards.
Sven A. schrieb: > oder du schaust dir den DFPlayer Mini an - der macht das schon für sich > und bietet einen anschluss für einen lautsprecher - genau für sowas > gedacht Exact, alles ander ist (in deinem Fall) von hinten durch die Brust ins Auge.
Teensy_Fan_Boy schrieb: > Exact, alles ander ist (in deinem Fall) von hinten durch die Brust ins > Auge. Einen leistungsfähigen Prozessor (der auf dem DFPlayer) mit einem langsamen Prozessor (falls Arduino) oder einem leistungsfähigen, aber unterforderten Prozessor (falls STM32) über ein langsames Interface (UART) steuern, sodass man selbst keine Audio-Daten einschleusen kann und auf die SD-Karte angewiesen ist, und das nur weil man zu faul ist die gesamte nötige Software zu integrieren und auf den STM32 zu spielen, ist nicht "durch die Brust ins Auge"? :-)
Xatio schrieb: > mit einer > SD-Karte Niklas G. schrieb: > und auf die SD-Karte angewiesen ist war aber schon mehr oder weniger eine der anforderungen - ist also absolut kein argument ;-)
Der STM32 könnte dann aber noch als USB Device diese SD Karte vom PC aus beschreibbar machen ;) Das Failduinogefrickel dagegen eher nicht. Auf nem F407 DISCO hab ich jedenfalls schonmal wav Dateien abgespielt. Das aber eher zum Test meiner SD Karten Lib (die ich noch von SPI auf SDIO umbauen muss) @Niklas G Lustigerweise hat der DAC auf dem 407/411er das auch. Aber die Pins sind nicht rausgeführt... (CS43L22)
:
Bearbeitet durch User
Das tut schon ein STM32L053. Der hat u.a. einen 12 Bit-DAC. Das wird fuer Uhrengequake wohl dicke reichen.
Sven A. schrieb: > war aber schon mehr oder weniger eine der anforderungen - ist also > absolut kein argument ;-) Manchmal möchte man vielleicht auch "live" erzeugte oder verarbeitete (DSP) Klänge abspielen, oder einfach nur von einer anderen Quelle beziehen. Mit so fertig-Modulen ist man da ziemlich eingeschränkt. Mw E. schrieb: > Lustigerweise hat der DAC auf dem 407/411er das auch. Aber weniger Ausgangs-Leistung (350mW vs. 2W) :-) --- schrieb: > Das tut schon ein STM32L053. Der hat kein SDIO oder SDRAM Interface, für falls es etwas mehr Ton ("Musik") sein darf. Viele STM32 haben übrigens so einen DAC. Da braucht's dann aber noch einen externen Verstärker (vermutlich analog) - da kann man auch gleich einen Codec à la WM8994 nehmen, welcher Class-D Amp eingebaut hat, der dann auch effizienter sein dürfte.
SDRAM brauchts zum wav abspielen jetzt nicht. Das geht beim F407 wunderbar mit dem internen SRAM und der war noch lange nicht voll. Bei meinem WavPlayer hatte ich glaube 2x8k als Buffer vorgesehen. Es geht also mit noch kleineren STM32. Erst als der mp3 Codec noch mit rein sollte wurde der SRAM zu klein.
Die Frage ist in der urspr. Fassung total unsinnig. Ohne ein bisschen Nachdenken über die Qualität bzw. Dauer kann man wie bei Radio Eriwan antworten. Vom Attiny13 mit winzigem SPI-Flash über STM32F030 mit SPI-Flash und PWM mit RC-Filter bis STM32H7 mit SDXC-Karte und I2S. Merke: Erst Nachdenken, was man eigentlich will ...
>Nimm das F407 oder F411 Discovery. >Beide haben nen I2S DAC mit Klinkenbuchse drauf. Das Board ist ja erstaunlich günstig, so um die 14€. Ich habe gerade mal den Schaltplan überflogen und gesehen, dass sie den selben Fehler wie beim Disc4 gemacht haben: Der DAC hätte eigentlich einen Speaker-Driver, aber sie haben die Anschlüsse einfach nicht geroutet.
Hab ich doch schon gesagt ;) Vor allem gibts nichtmal Testpads, der Lackdraht müsste direkt ans QFN grusel.
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.