Kaskadieren von ADCs, um eine höhere Auflösung zu erhalten

Angenommen, ich habe ein Paar 12-Bit-ADCs. Ich kann mir vorstellen, dass sie kaskadiert werden können, um eine <= 24-Bit-Ausgabe zu erhalten.

Ich kann mir vorstellen, einfach einen für den positiven Bereich und den anderen für den negativen Bereich zu verwenden, obwohl es wahrscheinlich zu einer gewissen Verzerrung im Übergangsbereich kommen wird. (Angenommen, wir können einige Fehlerbits ignorieren oder vielleicht einen 3. ADC platzieren, um den Wert um 0 Volt zu messen).

Eine andere Option, an die ich gedacht hatte, ist die Verwendung eines einzelnen Hochgeschwindigkeits-ADC und das Umschalten der Referenzspannungen, um eine höhere Auflösung bei niedrigerer Geschwindigkeit zu erhalten. Es sollte auch eine Möglichkeit geben, ein realwertiges Ergebnis zu erhalten, indem ein ADC mit fester Referenz verwendet und dann die Arefs des Sekundärwandlers umgeschaltet werden, um einen genaueren Wert dazwischen zu erhalten.

Alle Kommentare und Vorschläge sind willkommen.

Ich gehe davon aus, dass ein Quad-8-Bit- (oder Dual-12-Bit-) Chip weniger teuer ist als ein einzelner 24-Bit-Chip.

Ja, es ist theoretisch und in 0,01% der realen Fälle möglich, in denen Teile eine "effektive Anzahl von Bits" haben, die der "Datenanzahl von Bits" entspricht, wobei der Rest der Spezifikationen zusätzliche 5 Größenordnungen an Genauigkeit erfüllt. Was bei 99,99 % der Teile nicht zutrifft.
Wenn Sie einen für positive Spannungen und den anderen für negative Spannungen verwenden, erhalten Sie nur 13 Bit. Sie zu kaskadieren würde einen DAC und einen Verstärker erfordern. Sie wandeln das Signal direkt um, schreiben den Wert in den DAC und subtrahieren den DAC-Ausgang vom Eingangssignal. Dann verstärkt man das Signal durch 2 12 , und speisen Sie es in den zweiten ADC ein.

Antworten (6)

Viele Dinge in Ihrer Frage. Nehmen wir sie also einzeln.

Angenommen, ich habe ein Paar 12-Bit-ADCs. Ich kann mir vorstellen, dass sie kaskadiert werden können, um eine <= 24-Bit-Ausgabe zu erhalten. Ich kann mir vorstellen, einfach einen für den positiven Bereich und den anderen für den negativen Bereich zu verwenden, obwohl es wahrscheinlich zu einer gewissen Verzerrung im Übergangsbereich kommen wird. (Angenommen, wir können einige Fehlerbits ignorieren oder vielleicht einen 3. ADC platzieren, um den Wert um 0 Volt zu messen).

Nicht wirklich - Sie würden eine 13-Bit-Auflösung erhalten. Man kann den Betrieb eines 12-Bit-Wandlers so beschreiben, dass entschieden wird, in welchem ​​der 4096 Bins (2 ^ 12) die Eingangsspannung liegt. Zwei 12-Bit-ADCs würden Ihnen 8192 Bins oder eine 13-Bit-Auflösung geben.

Eine andere Option, an die ich gedacht hatte, ist die Verwendung eines einzelnen Hochgeschwindigkeits-ADC und das Umschalten der Referenzspannungen, um eine höhere Auflösung bei niedrigerer Geschwindigkeit zu erhalten.

Tatsächlich funktioniert der Successive Approximation Converter so . Grundsätzlich wird ein Ein-Bit-Wandler (auch bekannt als Komparator) mit einem Digital-Analog-Wandler verwendet, der eine variierende Referenzspannung gemäß einem sukzessiven Approximationsalgorithmus erzeugt, um eine digitalisierte Abtastung der Spannung zu erhalten. Beachten Sie, dass SAR-Konverter sehr beliebt sind und die meisten ADCs in uC vom SAR-Typ sind.

Es sollte auch eine Möglichkeit geben, ein realwertiges Ergebnis zu erhalten, indem ein ADC mit fester Referenz verwendet und dann die Arefs des Sekundärwandlers umgeschaltet werden, um einen genaueren Wert dazwischen zu erhalten.

Tatsächlich ist es der Funktionsweise von Pipeline-ADCs sehr ähnlich . Anstatt jedoch die Referenz des sekundären ADC zu ändern, wird der Restfehler, der nach der ersten Stufe zurückbleibt, verstärkt und durch den ADC der nächsten Stufe verarbeitet.

