PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DAC Output Filter



Spatz
10.04.2020, 16:39
Moin allerseits,

ich plane gerade ein Projekt, in dem ein Raspberry Pi mehrere Audio-Ein- und Ausgänge ansteuert.
Ursprünglich hatte ich mich dabei am ElkPi Devkit (https://github.com/elk-audio/elk-pi-hardware) orientiert, das den TI PCM3168A (https://www.ti.com/lit/ds/symlink/pcm3168a.pdf) (https://www.ti.com/lit/ds/symlink/pcm3168a.pdf) als Codec nutzt, zusammen mit einem CPLD, der die Signale so aufbereitet, dass der Raspberry Pi multichannel-fähig ist.
Nun möchte ich aber auf den Cirrus CS42438 (https://statics.cirrus.com/pubs/proDatasheet/CS42438_F5.pdf) umschwenken, da dieser nur halb so viel Energie braucht (das Gerät ist akkubetrieben), und ansonsten das gleiche kann.

Mit der digitalen Sektion hab ich weniger Probleme, aber zum analogen Teil habe ich noch ein paar Fragen:

Was mich stutzig macht, ist das Design der Output Filter: Während sich die Filter für den PCM3168A zwischen dem Vorschlag von Texas Instruments und dem Design von Elk Audio nur minimal unterscheiden, ist das Filter für den CS42438 deutlich komplizierter.

Texas Instruments:
53920

Elk Audio:
53921

Cirrus Filter:
53922

Der Unterschied zwischen TI und Elk Audio liegt, so wie ich das erkenne, hauptsächlich in der Art der DC-Entkopplung: TI schlägt vor, die Kondensatoren in den Signalweg vor dem OpAmp zu legen, während Elk Audio das Signal vor dem OpAmp mit einem C gegen GND entkoppelt, und ausgangsseitig einen weiteren Elko in den Signalweg legt.
Was ist hier der Vorteil/Nachteil der beiden Varianten? Die Anzahl der Bauteile bleibt ja gleich, warum wird es einmal so gemacht, und einmal so?
Beim Filter von Cirrus fällt auf, dass positives und negatives Signal unterschiedlich beschaltet sind. Was für einen Effekt hat das?
Und warum unterscheiden sich die beiden Varianten so sehr?

Beim Evaluation Board für den Cirrus-CODEC sind die OpAmps mit +12V/-12V versorgt, bei Elk Audio nur mit 12V/0V. Ich möchte, wenn möglich, mit 12V/0V auskommen...

Grüße, Spatz

waterburn
11.04.2020, 00:01
Hallo Spatz,
bei beiden Schaltungen handelt es sich um Variationen des Multiple Feedback Tiefpass Filters. Bei der Variante von Cirrus wird versucht durch die anderen Bauteilerte die Impedanzen anzugleichen, die die Ausgangspins des DAC "sehen". In wie weit das Vorteile hat, hängt von den Gegebenheiten im Inneren des Codecs ab. Da Cirrus dies auch bei anderen ICs empfiehlt, würde ich das auch bei deinem Design berücksichtigen.
Es gibt allerdings elegantere Möglichkeiten gleiche Impedanz an beiden DAC Pins sicherzustellen. Ich mache dir morgen mal eine LTSpice Simulation fertig, in der du das geschriebene nachvollziehen kannst und mache dir zwei Vorschläge, wie es eleganter geht, besonders, wenn du mit 12V Single Supply arbeiten möchtest.

Bei der Wahl des Codecs, würde ich dir allerdings empfehlen den Blick nochmal auf AKM zu legen. Eine Kombination aus separatem ADC und DAC verspricht deutlich bessere Performance zu einem niedrigeren Preis. Meine Empfehlung wären AK4438 (ggf. sogar AK4458) und AK5556 oder 2x AK5704. Die Chips con AKM sind etwas gutmütiger was die Anforderungen an das Layout betrifft. Außerdem sind sie auch vom Energieverbrauch sehr interessant. Besonders der AK4438 und der AK5704.
Der Einzige Nachteil, den ich sehe ist der Platzverbrauch.

Gruß

waterburn

Edit: Spice Simulation ist angehängt.

Spatz
11.04.2020, 03:27
Hallo waterburn,

danke für die ausführliche Antwort und die LTSpice-Simulation. So langsam verstehe ich, was da passiert... :)
Und wie das so ist, tauchen dafür neue Fragen auf:
- Warum hat das klassische MFB unterschiedliche Impedanzen an beiden Eingängen, trotz (fast) symmetrischer Beschaltung? Liegt das an den 4,75kOhm, die einmal zum Ausgang des OpAmp, und einmal zu GND gehen?
- Was für Nachteile ergeben sich aus den unterschiedlichen Impedanzen? Mehr THD?
- Was ist eine Birt-Schaltung? Beim googlen taucht der Name David Birt, aber keine konkrete Schaltung. Geht es dabei um die Beschaltung von Cirrus?
- Deine Variante sieht in der Tat sehr gut aus! Auch der differentielle Ausgang kommt mir zumindest beim Main Ausgang zugute. Brauche ich für einen single-ended Ausgang dann noch einen zusätzlichen OpAmp, oder kann ich sogar einen einsparen? Als OpAmps sollen die OPA1692 zum Einsatz kommen.

Die AKM ICs sind in der Tat auch sehr interessant, und werden ja z.B. auch im Aurora eingesetzt, aber bei mir ist der Platz echt knapp. Und der Cirrus hat auch noch den Vorteil, dass er aus dem TDM-Signal noch ein I2S-Signal für einen zusätzlichen ADC, in meinem Fall USB Audio, bereitstellt.

53934

Liebe Grüße,

Spatz

waterburn
11.04.2020, 12:17
Hallo Spatz,
der Platz auf einer Platine ist leider oft der begrenzende Faktor. In dem Fall scheint der von dir gewählte Codec passend zu sein. Das Feature mit dem zusätzlich I2S Signal finde ich ebenfalls clever.



- Warum hat das klassische MFB unterschiedliche Impedanzen an beiden Eingängen, trotz (fast) symmetrischer Beschaltung? Liegt das an den 4,75kOhm, die einmal zum Ausgang des OpAmp, und einmal zu GND gehen?


Du hast es genau richtig erkannt. Der unterschiedliche Spannungsbezug sorgt für die unterschiedlichen Impedanzen am Eingang.



- Was für Nachteile ergeben sich aus den unterschiedlichen Impedanzen? Mehr THD?


Ob die unterschiedlichen Impedanzen überhaupt ein Problem darstellen ist stark vom konkreten Anwendungsfall abhängig. Sind die impedanzen nicht gleich fließen unterschiedliche Ströme in den einzelnen Zweigen des Filters und damit aus den Ausgangspins des DAC. Die Differenz dieser Ströme muss irgendwo herkommen. Da wir den internen Aufbau des ICs nicht kennen, können wir das nicht mit Sicherheit sagen, aber da Cirrus einen Aufbau empfiehlt, bei dem die Ausgänge ähnliche Impedanzen sehen, könnte es potentiell negative Folgen haben. Eine Mögliche Konsequenz wäre, dass die Ströme über die virtuelle Masse fließen würden. Da diese keine echte Masse ist, sondern nur eine Spannungsreferenz mit begrenzter Stromlieferfähigkeit und einem gewissen Inneniderstand. Die Ströme aller Schaltungsteile, die an diese virtuelle Masse angeschlossen sind fließen über diesen Innenwiderstand. In der EMV spricht man hier von Impedanzkopplung. Der Crosstalk könnte also schlechter werden. Weiter mögliche negative Konsequenzen wären ein erhöhter THD aufgrund des hohen Stroms den die Referent zur Verfügung stellen muss. Da wir außerdem nicht wissen, wo genau die Ströme lang fließen, ist es außerdem möglich, dass Störungen des Digitalteils einkoppeln etc. Grundsätzlich ist es bei Schaltungen mit kombiniertem Analog- und Digitalteil wichtig, dass die Stromkreise des Analogteils möglichst geschlossen sind. Das gilt ganz besonders für Schaltungen mit asymmetrische Spannungsversorgung. Nur wenn du weißt wo die Ströme lang fließen, kannst du im Zweifel feststellen wo Störungen einkoppeln.
Wenn du Glück hast, spielt das alles aber gar keine so große Rolle und es funktioniert einfach :)



