Direkte Anbindung eines analogen MEMS-Mikrofons an einen Mikrocontroller-ADC

Ich möchte die Ausgabe eines analogen MEMS-Mikrofons mit einem in einen uC eingebetteten ADC mit einer Abtastrate von bis zu 1 MHz abtasten.

Ich kümmere mich nicht zu sehr um die Signalqualität (da ich mich mehr für den Umgebungsgeräuschpegel als für alles andere interessiere). Ich möchte den Footprint der Gesamtlösung unbedingt minimieren.

Anwendungshinweise zeigen typischerweise einen DC-Sperrkondensator am Ausgang des MEMS-Mikrofons, gefolgt von einer einfachen OpAmp-Stufe, die eine gewisse Verstärkung bereitstellt und einen geeigneten DC-Offset für die nachfolgende ADC-Abtastung einstellt.

Ich würde gerne etwas noch einfacheres machen und den OpAmp vermeiden. Ich würde das Mikrofonausgangssignal einfach durch einen Tiefpass-RC-Filter (also keine DC-Blockierung) leiten und das abtasten. Es scheint mir, dass dies den ADC-Dynamikbereich richtig ausnutzen würde, wenn man bedenkt, dass:

  • Mein ADC wäre auf einen Wandlungsbereich von 0-3 V eingestellt.
  • Mein MEMS-Mikrofon (Knowles SPW0430HR5HB – akzeptabler VDD-Bereich 1,5 V–3,6 V) ist mit einem DC-Ausgang = 0,72 V bei VDD = 1,5 V (also DC-Ausgang = VDD/2) spezifiziert; Ich würde es bei VDD = 3 V verwenden, also gehe ich davon aus, dass der DC-Ausgang dann 1,5 V betragen würde. In diesem Fall kann ich den Mikrofonausgang (unveränderter DC-Pegel) direkt mit meinem ADC ohne Clipping abtasten.

Sehen Sie einen Fehler in dieser Argumentation? Eine Sorge, die ich habe, ist, ob der DC-Pegel am Ausgang des MEMS wirklich proportional zu VDD ist.

Das größte Problem besteht darin, ob die Signalkomponente (AC) des Mikrofonausgangs groß genug ist, damit der ADC sie auflösen kann. Welche Auflösung hat der ADC? Dies bestimmt den Pegel des hinzugefügten Quantisierungsrauschens und damit das Signal-Rausch-Verhältnis (oder in Ihrem Fall das Rausch-Rausch-Verhältnis), mit dem Sie arbeiten müssen.
Laut Datenblatt hat Ihr Mikrofon eine Empfindlichkeit von -42 dBV/Pascal, was bedeutet, dass es etwa 8 mV RMS ausgibt, wenn es einem Schallpegel von 94 dB SPL ausgesetzt ist (was ziemlich laut ist!). Wenn der ADC in Ihrem Mikrocontroller eine 12-Bit-Auflösung mit einer Spanne von 3 V hat, kann er bis zu 3/2 ^ 12 = 0,7 mV auflösen. Dies bedeutet, dass Ihr lautes Geräusch Zahlen erzeugen wird, die einen Bereich von etwa 20 Zählwerten umfassen. Mit anderen Worten, Sie haben nur etwa 4-5 Bit an nützlichen Daten aus Ihrem 12-Bit-Konverter.

Antworten (1)

Deine Vermutung mag durchaus stimmen. Möglicherweise ist das MEMS auf 1/2 Vdd +/-20 % vorgespannt. Aber das Datenblatt gibt keine Garantien. Ein paar 0603 NP0-Kondensatoren zur Entkopplung und DC-Unterdrückung und zwei 0402-Widerstände werden Ihren Platzbedarf jedoch nicht so stark vergrößern.


EDIT1: Auch der Gleichstromausgang kann von Ihrem örtlichen Luftdruck und damit von der Höhe abhängen. Es ist vielleicht keine starke Reaktion oder sogar eine lineare, aber im Vergleich zu Signalpegeln könnten ein oder zwei mV Drift, die durch Wettereffekte verursacht werden, Ihre Messungen bereits verwirren, wenn Sie nicht entkoppeln


Das Datenblatt gibt jedoch Folgendes an: Empfindlichkeit = -42 dBV/Pa Dies entspricht einem Ausgangssignal von etwa 8 mV/Pa. Dabei entspricht 1 Pa etwa 94 dB(SPR). Das spricht also schon ziemlich hörbar in das Mikrofon und Sie erhalten nur 8 mV Signal. Ich gehe nicht davon aus, dass Ihr uC-ADC über einen Bereich von +/- 10 mV misst, daher glaube ich nicht einmal, dass Sie ohne Operationsverstärker davonkommen werden.

Allerdings kommt heutzutage ein Operationsverstärker im SOT23-5-Gehäuse von den meisten Anbietern, ganz zu schweigen von einigen Spezialunternehmen, die sie in diesen kleineren SOT323-Boxen herstellen können. Selbst der SOT23 wird Ihren Platzbedarf durch das Mikrofon kaum vergrößern, geschweige denn durch einen Mikrocontroller.

Bei geringem Platzbedarf für dieses Setup kommt es mehr auf eine gute Platzierung und eine gute Beschaffung an, als auf das Rasieren von Komponenten, die Sie nicht übersehen können.