Alle Kommentare und Vorschläge sind willkommen. Ich gehe davon aus, dass ein Quad-8-Bit- (oder Dual-12-Bit-) Chip billiger ist als ein einzelner 24-Bit-Chip.

Tatsächlich gibt es einen Grund dafür, dass es nicht so einfach ist, einen 24-Bit-Konverter zu haben, wie in einer Konfiguration vier 8-Bit-Konverter anzuordnen. Dazu gehört noch viel mehr. Ich denke, dass das Hauptmissverständnis hier darin besteht, zu denken, dass man einfach die Anzahl der Bits "hinzufügen" kann. Um zu sehen, warum dies falsch ist, ist es besser, sich ADC als Schaltung vorzustellen, die entscheidet, zu welcher "Bin" -Eingangsspannung gehört. Die Anzahl der Bins ist gleich 2^(Anzahl der Bits). Ein 8-Bit-Konverter hat also 256 Bins (2^8). Der 24-Bit-Konverter hat über 16 Millionen Bins (2^24). Um also die gleiche Anzahl von Bins wie bei einem 24-Bit-Konverter zu haben, bräuchte man über 65.000 8-Bit-Konverter (tatsächlich 2 ^ 16).

Um mit der Bin-Analogie fortzufahren - nehmen Sie an, dass Ihr ADC eine volle Skala von 1 V hat. Dann ist der 8-Bit-Wandler "bin" 1V/256 = ~3,9mV. Beim 24-Bit-Wandler wären es 1V/(2^24) = ~59,6nV. Intuitiv ist klar, dass die "Entscheidung", ob die Spannung zu einem kleineren Bin gehört, schwieriger ist. In der Tat ist dies aufgrund von Rauschen und verschiedenen Schaltungsabweichungen der Fall. Man würde also nicht nur über 65.000 8-Bit-Konverter benötigen, um eine 24-Bit-Auflösung zu erhalten, sondern diese 8-Bit-Konverter müssten auch in der Lage sein, auf 24-Bit-Bin aufzulösen (Ihr normaler 8-Bit-Konverter wäre da nicht gut genug). kann auf ~3,9 mV bin auflösen, nicht auf 59,6 nV bin)

Der Bereich, in dem ein 8-Bit-Konverter arbeiten würde, beträgt 256 * 59,6 nV = 15,26 uV. Ich habe noch nie Referenzspannungen so niedrig und präzise gemacht :)

Wenn Sie Ihren Eingangsbereich aufteilen, erhalten Sie 13 Bit, nicht 24. Angenommen, Sie haben einen Eingangsbereich von -4,096 V bis +4,096 V. Dann hat ein 12-Bit-ADC eine Auflösung von 2 mV: 2 12 x 2 mV = 8,192 V (der Bereich von -4,096 V bis +4,096 V). Wenn Sie die positive Hälfte nehmen, erhalten Sie dort eine Auflösung von 1 mV, da sich Ihre Reichweite halbiert: 2 12 x 1 mV = 4,096 V. Das ist 2 12 Pegel über 0 V und weitere 2 12 unter. Gemeinsam 2 12 + 2 12 = 2 13 , also 1 Bit extra, nicht 12.

Über das Ändern der Referenzspannung. Ich gebe ein anderes Beispiel. Angenommen, Sie haben einen 1-Bit-ADC und möchten 12 Bit erhalten, indem Sie die Referenz ändern. Ein Bit gibt Ihnen eine 1, wenn der Eingang größer als ist v R E F 2 , andernfalls eine Null. Angenommen, Ihre Referenz ist 1 V, dann beträgt der Schwellenwert 0,5 V. Wenn Sie Ihre Referenz auf 0,9 V ändern, haben Sie einen neuen Schwellenwert bei 0,45 V, sodass Sie bereits 3 verschiedene Pegel erkennen können. Hey, das kann funktionieren, ich kann 12-Bit mit einem 1-Bit-ADC machen und dann wahrscheinlich auch 24-Bit mit einem 12-Bit-ADC!
Halte es! Nicht so schnell! Sie können dies tun, aber die Komponenten Ihres 1-Bit-ADC müssen 12-Bit-Qualität haben. Das ist für die Präzision der Referenz und des Komparators. Ebenso wäre ein 12-Bit-ADC in der Lage, 24-Bit auszuführen, wenn die Genauigkeit des ADC genau genug ist und die Genauigkeit der variierenden Referenzspannung 24-Bit-Klasse ist. In der Praxis gewinnt man also nicht viel.