- Was ist eine Birt-Schaltung? Beim googlen taucht der Name David Birt, aber keine konkrete Schaltung. Geht es dabei um die Beschaltung von Cirrus?


Ich habe das Original Paper von David Birt (Electronically Balanced Analogue-Line Interfaces) leider nicht zur Hand, und kann dir seine genauen Beweggründe nicht sagen. Es geht aber um symmetrische Line Eingänge. In der Sekundärliteratur wird das Thema immer nur vor dem Hintergrund eines Line Eingangs bei symmetrische Spannungsversorgung diskutiert. Für ein gutes CMRR ist die Impedanzgleichheit nicht unbedingt erforderlich, da hier nur die Common Mode Impedanzgleichheit wichtig ist. Aus diesem Grund wird diese Schaltungsvariante meist ziemlich schnell abgehandelt.
Die eigentliche Stärke dieser Schaltung liegt meiner Ansicht nach aber bei asymmetrischer Spannungsversorgung, insbesondere bei Versorgungsspannungen von 12V oder weniger.
Durch den vollsymmetrischen Aufbau gewinnt man 6dB Headroom. Der größte Vorteil dieser Schaltung ist aber, dass keine Ströme über den virtuellen Ground fließen. Die Idee die Birt-Schaltung in einer MFB Filter Stufe zu verwenden habe ich bisher weder in der Literatur, noch in Produkten gesehen. Ich habe es allerdings selber schon erfolgreich in Produkten eingesetzt.



