Mikrocontroller GPIO in Audioschaltungen

Ich entwerfe einen analogen Synthesizer, der von einem STM32-Mikrocontroller gesteuert wird. In mehreren Teilen der Schaltung beabsichtige ich, einen GPIO-Pin zu verwenden, um Schalter in der Schaltung zu steuern, und in zwei verschiedenen Teilen als Teile zum Erzeugen von Audio. Ich mache mir Sorgen über das Rauschen des uC, das in den Stromkreis eindringt, und meine Frage ist, ob ich mir Sorgen machen sollte, und wenn ja, was sollte ich tun, um die Probleme zu minimieren?

Einige Details: Meine Platine ist so ausgelegt, dass die rechte Seite vollständig analog ist, mit Ausnahme der besagten Signale von den Pins, und die linke Seite enthält den digitalen Teil mit DACs und einem analogen MUX (Multiplexing der in DACs eingebauten uCs ) auf der Trennlinie sitzen. Ich habe eine Masseebene auf einer der inneren Schichten der 4-Lagen-Platine.

Die von den GPIOs gesteuerten Signale sind:

  • zwei analoge SPST-Schalter Schaltsignalfluss
  • vier Ein-Aus-Schalter aus einem einzigen MOSFET, wobei der GPIO-Pin das Gate steuert und unipolare analoge Signale ein- oder ausschaltet
  • ein verlustbehafteter Op-Amp-Integrator, der einen schmalen Impuls integriert, der von der PWM des uC erzeugt wird, der als analoges Signal verwendet und weiterverarbeitet wird.
  • und schließlich wird ein Schrittübergang in einem GPIO als Testsignal zur Kalibrierung in den Filter eingespeist.

Der Endausgang der Schaltung hat einen einpoligen Tiefpassfilter um 70 kHz, um störende hohe Frequenzen zu reduzieren.

Es wäre sehr schwierig zu versuchen, alle Schalter und dergleichen an der Analog/Digital-Grenze der Platine zu platzieren, sodass sie ziemlich tief im analogen Bereich der Platine platziert sind. Andererseits führen sie als Schaltsteuersignale sehr wenig Strom. Auch der Strom in den Integrator ist ziemlich klein, einige zehn Mikroampere während der Impulse und ansonsten im Wesentlichen null.

Wie viel sollte ich mir also Sorgen machen, hier digitales Rauschen auf der analogen Seite zu induzieren?

Antworten (1)

Ich würde mir am meisten Sorgen um die kapazitive Kopplung machen. Während der größte Teil des digitalen Rauschens hochfrequent ist, enthält es oft einige niederfrequente Komponenten, sodass ein Hochpassfilter nicht alles eliminiert, was Sie eliminiert haben möchten.

Vielleicht möchten Sie Schutzspuren um die digitalen Steuersignale legen und sicherstellen, dass Ihre Schalter eine ordnungsgemäße Entkopplung zwischen dem Steuersignal und dem analogen Zeug haben.

Vergessen Sie bei den MOSFETs nicht die Gate-Drain-Kapazität (auch als Miller-Kapazität bekannt, da sie die Quelle des Miller-Effekts ist, der die effektive Gate-Kapazität erhöht). Hochfrequentes Rauschen, das am Gate vorhanden ist, koppelt an den Drain. Während Ihr MOSFET eingeschaltet ist, ist dies kein Problem, da Sie einen Pfad mit niedriger Impedanz zwischen Drain und Source haben und ihn an einer niederohmigen (virtuellen) Masse ausgeben. Die virtuelle Masse (die richtig entkoppelt sein sollte) absorbiert das gekoppelte Rauschen. Andererseits wird, während der MOSFET ausgeschaltet ist (dh Gate auf Masse), jegliches Rauschen am Gate immer noch mit dem Drain gekoppelt, arbeitet aber jetzt gegen die Impedanz des Widerstands, der das Signal zum Stummschalter führt. Je höher der Widerstand ist, desto mehr Rauschen wird in das Signal eingekoppelt. Dies ist insbesondere dann ein Problem, wenn Ihr Design mit separaten Masseebenen für den analogen und den digitalen Teil arbeitet. Wenn die digitale Masse und die analoge Masse eng gekoppelt sind, ist der Rauschpegel bei niedriger Ausgabe höchstwahrscheinlich kein Problem.