Es gibt kein kostenloses Mittagessen.

Bearbeiten
Es scheint ein Missverständnis über Oversampling und die Tatsache zu geben, dass es 1 -Bit-Audio-ADCs gibt, die Ihnen eine 16-Bit-Auflösung geben können.
Wenn Ihr Eingang ein fester DC-Pegel ist, z. B. 0,2 V in einem Eingangsbereich von 1 V, ist auch Ihr Ausgang immer gleich. Bei einem 1-Bit-ADC ist dies für unser Beispiel Null (der Pegel ist kleiner als die Hälfte der Referenz). Nun, das wird so sein, egal ob Sie mit 1 Abtastung pro Sekunde oder 1000 abtasten. Die Mittelwertbildung ändert dies also nicht. Warum funktioniert es mit dem Audio-ADC?, weil die Spannung ständig variiert (Rauschen), was laut Einstein (Relativität, Sie wissen schon ;-)) dasselbe ist, wie die Spannung konstant zu halten und die Referenz zu variieren. Und dannSie erhalten beim Oversampling mehrere unterschiedliche Messwerte, die Sie mitteln können, um eine ziemlich gute Annäherung an Ihren tatsächlichen Pegel zu erhalten.
Das Rauschen muss stark genug sein, um die Schwelle(n) des ADC zu überschreiten, und muss bestimmte Einschränkungen erfüllen, wie z. B. die Gaußsche Verteilung (weißes Rauschen). Im 1-Bit-Beispiel hat es nicht funktioniert, weil der Rauschpegel zu niedrig ist.


Weiterführende Literatur:
Atmel Application Note AVR121: Enhancing ADC resolution by oversampling

Ich bin mir nicht sicher, ob ich Ihre Überlegungen dazu verstehe. Sicherlich, wenn Sie + und - aufteilen, können Sie dann bei 0 V bis +4,096 V bei 12 Bit und 0 V bis -4,096 V bei 12 Bit abtasten, was insgesamt 24 Bit über den gesamten Bereich ergibt?
@MattJenkins, es wäre dasselbe wie ein Zeichenbit. Denk darüber nach. Wenn ich 0-10 V mit 12 Bit und 0-(-10 V) mit 12 Bit abtaste, brauche ich nur ein Bit, um zu sagen, ob das Signal negativ oder positiv war.
Dies ist wahr - obwohl Sie also mit 24 Bit abtasten könnten , könnten Sie mit nur 13 Bit genau dieselbe Auflösung erhalten.
@Matt - jede Verdoppelung der Auflösung gibt Ihnen 1 Bit mehr. 2 Bit über 8 V ergeben eine 2-V-Auflösung ( 8 v 2 v = 2 2 ), ein drittes Bit gibt Ihnen die Hälfte davon, 1 V ( 8 v 1 v = 2 3 ).
@MattJenkins, Sie könnten 1 Hot-Encoding verwenden und 1024 Bit statt 10 nehmen. Die physikalische Realität ist, dass der Ingenieur tun kann, was er will, sagen Sie dem Kunden einfach, dass Sie nur um 3 dB und nicht um 10 kW abweichen.
Die Formelbearbeitung ist bei Verwendung von Chrome SCHLECHT kaputt. Die Formeln sind ein Durcheinander. Menschen müssen die breitere Benutzerbasis berücksichtigen, wenn sie versuchen, zweckmäßigen, aber universell lesbaren Text zu verschönern.
@Russell - Wie ich in einem anderen Kommentar sagte, ist mathjax.org Chrome-kompatibel. Irgendwie muss es an deiner Konfiguration liegen. Frag mal in Meta danach. Ich würde das supportTag verwenden, nicht die bug. Ich hoffe, wir können es beheben. Erfolg!

Ja, theoretisch können Sie tun, was Sie wollen, aber nur, wenn Sie eine völlig unrealistische Ausrüstung zur Verfügung haben.

Die mehreren anderen Kommentare, die bisher über die begrenzte zusätzliche Genauigkeit gemacht wurden, sind leider richtig.

In Betracht ziehen. Messen Sie eine Spannung mit einem 12-Bit-ADC und erhalten Sie beispielsweise 111111000010 Sie wissen, dass der tatsächliche Wert irgendwo in einem 1-Bit-Bereich +/- 0,5 Bit auf beiden Seiten dieses Werts liegt.

