Forum: Mikrocontroller und Digitale Elektronik gesucht: ARM-uController mit integriertem Audio-ADC&DAC


von Marcel A. (styro)


Lesenswert?

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

von PicoUser (Gast)


Lesenswert?

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

von DerEgon (Gast)


Lesenswert?

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)

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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
von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

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.

von Max M. (Gast)


Lesenswert?

Marcel A. schrieb:
> da brauchts wieder ein uC...

Da brauchts einen I2S ADC / DAC.

von Jobst M. (jobstens-de)


Lesenswert?

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.
von Marcel A. (styro)


Lesenswert?

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

von Ramachandran B. (ramachandran_b)


Lesenswert?

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.

von NichtWichtig (Gast)


Lesenswert?

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.

von PicoUser (Gast)


Lesenswert?


von PicoUser (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.