8-Bit-Stereo-Audio-R-2R-DAC, ist dies der richtige Weg?


8

Ich bin neu in der Elektrotechnik und das erste Projekt, das ich durchführen möchte, ist die Herstellung eines Digital-Analog-Audiokonverters. Ich habe herausgefunden, dass ein guter Weg, dies zu tun, darin besteht, eine R-2R-Struktur für die Konvertierung zu verwenden.

Ich möchte mich selbst herausfordern und mit dem digitalen Teil der Schaltung von vorne anfangen, abgesehen von der Tatsache, dass ich im Web keine Lösungen finden kann, die beim Aufbau helfen könnten. Ich habe ein Schaltungssimulationsprogramm und habe mit dem Entwerfen begonnen, während ich im Internet nach allen Arten von Elektronik gesucht habe, die Sie möglicherweise dafür verwenden.

Jetzt denke ich, dass ich irgendwo in der Nähe sein könnte, um das Prinzip eines DAC zu verstehen, aber es wäre hilfreich, wenn jemand, der Erfahrung hat, mir helfen könnte, zu überprüfen, ob ich es tatsächlich bekomme. Ist dies der richtige Ort, um danach zu fragen?

Wenn ja, hier ist die Schaltung, die ich entworfen habe: 8-Bit-Stereo-Audio R-2R DAC

Ich habe ein Schieberegister mit Ausgangsverriegelung für jeden Kanal verwendet und Q7S von einem zum anderen verbunden, um die Daten zu speisen. Ist es richtig, dass Audiodateien in Blöcken den linken und rechten Kanal abwechseln oder umgekehrt? zB in einer 8-Bit-Datei: 0010 0111 für links nach 0010 0110 für rechts?

Die Schieberegister, die ich hier verwendet habe, sind 74HC595. Beim Einschieben von Bits sind keine der Pins (momentan) aktiv. Wenn der Latch [STCP-Pin] ausgelöst wird, werden die Bits vom Schieberegister in das Speicherregister übertragen, wo sie ihren Wert direkt an die entsprechenden Pins ausgeben und aktiv bleiben, bis die nächsten 16 Bits zugelassen sind.

Dann gibt es den Kristall, für den ich ein Rechtecksignal verwendet habe, um eines mit der richtigen Schwingfrequenz zu imitieren: 24.576 MHz. Es speist den Zähler, in dem die Frequenz aufgeteilt wird, um die Frequenzen auszugeben, die mein DAC benötigt. In diesem Fall muss die Abtastfrequenz 192.000 kHz betragen, und daher muss die Frequenz, bei der die Daten verschoben werden, 3,02 MHz (192.000 x 16 Bit) betragen. Die Taktrate von 192.000 kHz wird zum Auslösen von STCP verwendet.

Als nächstes möchte ich herausfinden, wie Daten von einer Quelle (z. B. Raspberry) über I2C in einen Puffer im DAC geladen werden und von dort aus die Bits in die hier gezeigte Schaltung getaktet werden.

Wenn Sie denken, dass ich auf dem richtigen Weg bin oder nicht, wäre es sehr hilfreich, mich zu informieren.

Vielen Dank! Rogier

Ich habe übrigens vergessen zu erwähnen, dass der DAC, den ich bauen möchte, mindestens 24 Bit pro Kanal bei 96 kHz ist. Es nimmt nur viel Platz für diese Bedrohung ein und sollte nicht schwierig sein, sie anschließend hinzuzufügen. Es ist das gleiche Prinzip.


2
Gutes, schwieriges Projekt. Ich habe nicht alle Ihre Berechnungen durchgearbeitet, aber ein 8-Bit-Audio wird nicht allzu gut klingen. Sie müssen sich auf die halbe Versorgung einstellen, sodass Sie auf jeder Seite 7 Bit haben. Bei komprimierter Sprache, bei der der Dynamikbereich stark eingeschränkt ist, können leise Sprach- oder Musikpassagen aufgrund der groben Schrittweite und der logarithmischen Reaktion des Ohrs zu schrecklichen Verzerrungen führen. Aus dem Speicher beträgt die CD-Qualität 14 Bit.
Transistor

1
@transistor hat zwar keine Qualifikation mit hoher Wiedergabetreue, 8-Bit-Audio kann jedoch überraschend hörbar sein, wenn es richtig gemacht wird, insbesondere wenn die Abtastrate außerhalb des hörbaren Bereichs liegt, der in diesem Fall zu sein scheint (mit einem ausreichend hohen Sample) Rate, können Sie sogar mit 1-Bit-Ausgabe davonkommen ...). Ein ernsthafteres Problem ist, wenn die vorgeschlagenen Schieberegister "doppelt gepuffert" sind oder wenn Bits während des Durchschiebens vorübergehend an den falschen Ausgängen angezeigt werden, was zu erheblichen Verzerrungen führen kann.
Chris Stratton