Wenn Ihr ADC auf 24 Bit genau war, aber nur 12 Bit lieferte, dann meldet er, dass der Wert innerhalb von +/- einem halben Bit von 111111000010 000000000000 liegt. Wenn dies der Fall wäre, könnten Sie einen 12-Bit-ADC mit +/- nehmen 1/2-Bit-Bereich, zentrieren Sie ihn auf 111111000010000000000000 und lesen Sie das Ergebnis ab. Dadurch erhalten Sie wie gewünscht die Differenz zwischen dem tatsächlichen Signal und dem aDC-Wert. QED.

Der 12-Bit-ADC selbst ist jedoch nur auf etwa ein halbes Bit genau. Die Summe seiner verschiedenen Fehler führt dazu, dass er ein bestimmtes Ergebnis angibt, wenn das tatsächliche Ergebnis bis zu etwa einem halben, aber unterschiedlichen Plus oder Minus beträgt.

Während Sie möchten

111111000010 bedeutet 111111000010 000000000000

es kann tatsächlich 111111000010 000101101010 oder was auch immer bedeuten.

Wenn Sie also einen zweiten ADC nehmen und die unteren 12 Bits messen und davon ausgehen, dass sie relativ zu einer genauen 12-Bit-Grenze sind, sind sie tatsächlich relativ zum obigen fehlerhaften Wert. Da dieser Wert im Wesentlichen ein Zufallsfehler ist, würden Sie Ihre neue Zahl von 12 niedrigeren Bits zu 12 Bits von im Wesentlichen zufälligem Rauschen hinzufügen. Präzise + zufällig = neu zufällig.

BEISPIEL

Verwenden Sie zwei Konverter, die einen Bereich messen und ein Ergebnis in 1 von 10 Schritten liefern können. Wenn sie auf 100 Volt FS skaliert werden, ergeben sie ge 0 10 20 30 40 50 60 70 80 90

Wenn sie auf 10 Volt Skalenendwert skaliert werden, ergeben sie 1 2 3 4 5 6 7 8 9

Sie entscheiden sich, diese beiden Konverter zu verwenden, um einen 100-Volt-Bereich mit einer Genauigkeit von 1 Volt zu messen.

Konverter 1 gibt 70 V zurück. Sie messen dann die Spannung relativ zu 70 V und erhalten -3 V. Daraus schließen Sie, dass der tatsächliche Wert +70 V - 3 V = 67 V beträgt.

JEDOCH könnte das 70-V-Ergebnis tatsächlich eines von 65 66 67 68 69 70 71 72 73 74 sein

Nur wenn der 1. Konverter GENAU auf 1V in 100 ist, obwohl er 10V-Schritte in 100V anzeigt, können Sie das erreichen, was Sie wollen.

Ihr tatsächliches Ergebnis ist also 67 V +/- 5 Volt = alles zwischen 62 V und 72 V. Du bist also nicht besser dran als vorher. Ihr Zentrum ist umgezogen, aber es kann sich zufällig befinden.

Auf diese Weise können Sie eine bescheidene Verbesserung erzielen, da ein Konverter normalerweise wahrscheinlich etwas genauer ist als die Bits, die er zurückgibt (Sie hoffen), sodass Ihr zweiter Konverter davon Gebrauch macht.


Ein System, das tatsächlich funktioniert, wurde mit einer wichtigen Auslassung erwähnt. Wenn Sie ein Signal N-mal abtasten und +/_ ein halbes Bit Gaußsches Rauschen hinzufügen, verteilen Sie das Signal "über den gesamten möglichen Bereich" und der Durchschnittswert ist jetzt log (N) genauer als zuvor. Dieses Schema hat Angelhaken und Qualifikationen und Sie können nicht einfach eine beliebige zusätzliche Anzahl von Bits erhalten, aber es bietet einige Verbesserungen.


Im ersten Fall oben habe ich einen 12-Bit-ADC mit 24-Bit-Genauigkeit erwähnt. Sie können so etwas erreichen, indem Sie einen 12-Bit-ADC verwenden und seinen angenommenen Wert mit einem 24-Bit-Delta-Sigma-Wandler lesen. Wenn das Signal stabil genug war, dass es im selben Ein-Bit-Bereich blieb, können Sie einen zweiten ADC verwenden, um die zweiten 12 Bits dieses stabilen Signals zu lesen.

Alternative - Lesen Sie einfach das 24-Bit-Signal zunächst mit Sigma-Delta, sperren Sie diesen Punkt ein und messen Sie dann nacheinander relativ dazu mit dem 2. ADC. Solange das Signal in Reichweite des 2. ADC bleibt, erhalten Sie ein viel schnelleres Ergebnis.

Hmmm. Eine Stimme oben. Eine Gegenstimme. In Anbetracht dessen, was hier als OK-Antworten durchgeht [tm] :-) Es würde mich interessieren, wer diese Antwort für so schrecklich hielt, dass sie eine Ablehnung verdient, und warum?

