Forum: Mikrocontroller und Digitale Elektronik Audiosignalanbindung Atmel Cortex M3


von Thomas K. (thomas_k502)


Lesenswert?

Hallo,

ich möchte gerne ein analoges Mikrofonsignal an einen Cortex M3 
(ATSAM3S4BA-AU) anbinden, um es dort zu verarbeiten und wieder 
auszugeben. Mir ist bewusst, das dieser Controller keine speziellen 
DSP-Extensions oder eine FPU besitzt und möchte trotzdem das ganze mit 
diesem Controller testen. Zuerst wollte ich es über den internen ADC 
machen, jedoch ist mir die Auflösung von 12 Bit zu wenig. Die Qualitätt 
des Siganls sollte, wenn möglich, in einer Auflösung von 16 Bit 
enthalten bleiben. Mir wurde geraten, das Signal über eine serielle 
Schnittstelle (z.B. SPI oder I2C) anzubinden und ich wollte nachfragen, 
ob jemand Erfahrung damit hat oder mir einen Tipp geben kann, wie ich 
das Signal am besten anbinden kann.

Über eine Hilfestellung wäre ich sehr dankbar.

Thomas

von Jonas B. (jibi)


Lesenswert?

Was für eine Mike? Davon hängt die Eingangsbeschaltung ab.
Dann ein Codec mit I2S, da musst du schauen ob dein MC das kann (I2S).
Darüber kannst du dann auch ausgeben...usw.

GRuß j

von Jobst M. (jobstens-de)


Lesenswert?

Thomas K. schrieb:
> jedoch ist mir die Auflösung von 12 Bit zu wenig.

Für welchen Zweck denn?

> Die Qualitätt
> des Siganls sollte, wenn möglich, in einer Auflösung von 16 Bit
> enthalten bleiben.

Erhalten bleiben!? Da reichen dann auch 32 Bit nicht aus ...
Mit 12 Bit hast Du eine Dynamik von 72dB - Also besser als analoge 
Schallplatte. Telefonie hat 8 Bit - und klingt nur durch die Bandbreite 
von knapp 4kHz so beschissen. Gut, das ist nicht linear ...
Die ersten (billigen) CD-Player hatten 14-Bit-Wandler

> Mir wurde geraten [...]

Ja, für volle CD-Qualität oder mehr musst Du einen externen (Audio-)ADC 
anschließen. Die SPI oder entsprechende andere serielle Schnittstelle 
muss nur die Daten wegschaufeln können. (Das kann sogar ein AVR).

ICH würde Dir allerdings erstmal raten, den eingebauten Wandler mal 
auszuprobieren. Dann kannst Du Dir selbst ein Urteil bilden!


Gruß

Jobst

von Thomas (Gast)


Lesenswert?

Danke für die schnellen Antworten. Leider war ich in den letzten Tagen 
sehr beschäftigt und konnte nicht früher Stellung nehmen.

Über das Mikrofon kann ich leider nichts genaues sagen, außer das der 
Output einen Dynamikbereich von 0 - 9 V hat, den ich anpassen muss. 
Impedanz ect. könnte ich aber in Erfahrung bringen.
Der Controller wird verwendet, um Gesang aufzunehmen, zu filtern und 
wieder auf eine Vorstufe und einen Lautsprecher auszugeben. CDs haben 
eine Auflösung von 16 Bit (linear)..., an die ich mich halten wollte. 
Stattdessen werde ich versuchen, den internen ADC zu verwenden. I2S 
besitzt dieser Controller leider nicht.

MfG

Thomas

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas schrieb:
> I2S
> besitzt dieser Controller leider nicht.

Tu dir einen Gefallen und nimm einen, ders hat. Erstens hast du dann 
eine recht breite Auswahl an ADC und DAC und zweitens ist dann die 
Anbindung der Audio Chips an den Controller recht einfach, auch mit 
höheren Sampleraten.

Das Discovery STM32F407 hat z.B. schon einen recht brauchbaren Audio DAC 
onboard und noch einen I2S Bus frei für einen ADC, an den ich z.B. den 
CS5343 angedockt habe.
Der kleine Kerl hat 24-bit AD Wandler, mitlaufende AA Filter und bietet 
dadurch genug Headroom, um auch nach ein paar DSP Operationen noch einen 
brauchbaren 16-bit Ausgang zu liefern. Wenn man sich ein wenig Mühe mit 
Entkopplung seiner Versorgung gibt, leifert er sehr gute Qualität.
Mit den internen 12-bit Wandlern bekommst du, abgesehen von der mässigen 
(gute Mittelwelle) Qualität auch zu viele Störungen des Chips.

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.