4
Was Ihren Kommentar zu 24 Bit pro Kanal betrifft - vergessen Sie ihn, vergessen Sie ihn jetzt und verschwenden Sie keine Zeit mehr damit, darüber nachzudenken. Ich werde in diesem Kommentar nicht auf die Mathematik eingehen, aber ich bin mir sicher, dass es schon einige Zeit zuvor hier aufgetaucht ist. Wenn nicht, ist hier, was Wikipedia zu sagen hat: en.wikipedia.org/wiki/…
Pipe

2
Mit 1% Widerständen können Sie eine genaue 6-Bit-Auflösung erhalten (LSB = MSB / 64, also 1% Fehler <LSB / MSB-Wert), aber darüber hinaus müssten Sie den möglichen Fehler pro Widerstand für jede weitere halbieren Auch das Bit (0,25% für 8-Bit) verhindert, dass der Widerstandsfehler möglicherweise Ihre niedrigstwertigen Bits überfordert.
Robherc KV5ROB

2
223

Antworten:


7
  • Ja, dies ist genau der richtige Ort, um Ihre Frage zu stellen.
  • Ja, die R-2R-Topographie ist die am einfachsten zu entwerfende (und meiner Meinung nach beste) Methode, um einen Homebrew-DAC (ohne PWM) zu erstellen.
  • Wenn Sie sich selbst herausfordern, klingt es für mich so, als wären Sie ungefähr so ​​masochistisch wie ich (ein großes Lob dafür, dass Sie den Mut haben!). Dies ist ein wirklich kompliziertes Projekt für einen Anfänger.
  • Ihre R-2R-Widerstandsstrings (und wahrscheinlich die angeschlossenen Operationsverstärker) SIND tatsächlich Ihre 8-Bit-DACs

Folgendes denke ich:
Leiter korrigiert

Leider ist die Wikipedia-Seite zu R-2R-Leiter-DACs falsch, wenn angegeben wird, dass die R-2R-Leiter in dieser Anwendung als aktueller Teiler fungiert. Während ein R-2R - Leiter kann als ein Stromteiler, es tatsächlich funktioniert als ein Spannungsteiler , hier verwendet werden. Hier ist eine detaillierte Analyse.

Betrachten Sie nur das LSB der Leiter für sich:

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Unabhängig von der Position des Schalters beträgt der Thevenin-Widerstand dieses einfachen Spannungsteilers nur R. Der Wert der Thevenin-Spannungsquelle beträgt entweder 0 V oder 1/2 × Vref.

Überlegen Sie nun, was passiert, wenn Sie die nächste Stufe der R-2R-Leiter hinzufügen:

schematisch

simulieren Sie diese Schaltung

Sie können sehen, dass dies die gleiche Art von Spannungsteiler ist, die wir im ersten Fall hatten, außer dass die Anzahl der Spannungskombinationen zugenommen hat. Der Thevenin-Widerstand dieser Schaltung beträgt jedoch immer noch nur R, und die Thevenin-Spannungsquelle ist jetzt 0/4, 1/4, 2/4 oder 3/4 × Vref.

Durch Induktion können Sie sehen, dass Sie der Leiter eine beliebige Anzahl von Stufen hinzufügen können. Der einzige Effekt besteht darin, dass die Anzahl der Auswahlmöglichkeiten für den Wert der Thevenin-Spannungsquelle für jede Stufe mit 2 multipliziert wird. Der Quellenwiderstand bleibt für eine beliebige Anzahl von Stufen genau gleich.

Wenn die Lastimpedanz unendlich ist, stimmt die Ausgangsspannung der Leiter genau mit der Thevenin-Spannung überein. Wenn die Last jedoch einen endlichen Widerstandswert hat, besteht der einzige Effekt darin, einen Spannungsteiler mit dem Thevenin-Quellenwiderstand zu erstellen, der die Ausgangsspannung um ein festes Verhältnis skaliert, aber keinen anderen Einfluss auf die grundlegende Genauigkeit oder Linearität des DAC hat.