Es gibt etwas namens Supersampling, das verwendet werden kann, um die Auflösung vieler Arten von ADC zu erhöhen.

Es funktioniert, indem es dem Signal Rauschen hinzufügt. Obwohl das Rauschen die Auflösung verringert, ist es notwendig, die Daten dazu zu bringen, sich auf mehrere Bits aufzuteilen. (Ich bin kein Signalverarbeitungstyp - so verstehe ich es.) Ihr Rauschen besteht möglicherweise nur aus 1 oder 2 Bit, muss aber vorhanden sein. Wenn Sie ein 12-Bit-Sample nehmen, haben Sie 12 Bit. Wenn Sie dann 4 Samples nehmen, sie addieren und durch zwei teilen, erhalten Sie ein 13-Bit-Sample. (Jedes zusätzliche Bit erfordert aufgrund von Nyquist 4 Abtastungen.)

Eine einfache Möglichkeit, dies zu tun, besteht darin, der Referenzspannung Rauschen hinzuzufügen. Ich verwende dies, um einen 12-Bit-ADC in einem dsPIC33F für eine höhere Auflösung auf 16 Bit zu erhöhen. Vorher richte ich einen asynchronen Timer mit hoher Frequenz ein und verwende DMA, um eine Folge von PRNG-Nummern in die Ausgabeerfassung einzureihen, was eine relativ saubere Rauschquelle ergibt. Der Rauschausgang spannt die Referenzspannung um etwa 0,1 % (1k-1Meg-Teiler) vor. Das Rauschen ist bidirektional, sinkend und quellend. Ich verwende den DMA des dsPIC33F, um Proben in die Warteschlange zu stellen, damit dies mit wenig CPU-Eingriff erfolgen kann. Natürlich sinkt die maximale Abtastrate auf etwa 1/32 der normalen Rate, aber das ist kein Problem für meine Anwendung.

Da das Rauschen nicht immer gleichmäßig verteilt ist, werde ich die Eingänge an jedem ausgelieferten Gerät kalibrieren, obwohl der Unterschied wahrscheinlich nur 1 oder 2 LSB beträgt.

Woher wissen Sie, dass das hinzugefügte Rauschen das richtige Spektrum hat (weißes Rauschen)? Wie entscheiden Sie über die Amplitude? Wenn Ihr Rauschen nicht gut ist, haben Sie eine höhere Auflösung, aber nicht mehr Genauigkeit.
@Federico Natürlich - für mich ist es Versuch und Irrtum. Weißes Rauschen kann mit einem PRNG simuliert werden und für nur 32 Samples funktioniert es gut genug. Wenn ich ein echter Elektroniker wäre, wüsste ich, wie man es richtig macht.
Hier ist ein Artikel bei Analog Devices, der dies erklären könnte: analog.com/library/analogdialogue/archives/40-02/adc_noise.html
@ThomasO, ich habe diese Technik mit Thermistoren verwendet, um 8 Bit Präzision hinzuzufügen. Allerdings nicht mit Lärm, wir haben geheizt.
@DarenW Das kommt mir bekannt vor - ich glaube, davon habe ich meine Idee.
Federicos Fragen sind berechtigt. Es ist sehr einfach, Rauschen hinzuzufügen und zu sagen: "Hey, schau, ich bekomme die zusätzlichen Bits tatsächlich", aber die Extras könnten genauso gut auch nur Rauschen sein, anstatt die erhöhte Genauigkeit, auf die du gehofft hast. Und es ist alles andere als offensichtlich , dass ein PRNG (der ein korreliertes Signal erzeugt) weißes Rauschen erzeugen würde. Ein Hardware-Rauschgenerator könnte besser sein (z. B. ein in Sperrrichtung vorgespannter Basis-Emitter-Übergang)

Mit einem Summierverstärker können Sie die beiden DAC-Ausgänge summieren. Sie können R1 = 100 k, R2 = R3 = 100 Ohm verwenden. Auf diese Weise ist der Ausgang Vout = -(V1 + V2 / 1000). Sie benötigen eine doppelte Versorgung, und wenn Sie es nicht invertieren möchten, müssen Sie einen weiteren invertierenden Verstärker mit Verstärkung = 1 einsetzen. Nehmen wir also an, Sie haben einen 12-Bit-DAC mit 2 Ausgängen und einer Referenz von 4,096 V. Dann (wenn Sie einen zweiten invertierenden Verstärker haben) erhöht ein Inkrement von DAC 1 die Ausgabe um 1 uV und ein Inkrement von DAC 2 erhöht die Ausgabe um 1 mV. Das sind insgesamt keine 24 Bit. Es geht um 22 Bit. Theoretisch können Sie R1 so wählen, dass es 4096-mal größer ist als R2 und R3 und 24 Bit erhalten, aber Sie werden keine besseren Ergebnisse erzielen. Sie werden viele Rauschprobleme im Mikrovoltbereich haben, selbst wenn Sie einen guten rauscharmen Operationsverstärker auswählen.