- Deine Variante sieht in der Tat sehr gut aus! Auch der differentielle Ausgang kommt mir zumindest beim Main Ausgang zugute. Brauche ich für einen single-ended Ausgang dann noch einen zusätzlichen OpAmp, oder kann ich sogar einen einsparen? Als OpAmps sollen die OPA1692 zum Einsatz kommen.


Wenn du den OP einsparst sind die Impedanzen nicht mehr gleich. In dem Fall müsstest du auf die Schaltung aus dem Cirrus Datenblatt zurückgreifen, oder eben den zusätzlichen OP spendieren. Gerade bei single Supply würde ich dir aber zu meiner Variante raten. Bei symmetrischer Spannungsversorgung sind Ströme über Ground weniger kritisch. Der OPA1692 ist eine gute Wahl. Alternativ kannst du dir noch den OPA1678 anschauen. Diesen gibt es auch als 4-Fach Variante OPA1679. Wenn Platz auf der Platine ein Problem ist, könnte ein 4-fach OP eine Lösung sein.

Gruß

waterburn

Spatz
12.04.2020, 01:42
Ich schiebe gerade fleißig die Bauteile hin und her, und es sieht so aus, als könnte ich noch genug Platz freischaufeln, um das ganze noch mit OPA1692 aufbauen zu können, den ich aufgrund seines sehr geringen Ruhestroms und seinen guten Messwerten favorisiere. Danke nochmal für deine Hilfe, ich werde dann versuchen, deine Schaltung zu integrieren. Um von symmetrischer zu unsymmetrischer Übertragung zu kommen, würde ich einfach noch einen OPA1692 mit vier Widerständen dahinter schalten, also die Grundschaltung eines Differenzverstärkers. Oder sollte es nochmal ein Filter sein, so wie bei dem oben erwähnten Schaltbild von Texas Instruments?
Und brauche ich noch ein Paar serielle Kondensatoren am Ausgang, wenn der DC-Anteil schon am Eingang entkoppelt wurde?

Grüße,

Spatz

Edit: Passt das so?

53967

VCOM kommt aus dem CODEC, und wird über einen OpAmp gebuffert.

waterburn
12.04.2020, 10:50
Hallo Spatz,