Zu beachten ist auch, dass hochfrequente Signale, die Verstärkerstufen durchlaufen, ohne herausgefiltert zu werden, Verzerrungen verursachen können, selbst wenn die hochfrequenten Signale keine niederfrequenten Komponenten enthalten .
Richtig. Eine leichte Nichtlinearität an einem Verstärker kann Intermodulationsprodukte erzeugen. Google "Intermodulationsverzerrung" für Details. Daher ist es eine gute Idee, an der Grenze zwischen digitalen und analogen Komponenten eine R/C-Tiefpassfilterung durchzuführen (wenn die zeitliche Verzögerung und möglicherweise Jitter akzeptabel sind).
Danke für die Antwort! Wenn Sie von Schalterentkopplung sprechen, meinen Sie damit die Entkopplung der Netzteile oder das Hinzufügen von Kappen zum Umgehen der Steuersignale? Die R/C-Filter werden natürlich genau letzteres tun, also denke ich, dass das diesen Teil beantwortet :) Ich kann eine ziemlich große Verzögerung tolerieren, da die Schalter (indirekt) von Benutzern gesteuert werden, so dass die Reaktion auf menschliche Zeitskalen ausreicht. Also werde ich RC-Filter hinzufügen, wenn ich sie gerade auf dem Board unterbringen kann (es ist so schon ziemlich beschäftigt).
Zum Miller-Effekt: Können Sie das ein wenig erläutern? Soweit ich weiß, geht es hauptsächlich darum, dass Verstärkerstufen die Kapazität effektiv erhöhen. In diesem Fall sind die MOSFETs als Schalter verbunden, wobei eine Seite mit der virtuellen Masse eines Operationsverstärkers verbunden ist, die andere Seite über einen Widerstand mit dem Signal verbunden ist und die Gate-Spannung steuert, ob der Strom zum Operationsverstärker gelangt oder nicht. Ich kann mir vorstellen, dass der Miller-Effekt hier die effektive Bandbreite des Operationsverstärkers beeinflusst, aber wie würde er die Rauschkopplung vom Schaltsignal am Gate beeinflussen?
@Timo Ich hoffe, die Bearbeitung macht deutlich, was ich sagen wollte. Ich habe diese Antwort ursprünglich auf einem Mobilgerät geschrieben und mich zu sehr auf die Kürze und zu wenig auf die Klarheit konzentriert.
@MichaelKarcher ja, das hilft. Nur um sicherzugehen, dass ich es richtig verstanden habe: Das Datenblatt für den spezifischen MOSFET gibt eine Eingangskapazität von 22 pF an, und ich habe tatsächlich einen ziemlich großen Widerstand (220 k, wenn ich mich richtig erinnere), der den MOSFET speist. Wenn es jetzt geschlossen ist, fungiert die Gate-to-Drain-Verbindung im Wesentlichen als Hochpassfilter mit einer Grenzfrequenz von etwa 33 kHz, sodass die Dämpfung bei 15 kHz weniger als 10 dB beträgt. Im Grunde sieht der Drain also jedes Rauschen mit hoher Audiofrequenz auf dem uC-Pin, nur leicht gedämpft. Ist das richtig?
Wenn Sie meinen, dass der MOSFET durch "geschlossen" (eine ungewöhnliche Konvention) ausgeschaltet ist, dh das Signal nicht durch Kurzschließen gegen Masse stummgeschaltet wird, ist die Idee Ihrer Berechnung korrekt, obwohl Sie den falschen Wert verwenden. Die Eingangskapazität ist die Gate-Source-Kapazität, die "gut" ist, sie erdet das Rauschen. Die Gate-Drain-Kapazität wird "Rückwärtsübertragungskapazität" genannt und ist "böse", sie leitet das Rauschen in die nächste Stufe. Jeder Widerstand vor dem Gate bildet mit der Kapazität der Eingangskapazität einen Tiefpass, und die Rückübertragungskapazität bildet tatsächlich einen Hochpass, wie Sie geschrieben haben.
Siehe diese Antwort, die die Begriffe im Datenblatt erklärt: electronic.stackexchange.com/a/83730/63977
Ah, entschuldigen Sie das "geschlossen", ich bin kein ausgebildeter Elektrotechniker, daher ist es immer noch nicht ganz selbstverständlich zu sagen, dass ein Schalter "ein" ist, wenn der Stromkreis "geschlossen" ist :) Und danke für die Klarstellung Welche Kapazität ergibt einen Faktor zehn mehr (scheint 2 pF zu sein). Ich bekomme also etwa 24 dB Dämpfung bis 20 kHz. Besser, aber ich werde trotzdem sehen, ob ich die Widerstände senken kann, oder zumindest sicherstellen, dass ich einen RC vor das Tor stelle! Danke für die Antwort, ich wusste vorher absolut nicht, dass man darauf achten muss!
Wahrscheinlich reicht ein R vor dem Tor. Die Eingangskapazität von 22 pF kann als C verwendet werden.