Update I, obwohl es eine Frage zu DAC ist, weil ich nach DACs gesucht habe. So wenden Sie ein ähnliches Prinzip mit ADCs an. Anstatt zu summieren, müssen Sie das Ergebnis von ADC1 subtrahieren und dann mit 1000 multiplizieren, bevor Sie mit ADC2 messen.

Doppelte ADC-Auflösung

Korrektur - ADC3 sollte auf VGnd (Vref/2) sein, nicht auf Vref, um mit der Ergebnisformel übereinzustimmen

Anstelle von AZ431 können Sie jede andere 2,5-V-Referenz oder eine andere einstellbare Referenz mit geeigneten Passiven verwenden, um genau 4,096 V zu erhalten. Je weniger Temperaturdrift die Referenz hat, desto besser sind die Ergebnisse. Außerdem muss es geräuscharm sein. Beachten Sie, dass es wahrscheinlich nicht genau genug ist. Es ist schön, einen 500-Ohm-Trimpot mit mehreren Umdrehungen zwischen R7 und R8 mit Schleifer an den Referenzeingang zu legen und ihn für Vref = 4,096 V genau einzustellen. Außerdem wird ein Trimpot (2) zwischen R1 und R2 mit Schleifer zum positiven Eingang von U1 benötigt. Optimieren Sie es für 2,048 V auf VGnd. U1 ist nur ein rauscharmer Operationsverstärker. (BTW AZ431 ist für den Job schrecklich. Ich habe es gesagt, weil ich das Symbol hatte).

Es ist sehr wichtig, dass U2, U3 und U4 Zero-Offset-Chopper-Verstärker sind. U2 ist wichtiger, weil es sich mit 100 multipliziert. Jedes Mikrovolt wird zu 100 Mikrovolt. Wenn Sie OP07 verwenden und es richtig nullen und die Temperatur sich um 10 Grad ändert, erhalten Sie einen Offset von 13 uV, was 1,3 mV am Ausgang von U4 entspricht. Das sind 13 mV im ADC-Ausgang, was ADC2 fast nutzlos macht.

Außerdem muss U3 6,048 V erreichen können - das ist VGnd (2,048 V) + 2 x Vinmax (2 x 2 V = 4 V). Das ist die ganze Idee, Vcc = +12 V Stromversorgung zu haben. Vcc kann so niedrig wie 6,5 V sein, wenn MAX44252 verwendet wird. Da MAX44252 ein Rail-to-Rail-Operationsverstärker ist, kann die negative Versorgung übersprungen und Vss des Operationsverstärkers mit Masse verbunden werden. Das gilt für jeden Operationsverstärker, der am Ausgang bis auf 48 mV heruntergehen kann.

MAX44252 hat eine Offset-Spannung von 2–4 uV (typisch) und eine Temperaturdrift von 1 bis 5 nV. Es kostet 2,64 $ auf digikey in Mengen von 1 und es ist Quadopamp, also wird nur ein Chip die Arbeit erledigen.