Um von symmetrischer zu unsymmetrischer Übertragung zu kommen, würde ich einfach noch einen OPA1692 mit vier Widerständen dahinter schalten, also die Grundschaltung eines Differenzverstärkers. Oder sollte es nochmal ein Filter sein, so wie bei dem oben erwähnten Schaltbild von Texas Instruments?


Das ist gar nicht nötig. Du kannst R+ direkt verwenden. Einfach einen 47 Ohm Widerstand und einen großen Elko um DC zu entkoppeln. Direkt am Ausgang dann noch so 22k gegen Masse.



Und brauche ich noch ein Paar serielle Kondensatoren am Ausgang, wenn der DC-Anteil schon am Eingang entkoppelt wurde?

Ja, du fügst ja ieder einen DC Anteil hinzu über VCOM.



VCOM kommt aus dem CODEC, und wird über einen OpAmp gebuffert.

Wenn dir der Ausgangspegel reicht kannst du das so machen. (Bei der Analogen Eingangsstufe solltest du es auf jeden Fall so machen.) Allerdings brauchst du dann keine 12V Versorgungsspannung für die OPs. Nimm in dem Fall einfach 5V. Bei 12V Versorgungsspannung solltest du die Mittenspannung auf 6V legen und die Verstärkung der Filterstufen erhöhen. Ich nehme zum berechnen der Filter immer diesen Online Rechner:
http://sim.okawa-denshi.jp/en/Fkeisan.htm

Gruß

waterburn

Spatz
12.04.2020, 15:32
Hallo waterburn,

Der Ausgangspegel sollte so reichen, da ich nur auf +4dBu kommen muss, also 3,472Vpp. Es wäre natürlich praktisch, wenn ich auf die zusätzliche 12V-Rail verzichten könnte. Ich vermute mal, dass die Schaltung vom PCM3168A auf 12V setzt, da der CODEC einen Ausgangspegel von 8Vpp hat. Der Cirrus hat da ja deutlich weniger.
Kann ich mir die Eingangs-Elkos sparen, wenn ich VCOM vom CODEC abgreife, oder sind die trotzdem notwendig?

53973
53974
Sind die Schaltpläne für symmetrischen und unsymmetrischen Ausgang dann so korrekt?
Oder brauche ich beim symmetrischen Ausgang auch die Elkos am Ausgang?
Werden die Masseanschlüsse der TRS-Stecker dann auf VCOM gelegt, oder auf AGND?
Was passiert mit R- beim unsymmetischen Ausgang? NC, oder über einen C oder R auf Masse?

Gruß,

Spatz

waterburn
12.04.2020, 22:25
Hallo Spatz,

ich hab mir das ganze nochmal in Spice angeschaut. Wenn du die OPs mit 5V versorgst, kannst du die Koppel Cs(C38, C39, C94, C95) zwischen DAC und Filter weglassen. Da beide Filterzweige den gleichen Offset haben und das Filter Common Mode Signale unterdrückt, sind die nicht unbedingt nötig. Wenn Platz ist, würde ich sie aber trotzdem lassen. Sie Schaden nicht. Bei den symmetrischen Ausgängen solltest du unbedingt noch Koppel Cs vorsehen. Ein DC Offset auf den XLR Buchsen ist schlechter Stil. Symmetrischen Eingängen sollte das zwar nix ausmachen, aber man weiß nie, was die Leute da anschließen.
Direkt am Ausgang dann noch einen Widerstand gegen Masse, so ca. 22k - 100k, der Wert ist aber nicht kritisch.

Gruß

waterburn

Spatz
14.04.2020, 16:37
Hallo waterburn,

so sieht es jetzt aus:

54031
Symmetrisch

54032
Unsymmetrisch

