Hallo, Nachdem ich die ganze Nacht gesucht und nix gefunden habe, die verzweifelte Frage ans Forum: Gibts einen ARM-uController mit Audio-ADC&DAC (Stereo, >=16bit, 44k1/48khz) eingebaut? Es gibt diverse mit eingebautem DSP (zB ADAU1701), aber um Audio wiedergeben zu können müssen die Samples via i2S reingespiesen werden und da brauchts wieder ein uC... Hat Jemand einen Tip? Besten Dank und einen schönen Tag! styro
Der vom Teensy hat 16-bit ΔΣ-DAC und 12-bit ADC. Könnte man überabtasten, aber Qualität von separatem I²S-Codec würde natürlich nicht erreicht werden. https://pjrc.com/teensy/datasheets.html
Wird man aus gutem Grund nicht machen, weil der Digitalkram des ARMes den ADC/DAC stören wird. Marcel A. schrieb: > ... müssen die Samples via i2S reingespiesen werden > und da brauchts wieder ein uC... Nee, Du kannst einen Audio-ADC/DAC per I2S ansteuern, und so mit Deinem ARM verbinden. Du brauchst natürlich einen ARM mit I2S. Hier ein (willkürlich ausgesuchter) Audio-Codec mit I2S: https://www.maximintegrated.com/en/products/analog/audio/MAX9880A.html I2S gibt es beispielsweise beim RP2040 (und bei ESP8266 & ESP32, auch wenn die keine ARMe sind)
Mit integrierten ADCs und DACs für Audio kenne ich eher den SigmaDSP von Analog Devices, aber das ist kein ARM. https://www.analog.com/en/parametricsearch/11310# und auch da nur zwei Typen "Stand Alone", heißt nur das "mit ADC/DAC"? https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1401A.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1701.pdf ich sehe gerade, der 1701 wurde oben schon genannt. 1702 hat aber auch einen ADC/DAC.
:
Bearbeitet durch User
Beim STM32F746NG Discovery Board ist das nett gemacht, da ist der uC via I²S mit einem Audio-Codec verbunden, welcher einen 2x2W-Verstärker enthält und mit Line-In/Out Steckern sowie 2 I²S-Chipmikrofonen verbunden ist. Damit kann man einiges machen. Da kann man sich gut von inspirieren lassen, solche Codecs sind leicht händelbar weil sie den ganzen Analogkram integriert haben und man sonst nichts mehr an Verstärkern/Filtern etc. braucht. Solche Codecs sind überhaupt auch sehr leistungsfähig und können auch selbst einiges an Signalverarbeitung ohne den Controller zu involvieren, z.B. ein I²S-Mikrofon-Signal filtern und an einen Analogausgang weitergeben. Das ganze wird über I²C konfiguriert, ist etwas fummelig aber es gibt ein grafisches Tool was dabei unterstützt. Bei Smartphones & Co wird es letztlich genau so gemacht.
Max M. schrieb: > Marcel A. schrieb: >> da brauchts wieder ein uC... > > Da brauchts einen I2S ADC / DAC. Wollte ich auch gerade bemerken. I²S ist eigentlich völlig ohne Prozessor erdacht worden. Sprich: I²S kann sowohl ohne Prozessor erzeugt werden, als auch ohne Prozessor verwendet werden. Wenn man es digital bearbeiten möchte, dann kann man das I²S Signal auch in / durch einen Prozessor schicken. Das ist natürlich nur dann sinnvoll, wenn dort auch tatsächlich eine Bearbeitung (z.B. EQ, Klangeffekte, Hall, etc.) statt findet. Durch den ganzen elektro-magnetischen Lärm in Prozessoren wirst Du dort keine hochwertigen Audio-Wandler finden. Also nimm einen AD/DA-Codec und schnuddel diesen an eine I²S-SPI-Schnittstelle an. Die kann idR. beide Datenströme (in und out) gleichzeitig behandeln. PIC32MZ ist auch noch ein Kandidat für I²S. Gruß Jobst
Beitrag #7205253 wurde von einem Moderator gelöscht.
Besten Dank für die Hinweise.. Die Teensys verwende ich gerne, es gibt auch ein Audio-Board dazu (STGL5000). Das Anflanschen eines Codecs (der ADAU1701 kann dazu auch gebraucht werden, der hat differenzielle Aus- und Eingänge was mir gefällt) an einen i2S In/Output bei einem zB STM32F446 (hab ich bei einem anderen Projekt gebraucht) ginge natürlich auch ... Schön wärs halt gewesen, wenn alles in einem Package erhältlich wäre. Allerdings gibts das auch, zB STA108x, STA109x (Car Radio Processor von stm) sind aber im LFBGA 361 Gehäuse und auch sonst etwas Over-The-Top... Gruss styro
Wenn du mal auf die MPU-Schiene gehst fallen mir da noch spontan die AllWinner-Chips wie z.B. A20/H3 ein, die glaube ich einen integrierten Audio-Codec haben - also direkt mic-/line- Eingänge und Ausgänge. Aber von der SNR auch nicht ganz so gut wie ein richtiger Audio-Codec. Den SGTL5000 habe ich auch schon benutzt in der Vergangenheit, den I2C-Init code kann man von dem Teensy-Projekt recht gut übernehmen und portieren. Der ADC im SGTL5000 ist aber wirklich nicht gut, wenn du was audiophiles machen willst - hat ein recht hohes Grundrauschen. Ansonsten kannst du dir noch so stand-alone ADC/DACs anschauen wie TI PCM180x oder PCM510x, die kann man direkt per I2S anbinden und brauchen nichtmal einen Init per I2C.
Jobst M. schrieb: > Prozessor schicken. Das ist natürlich nur dann sinnvoll, wenn dort auch > tatsächlich eine Bearbeitung (z.B. EQ, Klangeffekte, Hall, etc.) statt > findet. > Jobst Es macht auch ohne Bearbeitung Sinn wenn z.B beim Stereo ADC der linke Kanal auf dem rechten DAC Kanal wieder raus soll. Oder das Signal per SIP/rtp rein/raus geht.
Anscheinend haben STM32U5 Differenzeingänge und Überabtaster für ADC1 sowie Dreieck-/Rauschgenerator für den DAC, um die Auflösung zu erhöhen. Folien: https://www.st.com/content/ccc/resource/training/technical/product_training/group1/2a/84/42/de/d3/72/44/87/STM32U5-Analog-ADC-DAC_ADC-DAC/files/STM32U5-Analog-ADC-DAC_ADC-DAC.pdf/_jcr_content/translations/en.STM32U5-Analog-ADC-DAC_ADC-DAC.pdf
Folien zum ADC-Überabtaster (MDF = CIC + Korrekturfilter + ...): https://www.st.com/content/ccc/resource/training/technical/product_training/group1/ec/44/67/63/9e/aa/46/02/STM32U5-Peripheral-Multi-Digital-Filter-Audio-Digital-Filter/files/STM32U5-Peripheral-Multi-Digital-Filter-Audio-Digital-Filter.pdf/jcr:content/translations/en.STM32U5-Peripheral-Multi-Digital-Filter-Audio-Digital-Filter.pdf (Für den DAC müsste man das wahrscheinlich alles von Hand machen, falls überhaupt möglich von der analogen Seite her.)
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.