Wie es funktioniert? Nehmen wir zum Beispiel einen 10-Bit-DAC. Die Auflösung beträgt 4,096/1024 = 4 mV. Das Eingangssignal muss relativ zu VGnd sein, das die Hälfte von Vref ist. ADC1 misst die Eingangsspannung wie gewohnt. Gibt dann den Wert über DAC1 aus. Der Unterschied zwischen Vin und DAC1 ist der Fehler, den Sie verstärken, messen und zum ADC1-Ergebnis hinzufügen müssen. U2 verstärkt die Differenz Vin – DAC1 relativ zu DAC1 mit einer Verstärkung von 100. U4 verstärkt diese Differenz um 10 und subtrahiert auch DAC1 relativ zu VGnd. Das macht ADC2 = (Vin - DAC1) * 1000, relativ zu VGnd. Mit anderen Worten, wenn Sie 1,234567 V auf Vin haben, relativ zu VGnd. ADC1 misst den Wert 821weil die Auflösung 4 mV beträgt und (2,048 + 1,234567)/0,004 = 820,64175. Der DAC-Wert wird also auf 309 eingestellt, was 309 * 0,004 V = 1,236 V entspricht. Jetzt erhält ADC2 1,234567-1,236 = -0,001433 * 1000 = -1,433 V relativ zu VGnd (idealerweise). Das ist 2,048-1,433 = 0,615 V Gleichtakt. 0,615 V / 0,004 = 153,75. Also ADC2-Wert = 154. Es ist einfacher, den Wert in Mikrovolt zu berechnen, um die Verwendung von Float zu vermeiden. Um ADC2 in mV umzurechnen, müssen wir den Wert mit 4 multiplizieren: VADC1 = 821*4 = 3284mV. Um in uV umzuwandeln, müssen wir mit 1000 multiplizieren. Oder das ist der ADC1-Wert multipliziert mit 4000. 821 * 4000 = 3284000. Die ADC1-Spannung in Bezug auf VGnd ist also 3284000-2048000 = 1236000uV. Der ADC2 ist bereits mit 1000 multipliziert, also müssen wir nur mit 4 multiplizieren: VADC2 = 154*4 = 616. Um die Spannung relativ zu VGnd zu erhalten, müssen wir VGnd subtrahieren: 616-2048 = -1432uV. Wir nehmen hier VGnd = 2048uV, weil wir eine 1000-fache Verstärkung haben. Jetzt addieren wir VADC1 und VADC2: 1236000 + (-1432) = 1234568uV oder 1,234568V

Natürlich sind das nur Träume, denn wenn Sie sich mit Mikrovolt befassen, treten alle möglichen schrecklichen Probleme auf - Operationsverstärkerrauschen, Widerstandsrauschen, Spannungsoffset, Temperaturdrift, Verstärkungsfehler ... Aber wenn Sie anständige Teile verwenden, mindestens 1% Widerstände und Wenn Sie den Offset programmgesteuert nullen und die Verstärkung korrigieren, erhalten Sie möglicherweise ein einigermaßen gutes Ergebnis. Natürlich können Sie keine stabile Eingabe bis zur letzten Ziffer erwarten. Vielleicht können Sie die Auflösung auf 10uV begrenzen (das Ergebnis durch 10 teilen). Auch die Multiplikation mit 4 kann durch Summieren von 4 aufeinanderfolgenden Ergebnissen erfolgen, um eine gewisse Mittelwertbildung zu erhalten.

Denken Sie daran, dass nichts davon getestet wird. Ich habe nur die Verstärkerstufe simuliert, ohne Rauschen und Opamp-Offset zu berücksichtigen. Wenn sich jemand entscheidet, es zu bauen, schreibe die Ergebnisse in die Kommentare.

Frage fragt nach AD C. Sie sprechen von DA C.
Es tut mir leid. Ich habe nach DAC gesucht und diese Frage gefunden. Ich habe geschrieben, ohne sorgfältig zu lesen. Ich werde als Ausgleich vorschlagen, wie man das gleiche Prinzip auf ADC anwendet.
Ich habe meine Ablehnung entfernt, da sich Ihr Beitrag jetzt auf die Frage bezieht. Aber ich glaube nicht, dass diese Lösung in der Praxis funktionieren kann. Ich fürchte, es wird zu viele Ungenauigkeiten geben.
Natürlich wird es funktionieren. Die Genauigkeit hängt jedoch von den verwendeten Teilen ab. Es gibt Chopper-Verstärker mit einem Offset von 0,1 uV und einer Drift von 1-5 nV/degC. Außerdem haben sie Nanovolt 0,1-10 Hz pp-Rauschen. In Kombination mit einer guten Referenz könnte es eine stabile Ausgabe von bis zu 10 s von uV erhalten. Dies kann jedoch mit billigeren Teilen funktionieren, wenn Sie zusätzliche Ziffern gewinnen möchten. Beispielsweise hat ein 10-Bit-ADC mit einer Referenz von 4,096 V eine Auflösung von 4 mV. Ich denke, mit dieser Schaltung kann die Auflösung problemlos auf 0,1 uV verbessert werden (vielleicht mit besserer Referenz). Das sind +/-20000 Zählungen. Natürlich ist eine Softwarekalibrierung für Offset und Verstärkung erforderlich.
Das ist alles Theorie. Die Tatsache, dass Ihr ADC2-Messwert von Ihrer DAC-Einstellung (und dem Opamp-Offset, aber das ist nicht einmal der wichtigste Teil) abhängt, die selbst von Ihrem ADC1-Messwert abhängt (und all diese Toleranzen aufweisen), wird dazu führen, dass Sie mit Sicherheit gewonnen haben Sie können nicht einmal einen monotonen Betrieb Ihres Systems garantieren (selbst wenn Sie sich innerhalb der Grenzen Ihrer berechneten Genauigkeit befinden).
Ah, ja, ich kann es jetzt erklären: Das Problem ist, dass Ihr DAC eine Genauigkeit von +/- 0,5 LSB haben wird (es kann es nicht besser machen - kein DAC ist besser). Alles, was davon abhängt, wird später diese Ungenauigkeit aufweisen, einschließlich Ihres ADC2-Messwertes. Am Ende werden Sie also versuchen, etwas mit µV-Präzision zu lesen, das mV-Ungenauigkeiten enthält. Es sei denn, Sie verwenden einen DAC, der mindestens auf ADC1-Bits + ADC2-Bits genau ist. Aber wenn Sie sich einen 32-Bit-DAC plus zwei 16-Bit-ADC und ein paar sehr hochpräzise Operationsverstärker leisten können, sollten Sie besser von Anfang an einen 32-Bit-ADC kaufen und eine viel einfachere Schaltung haben.
Das ist die Idee. Die tatsächliche Eingangsspannung wird mit dem DAC verglichen. Der Unterschied zwischen der Eingangsspannung und dem DAC-Ausgang ist die Ungenauigkeit von ADC1. Dieser Unterschied wird 1000-mal verstärkt und von ADC2 gemessen und dann zum ADC1-Wert addiert. Der DAC MUSS DIE GLEICHE AUFLÖSUNG WIE DER ADC HABEN! Der Auflösungsfehler spielt keine Rolle, da der Fehler verstärkt und vom DAC2 gemessen und berücksichtigt wird. Das bedeutet auch, dass, wenn ADC1 einen Fehler von bis zu +/- 0,5 LSB hat, dieser von ADC2 korrigiert wird.

