Hi, ich plane ein Projekt bei dem ich 2 4W Lautsprecher möglichst einfach ansteuern will. Der Klang sollte schon gut sein, nun ja was man halt bei den Lautsprechern erwarten kann. "Sound-shaping" kann man später immer noch machen. Ich habe einen CORTEX M7 der mir WAV / MP3 Daten von einer SD liest und diese nun auf die Lautspecher ausgeben soll. Nun fallen mir einige Möglichkeiten ein: - CODEC mit OP und Leistungstreiber einbauen --> ist mir aber zu teuer und zu aufwendig. - internen DAC auf Leistungstreiber --> etwas besser beim preis, nur der Klang könnte leiden - ???? Was gibt es noch für möglichkeiten? Je einfacher desto besser! VG, Uli
16 Bit Timer auf Dual Channel PWM konfigurieren und eine einigermassen anständige Wiederholrate programmieren (am besten identisch mit der Samplingrate deiner Audiodaten). Am Ausgang der beiden PWM Stromverstärker und dann über Tiefpass auf Lautsprecher. Man kann auch erst den Tiefpass und dann verstärken, kostet ein wenig mehr Verlustleistung.
:
Bearbeitet durch User
3 Euro in China für eine pcm5201 Platine investieren und den Sound via i2s ausgeben?
Uli schrieb: > Was gibt es noch für möglichkeiten? > > Je einfacher desto besser! Was soll es denn nun sein? Einfach oder gut? Mit einem externen DAC erreicht man die beste Qualität. Die Beste Qualität mit dem µC allein erreicht man am einfachsten mit dem DAC. Mit einem Software Delta-Sigma-Wandler ist theoretisch mehr drin, aber ohne gescheite Filterung und externer Ausgangsstufe schafft man da nicht mehr. Ich hab selbst schon einen Delta-Sigma-Wandler 4. Ordnung auf dem STM32F4 implementiert, aber bin nur auf ~60dB SNR gekommen. Da gibts Effekte, dass man das am Lautsprecher hört, wenn die CPU gerade "arbeitet" oder nicht.
Das STM32F746 Discovery Board hat einen Cortex-M7 und einen WM8994 Codec eingebaut. Der kann zwar leider nur 2x2Watt, aber dafür ist schon alles fertig und du musst nur noch die Speaker anlöten. Mit SD Slot, Flash IC und SDRAM ist auch genug Speicher für Audio Daten da.
Hi, Falls du nicht einer der Kompelttlösungen benutzen möchtest, kann ich dir ein TDA 2008 empfehlen. Dem gibst du dein Audio_Signal und schließt die Boxen direkt an. Es handelt sich um ein Leistungsoperationsverstärker der bei richtiger Beschaltung "guten" Klang erzeugt, benutzt den selber für Kleinigkeiten (im Datenblatt findet man Beispiel Beschaltungen). Einfacher fällt es mir nicht ein. MfG M.V
:
Bearbeitet durch User
Das ganze ist eine kleine BOX mit Stereo, also 2 * Breitband Lautsprecher. Das das hier alles nichts mit High-End Audio zutun hat sollte somit klar sein. Aber es soll halt doch nach was klingen. Fertig Module kommen hierbei nicht in frage! Der TDA 2008 ist interessant und könnte in frage kommen An PWM / PDM hatte ich auch schon gedacht. Nur wie treibe ich dann am besten den Lautsprecher an? VG, Uli
Uli schrieb: > Nur wie treibe ich dann am > besten den Lautsprecher an? Wenn du einen Advanced Timer benutzt, könntest du 2 PWM Kanäle als Komplementärkanäle programmieren und damit direkt eine PWM Halbbrücke antreiben. DTI sorgt für eine Totzeit und alles was du brauchst, ist eine Halbbrücke und dann einen LC Tiefpass wie bei üblichen Class-D Endstufen. Nach oben offen ist die Leistung, ob du nun Logiklevel FET direkt betreibst oder über Halbbrückentreiber gehst.
Uli schrieb: > Das das hier alles nichts mit High-End Audio zutun hat sollte somit klar > sein. Aber es soll halt doch nach was klingen. Dann nimm den integrierten DAC, notfalls mit oversampling und eine integrierte endstufe dahinter, billiger wirds nicht.
Ich kriege aus den 12-bit DA des STM32F407 etwa Mittelwellenqualität raus. Wenn das reicht, ists ja gut.
Mittelwellenqualität wäre nicht so toll. UKW sollte es schon sein. DAB+ wäre super. Das mit dem Advanced Timer klingt recht gut, wenn der das timing für 48KHz noch macht und ich mir damit keine EMV schleuder baue. Der TDA 2008 und auch andere brauchen immer Spannungen die ich so direkt nicht habe. Da wäre eine Halbbrücke / H-brücke schon besser. VG, Uli
Uli schrieb: > Das mit dem Advanced Timer klingt recht gut, wenn der das timing für > 48KHz noch macht und ich mir damit keine EMV schleuder baue. Damit bekommst du auch bei weitem keine UKW Qualität heraus. Wie ich schon oben geschrieben habe. Beim Delta-Sigma Wandler über den uC wird die Performanz durch den uC gestört. Mit dem Verfahren wäre locker deine "DAB+" Qualität drin. Ohne externe Filterung Treiberstufe/DAC und gefilterter analoger Spannungsversorgung wird das nichts. Ich würde dir einen fertigen Audio DAC empfehlen. Oder wenn du dich mit weniger zurechtfindest den internen DAC. Der DAC ist besser als alles was du mit pwm erreichen kannst.
Uli schrieb: > DAB+ wäre super. Dann hol dir doch einen kleinen I²S DAC, wie z.B. den CS4334 in SO8. Das ist ein 24-bitter mit 96 kHz Clock und mitlaufender De-Emphasis. https://www.cirrus.com/products/cs4334-35-38-39/ Kostet bei Segor unter 6 Euro.
:
Bearbeitet durch User
Es gibt Leistungstreiber mit I2S Digitalschnittstelle, ich würde sowas nehmen. z.B. TAS5717 http://www.ti.com/product/tas5717
Jitter im Signal? Wie soll ich den das hinbekommen? Das hier ist ein CORTEX M7 und kein kleiner AVR. DMA und Timer sollten hier recht sauber laufen, egal was die CPU gerade macht. Auch einem DAC würde ich die Daten über DMA servieren und mit dem Timer die passende Clock dazu. Bei I²S läuft es auch nicht sonderlich anders. Der interne DAC hat leider nur 12Bit was nicht gerade berauschent ist. So ich habe aber was gefunden was vom Preis, Platz & Qualität einfach kaum zu toppen ist: MAX98357A - 5V / 3,2W (4Ohm) MONO / I²S / ~1,86€ Bei solchen Teilen lohnt es sich nicht mehr was selber zu machen. Da gibt es logischerweise auch von anderen Firmen was, jetzt muss ich mal die ganzen Datenblätter lesen. VG, Uli
Ich glaube du unterschätzt die Thematik gewaltig. Uli schrieb: > Jitter im Signal? > Wie soll ich den das hinbekommen? Davon hat keiner geschrieben. Aber Jitter macht tatsächlich was aus, wenn es in den 2-3-stelligen Pikosekundenbereich kommt. > Das hier ist ein CORTEX M7 und kein kleiner AVR. Das hat auch nichts mit dem Jitter zu tun. Der Jitter dürfte beim M7 sogar größer sein dank PLL. > DMA und Timer sollten hier recht sauber laufen, egal was die CPU gerade > macht. Der Jitter ist direkt auf der Taktleitung. > Auch einem DAC würde ich die Daten über DMA servieren und mit dem Timer > die passende Clock dazu. > Bei I²S läuft es auch nicht sonderlich anders. Ja und da die PLL üblicherweise ausreicht, ist Jitter auch hier nicht das Thema. > Der interne DAC hat leider nur 12Bit was nicht gerade berauschent ist. Mit PWM wirst du auch mit 200MHz keine echte 12Bit bei 48kHz erreichen. Mit dem DAC mittels Oversampling schon eher. > So ich habe aber was gefunden was vom Preis, Platz & Qualität einfach > kaum zu toppen ist: > MAX98357A - 5V / 3,2W (4Ohm) MONO / I²S / ~1,86€ Eine integrierte Lösung wird auch das beste sein.
Bei Deinen Ünerlegungen gehst Du aber davon aus die interne Takterzeugung mist macht. Ich habe die noch nie nachgemessen, aber wenn Du da recht hast, dann wird sich das zwangsläufig auswirken und gegen unbrauchbar gehen. Ich kannte diese fertigen I²S-> Class D Teile nicht und hatte dementsprechend auch nie danach gesucht. Wie schon gesagt gegen diese fertig Teile kommt man kaum gegen an und da jetzt was selber machen wäre blödsinn. Ausser man hat die Zeit und den Ergeiz das zu versuchen, ich nutze meine Zeit lieber mit sinnvolleren Sachen. VG, Uli
Uli schrieb: > Bei Deinen Ünerlegungen gehst Du aber davon aus die interne > Takterzeugung mist macht. Ich habe die noch nie nachgemessen, aber wenn > Du da recht hast, dann wird sich das zwangsläufig auswirken und gegen > unbrauchbar gehen. Eine PLL hat prinzipbedingt einen Jitter. Der wird von ST auch spezifiziert. Siehe Datenblatt.
Uli schrieb: > So ich habe aber was gefunden was vom Preis, Platz & Qualität einfach > kaum zu toppen ist: > MAX98357A - 5V / 3,2W (4Ohm) MONO / I²S / ~1,86€ > > Bei solchen Teilen lohnt es sich nicht mehr was selber zu machen. Viel Spaß beim Löten! mfg Klaus
Über das Löten mache ich mir keine sorgen, solange ich keinen BGA nehme. Die anderen Formate kriege ich mit einem Ofen noch hin. Der Jitter der PLL ist aber jetzt nicht SOOOOO tragisch. Für meine Anwendung würde man das nicht merken, ich gebe die Signale nicht auf eine Stereoanlage bei der man so was schon eher hören könnte. Bauteile werden gerade ins Layout eingebaut und Muster sind schon bestellt. VG, Uli
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.