Beachten Sie, dass in Rogiers Originalschaltung (der fraglichen) die Operationsverstärker in einer invertierenden Konfiguration vorliegen, was bedeutet, dass der Ausgang der R-2R-Leiter direkt mit einer virtuellen Masse verbunden ist. Dies bedeutet, dass der Ausgangswert tatsächlich der Strom ist, der durch Rth fließt (was nur R ist), und dieser Strom fließt auch durch den Rückkopplungswiderstand des Operationsverstärkers. Die Ausgangsspannung des Operationsverstärkers ist die Spannung, die erforderlich ist, um diese beiden Ströme gleich zu machen, und beträgt -Rfb / R × Vth. Da er einen Rückkopplungswiderstand von 2R verwendet, beträgt der Ausgang -2 × Vth.


Es scheint einige Verwirrung darüber zu geben, ob die R-2R-Leiter als Spannungsteiler oder als Stromteiler verwendet wird. Hier ist eine Illustration, wie letzterer funktionieren kann, um die Hauptunterschiede zwischen dieser und der OP-Schaltung aufzuzeigen.

schematisch

simulieren Sie diese Schaltung

Beachten Sie, dass die durch die 2R-Widerstände abfließenden Ströme binär gewichtet sind. Dies funktioniert, weil der effektive Widerstand, der von einem der Dreifachübergänge nach rechts schaut, ebenfalls genau 2R beträgt. Daher teilt sich der von links fließende Strom immer gleichmäßig zwischen dem unteren und dem rechten Zweig auf.

Beachten Sie, dass hier eine wichtige Annahme ist, dass alle Beine an dieselbe Spannung gebunden sind (in diesem Fall Null). Es ist auch interessant festzustellen, dass die Spannungen an den Übergangsknoten ebenfalls binär gewichtet sind.

Dies kann verwendet werden, um einen DAC mit Stromausgang wie folgt zu erstellen :

schematisch

simulieren Sie diese Schaltung

Iout¯Iout


Um ehrlich zu sein, weiß ich immer noch nicht, was ein Opamp macht und warum ich es hier brauchen würde. Was (laut Simulationssoftware) bewirkt, dass das positive Signal, das aus der R-2R-Leiter kommt, mit einem Vielfachen von zwei negativ wird: ~ 5 V ein, -9,96 V aus. Warum sollte das notwendig sein?
Rogier Reerink

1
Operationsverstärker vergrößern die Differenz zwischen 2 Eingangsspannungen. Die Software meldet also, dass Sie Ihr MSB an den invertierenden Eingang (Minuszeichen-Pin) des Operationsverstärkers angeschlossen haben, wodurch der Ausgang als Gegenteil des Eingangs variiert. Das Verhältnis der Ausgangssignalspannung zur Eingangsspannung wird durch den Rückkopplungswiderstand (Sie haben 10K verwendet) vom Ausgang des Operationsverstärkers zum invertierenden Eingang des Operationsverstärkers gesteuert. Je höher der Widerstand, desto mehr Verstärkung erhalten Sie (Kurzschluss über diesen Widerstand, dann Verschieben der MSB-Verbindung zum Operationsverstärker + Eingang und LSB-Verbindung zur Masse sollte dies beheben.
Robherc KV5ROB

Nicht wirklich. Im OP-Diagramm sind die nichtinvertierenden Eingänge der Operationsverstärker geerdet. Sie wechseln lediglich zu einer Spannungsfolgerkonfiguration. Vergessen Sie nicht, jeweils einen 5k-Widerstand in den Rückkopplungspfad aufzunehmen, um die Vorspannungsstromversätze auszugleichen. Außerdem muss der unterste Widerstand in jeder Ihrer R-2R-Leitern 10 K und nicht 5 K betragen. Das OP hatte auch dieses Recht.
Dave Tweed

Robherc, 1. Ich würde die Koppelkondensatoren fallen lassen. 2. Wenn Sie die nicht invertierende Spannungsfolgerschaltung einhalten, müssen Sie einen 10K-Widerstand vom + -Anschluss der Operationsverstärker zur Erde hinzufügen. und der 5K-Widerstand an der Unterseite sollte 10 K betragen. Stellen Sie sich eine Überlagerung und alle Bits AUS (oder Masse) vor. Wenn Sie an einem dieser Knoten sitzen, sollte der Widerstand gegen Erde in alle drei Richtungen 10 K betragen.
Robert Bristow-Johnson

Diagramm mit korrigierter Erdung aktualisiert. @ robertbristow-johnson warum sollten Sie die Kondensatoren entfernen, die Gleichstrom blockieren und Ihren Ausgang zentrieren, um die Tranducer in einem Audiokreis zu schützen?
Robherc KV5ROB
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.