← Alle Projekte

Projektdokumentation / Vertiefung

Raspberry Pi Audio HAT mit PCM5102A und Relais-Eingangsumschaltung

Individuelle Raspberry-Pi-Audioplatine, die einen PCM5102A-I²S-DAC mit Relaisumschaltung zwischen DAC-Audio und einem externen Stereo-Eingang umschaltet

Schräges 3D-Rendering des Audio-HATs mit zwei 3,5-mm-Audiobuchsen, G6S-2-Relais, PCM5102A-Schaltung, zwei Tastern und Raspberry-Pi-Header.
3D-PCB-Rendering3D-Platinenvorschau mit der gesamten Bauteilanordnung.

Kurzfassung

Eine individuelle Raspberry-Pi-Audioplatine wurde um den PCM5102A-I²S-DAC entwickelt. Sie besitzt getrennte analoge und digitale 3,3-V-Versorgungen sowie ein DPDT-Relais, das zwischen DAC-Audio und einem externen Stereo-Eingang umschaltet. Der Schaltplan ist fertiggestellt; Platzierung, Routing und BOM-Optimierung der Leiterplatte laufen noch.

Merkmale

  • PCM5102A-Stereo-I²S-DAC
  • Getrennte analoge und digitale 3,3-V-LDO-Versorgungen
  • GPIO-gesteuerte DAC-Stummschaltung
  • GPIO-gesteuerte PCM5102A-Filterauswahl
  • Zwei konfigurierbare SMD-Taster
  • Relaisumschaltung zwischen DAC-Ausgang und externem Stereo-Eingang

Aufgabe

Der Raspberry Pi Zero 2 W besitzt keine analoge Audiobuchse. Zunächst wurde ein GPIO/PWM-Audioansatz untersucht, doch für die Wiedergabe von Musik verlagerte sich das Projekt auf eine dedizierte DAC-Platine. Die Platine sollte außerdem einen Stereo-Ausgang zwischen dem vom Raspberry Pi erzeugten Audio und einem externen Stereo-Eingang umschalten. Sie soll als Inline-Lösung dienen, um bestehenden Soundsystemen mit begrenzten Eingängen AirPlay hinzuzufügen.

Lösung

Das Design verwendet einen PCM5102A, um I²S-Audio des Raspberry Pi in analoges Stereo-Audio umzuwandeln. Ein G6S-2-DC5-DPDT-Relais schaltet beide Stereokanäle gemeinsam zwischen dem DAC-Pfad und einem externen 3,5-mm-Eingang um.

Die Relaisspule wird mit 5 V versorgt und auf der Low-Side mit einem 2N7002-N-Kanal-MOSFET geschaltet. Als Freilaufdiode dient eine 1N4148W. Das Design stellt außerdem zwei SMD-Taster bereit und verwendet Raspberry-Pi-GPIOs zur Steuerung der PCM5102A-Stummschaltung und der Filterauswahl.

Architecture

Der Raspberry Pi ist über die drei I²S-Signale BCK, LRCK und DIN mit dem PCM5102A verbunden. Die I²S-Leitungen enthalten 33-Ω-Serienwiderstände.

Die 5-V-Versorgung des Raspberry Pi speist zwei separate MCP1700T-3302-LDO-Regler welche 3,3 V liefern. Eine Versorgung wird für den analogen Versorgungsbereich des DACs und eine für dessen digitalen Versorgungsbereich verwendet. Lokale Versorgungs- und Charge-Pump-Kondensatoren befinden sich um den PCM5102A.

Jeder DAC-Ausgang durchläuft ein RC-Netzwerk aus 470 Ω und 2,2 nF, bevor er einen Eingang des DPDT-Relais erreicht. Der externe Stereo-Eingang ist mit dem anderen Relaiseingang verbunden, und die gemeinsamen Relaiskontakte speisen den Stereo-Ausgang.

Der Relais-Steuerpfad besteht aus einem Raspberry-Pi-GPIO, einem 1-kΩ-Gate-Widerstand, einem 2N7002, einem 100-kΩ-Gate-Pulldown, einer 1N4148W-Freilaufdiode und lokaler 100-nF-Versorgungsentkopplung.

GPIO5 an physischem Pin 29 und GPIO6 an physischem Pin 31 wurden für die Konfigurationssteuerung des PCM5102A gewählt. XSMT und FLT besitzen jeweils einen 100-kΩ-Pulldown, sodass der DAC beim Booten stummgeschaltet und mit der gewählten LOW-Filtereinstellung startet.

Implementation

Der Schaltplan wurde in EasyEDA Pro entwickelt. Das Charge-Pump-Netzwerk des PCM5102A enthält lokale Kondensatoren für CPVDD, CAPP/CAPM und VNEG, während AVDD und DVDD jeweils eine eigene lokale Entkopplung besitzen.

Der Platz direkt um den DAC wurde mit 0603-Bauteilen knapp. Deshalb wurden die kritischen Versorgungs- und Charge-Pump-Kondensatoren auf 0402-Bauformen umgestellt, während weniger platzkritische Bauteile 0603 bleiben konnten.

Die Leiterplatte wird als Board für den 40-poligen Raspberry-Pi-Header entwickelt. Platzierung und Routing umfassten einen kurzen DAC-Ausgangspfad, die Positionierung der I²S-Serienwiderstände nahe der Raspberry-Pi-Seite sowie die Festlegung von Routen für zusätzliche Audio-Breakout-Verbindungen um das Relais.

Die BOM wird außerdem für die JLCPCB-Bestückung optimiert, indem die Anzahl der Bauteile aus der Extended-Parts-Bibliothek reduziert wird, während die erforderlichen Komponenten erhalten bleiben.

Größte Herausforderung

Die wichtigste noch offene Arbeit besteht darin, den fertigen Schaltplan in ein kompaktes erstes Leiterplattenlayout zu überführen, ohne die Audio- und Digitalsignalpfade zu beeinträchtigen.

Der Bereich um den PCM5102A wurde dicht, weil mehrere lokale Kondensatoren nahe am Bauteil liegen müssen. Daher fiel die Entscheidung, für die platzkritischsten Komponenten kleinere 0402-Bauformen zu verwenden.

BCK stammt in der gewählten I²S-Verbindung ebenfalls von physischem Raspberry-Pi-Pin 12. Durch die aktuelle Bauteilplatzierung ist seine Route ungefähr 4–5 cm länger als die Routen von LRCK und DIN. Das Routing wurde noch nicht auf gefertigter Hardware validiert.

Das Routing von L_IN und L_OUT zu Breakout-Verbindungen schuf eine weitere Platzierungsbeschränkung, weil eine direkte Route die DAC-Ausgangsleiterbahnen kreuzen würde. Es wurde erwogen, um oder unter dem Relaisgehäuse zu routen und dabei die Audio-Kontakte des Relais von der Spulensteuerung getrennt zu halten.

Ergebnis

Das aktuelle Ergebnis ist ein fertiggestellter Schaltplan mit Raspberry-Pi-Schnittstelle, PCM5102A-DAC und Versorgungsschaltung, Stereo-Relaisumschaltung, zwei SMD-Tastern, GPIO-gesteuerter Stummschaltung und Filterauswahl sowie Stereo-Ein- und -Ausgängen.

Platzierung, Routing, Footprint-Optimierung und JLCPCB-BOM-Optimierung der Leiterplatte laufen noch. Es gibt noch keine gefertigte Leiterplatte, Audiomessung, Hörbewertung, Rauschmessung oder Verzerrungsmessung.

Technologien

  • Raspberry Pi Zero 2 W
  • PCM5102A
  • EasyEDA Pro
  • JLCPCB