Abhängig von der Art Ihres Signals können Sie den ADC mit höherer Geschwindigkeit und niedrigerer Auflösung verwenden, aber Sie müssen Ihre Referenzspannung nicht verschieben (ich würde das Datenblatt sorgfältig prüfen, um festzustellen, ob Sie damit überhaupt durchkommen könnten ). Sie müssen danach nur noch etwas nachbearbeiten; Es heißt Oversampling . Kurz gesagt, wellige Geschichte: Erhöhen Sie Ihre Abtastrate um einen Faktor von viel und erhalten Sie l Ö g 2 ( eine Menge ) mehr Bit Auflösung.

Bearbeiten: Siehe die Kommentare für Korrekturen an meiner Mathematik.

Das dachte ich auch, aber bedenke Folgendes: 1 V Eingangsbereich, 0,2 V Eingang, 1-Bit-ADC. Egal wie hoch Ihr Oversampling ist, Sie werden immer 0 lesen, Durchschnitt = 0, nicht 0,2.
Ein solches Oversampling erfordert etwas "Rauschen" im Signal. Wie Stevenvh betonte. Manchmal hat das Signal selbst genug "Rauschen", um dies ohne etwas Neues zu erreichen. In anderen Fällen müssen Sie etwas Hochfrequenzrauschen in das Signal einspeisen – aber das Rauschen wird in der anschließenden Nachbearbeitung herausgefiltert.
Richtig, "abhängig von der Art Ihres Signals". Die Frage sagt nicht, ob er die Temperatur von einem Thermistor liest, der an die Seite eines Bleisteins geklebt ist, oder ob er die Mischerausgabe für SDR abtastet. Also bekam er eine andere Option. Wenn jemand einen Hinweis auf die genauen mathematischen Eigenschaften geben kann, die das Signal benötigt, damit das Oversampling gültig ist, wäre ich übrigens sehr interessiert. (Und das scheint eine nützliche Ergänzung zu sein, anstatt Korrekturen, die nur etwas weniger handgewellt sind als meine ursprüngliche Aussage.)
@Jay - Ich denke, du bekommst l Ö g 2 ( a l Ö t ) 2 mehr Bits.
Mein Hauptinteresse gilt Audiosignalen, daher denke ich, dass, sobald 24-Bit-Konverter ziemlich teuer sind und nicht so viele davon existieren, die Kaskadierung von weiter verbreiteten Konvertern funktionieren könnte. Danke an alle für die ausführliche Erklärung. Klingt erstmal möglich, oder? :)
@Jay - gute Antwort, aber deine Oversampling-Gleichung ist falsch. Es ist 1/2 log<sub>2</sub> N = log<sub>4</sub> N, mit der Annahme, dass ADC-Rauschen weißes Gaußsches Rauschen ist.