Ich hab jetzt doch 12V als Versorgungsspannung gewählt, da auf dem Board noch ein analoger Ausgang mit 5Vpp als Steuerspannung für Synthesizer ist, und ich somit so oder so eine höhere Spannung in der Schaltung brauche.
Und da dachte ich mir, dass ich die anderen OPs auch an 12V anschließen kann, dann habe ich noch ein bisschen mehr headroom, der dann halt nicht genutzt wird.
Aber die 12V kommen auch aus einem Low Noise LDO, im Gegensatz zu den 5V die gefiltert aus einem Schaltregler kommen.
Da dann an den 12V nur die OPs hängen, erhoffe ich mir so eine sauberere Versorgung für die OPs.

Auf einer anderen Platine im Gehäuse befindet sich auch noch ein Verstärker für die internen Lautsprecher bzw. Kopfhörer (PAM8019). Da dieser unsymmetrisch angesteuert wird, habe ich auf der Hauptplatine einen deiner Filter, gehe dann symmetrisch zum anderen Board, und dort wird noch mit einem Differenzverstärker das unsymmetrische Signal erzeugt. So erhoffe ich mir weniger Störanfälligkeit.

Beste Grüße, und danke nochmal,

Spatz

PS: Die Werte für die Widerstände werden noch eingefügt, mir war erstmal das Layout wichtig...

54033

waterburn
14.04.2020, 16:54
Hallo Spatz,

die Schaltungen sehen jetzt gut aus.

Hallo waterburn,
Und da dachte ich mir, dass ich die anderen OPs auch an 12V anschließen kann, dann habe ich noch ein bisschen mehr headroom, der dann halt nicht genutzt wird.


Die Versorgung mit 12V bringt Audio Technisch keine Nachteile mit sich. Einzig der Energieverbrauch ist unnötig hoch. Um da etwas einzusparen müssten die Spannungen aber natürlich effizient mittels Schaltregler erzeugt werden.


Aber die 12V kommen auch aus einem Low Noise LDO, im Gegensatz zu den 5V die gefiltert aus einem Schaltregler kommen.

Die OPs haben ein recht hohes PSRR. Bei den DACs würde ich aber einen low noise LDO für die analogen 5V einsetzen.
Wenn du den Schaltregler ca. 5,3-5,5 V erzeugen lässt, kannst du sehr saubere 5V mit einem LDO wie dem NCP160 oder NCP161 von Onsemi. Die sind super klein (SOT23) und sehr günstig.
Bei dem 108dB, die der Codec kann, kommst du vielleicht auch mit einem Schaltregler hin, wenn du also BOM Kosten optimieren willst, kannst du auf den 5V LDO verzichten. Wenn du auf Nummer sicher gehen willst, würde ich aber einen LDO einsetzen. Im Zweifel lieber bei der Spannungsversorgung der OPs etwas sparen.

Gruß

waterburn

Spatz
14.04.2020, 17:06
Hallo waterburn,

da in dem Gerät noch einige andere Verbraucher mit 5V sind (u.a. ein Raspberry Pi und ein Haufen WS2812 LEDs), brauche ich die exakten 5V, insofern ist 5V+x und ein LDO leider keine praktikable Lösung, auch wenn es sicher besser wäre.
Die 5V für den CODEC werden aber nochmal durch einen Ferritkern und großzügige Kondensatoren gefiltert.

Um die 12V zu erzeugen nehme ich zuerst einen Boost Converter, der die Eingangsspannung auf ca. 14V erhöht, und dann mittels eines LDO auf 12V runterregelt.
Bezieht sich deine Aussage zum Energieverbrauch auf die LDOs, oder haben die OPs bei einer höheren Spannung einen höheren Ruhestrom? TI gibt Iq nämlich unabhängig von der Eingangsspannung an, deswegen vermutete ich, dass das keinen Unterschied macht.

Beste Grüße,

Spatz

waterburn
14.04.2020, 17:35
Hallo Spatz,

der Ruhestrom bleibt gleich, wenn die Spannung aber 12V statt 5V beträgt, ist der Energieverbrauch fast 2,5x so hoch.

gruß

waterburn

Spatz
14.04.2020, 17:40
Stimmt, Energie ist Strom mal Spannung.
Da hatte ich einen Hirnfurz...

Zum Glück ist der Unterschied insgesamt nur ca. 110 mW, das sollte verkraftbar sein.