Warum nicht einen Audio-Codec-Chip als Mess-ADC/DAC verwenden?

Ich arbeite an einem Projekt, das gleichzeitig ADC/DAC benötigt. Die Spezifikationen des integrierten ADC in typischen Mikrocontrollern sind ziemlich schwach, und separate ADC mit guten Spezifikationen sind viel teurer als Audio-Codecs. Vergleichen Sie beispielsweise diese drei Optionen:

(A) STM32F373 verfügt über drei 16-Bit-ADCs mit max. 50 ksps, die knapp 15 Bit effektiv erreichen. Dies ist vielleicht das Beste von ST für hochauflösende ADC; Es hat auch einige Hochgeschwindigkeits-12-Bit-ADCs und einige DACs. Preis: $3,26.

(B) ein I2S-basierter Audio-Codec, der PCM3168A verfügt über sechs 24-Bit-ADCs mit 96 ksps und 17,5 effektiven Bits (wenn ich das Datenblatt richtig gelesen habe). Dies hat auch acht DACs mit ähnlichen Spezifikationen. Alle Ein-/Ausgänge sind vollständig differenziell und der Hochpassfilter am ADC kann abgeschaltet werden. Preis: 4,90 $.

(C) Der billigste TI-ADC mit ähnlichen Spezifikationen ist der ADS1271, ein 24-Bit-ADC mit 105 ksps und ebenfalls ~17,5 effektiven Bits. Dies ist jedoch ein 6,31-Dollar-Teil und hat nur einen Kanal! Ein Vierkanalteil kostet 14,65 $.

Daher scheint die Verwendung von Audio-Codecs für die Messung ziemlich attraktiv.

Warum nicht ? Gibt es unerwartete Nachteile bei der Verwendung von Audio-Codecs für die Messung?

Bandbreitenbeschränkungen? Eingangsimpedanz? DC-Genauigkeit und -Linearität? Diese können für Ihr Projekt in Ordnung sein, aber es lohnt sich auch, die Datenblätter zu überprüfen.
DC-Leistung und -Drift sind das Hauptproblem bei Codecs, die nicht DC-genau sein sollen.
@Andyaka: Danke, interessant. Wird die DC-Leistung durch den digitalen Hochpassfilter oder etwas anderes bestimmt? Kannst du etwas mehr Details zum Thema Drift geben? Gerne als Antwort posten...

Antworten (2)

Audio-Codecs sind sehr linear und sehr rauscharm, aber sie sind normalerweise AC-gekoppelt, um DC-Offsets zu eliminieren, und ihre absolute Genauigkeit (Skalierungsfaktor) wird nicht sehr streng kontrolliert, da diese Aspekte bei der Audioarbeit nicht so wichtig sind. Dies macht sie für allgemeine ADC/DAC-Anwendungen weniger geeignet.

Soundkarten sind normalerweise AC-gekoppelt, aber wie viele Audio-Codec-Geräte sind es tatsächlich? Zum Beispiel hat der oben erwähnte ADS1271 DC-Genauigkeitsspezifikationen, was eine DC-Kopplung impliziert.
@BrianDrummond: Der ADS1271 ist ein Delta-Sigma-ADC, der speziell für industrielle Anwendungen entwickelt wurde, bei denen DC-Genauigkeit wichtig ist. Ich würde das nicht als "Audio-Codec" bezeichnen. Und wie das OP betonte, ist es auch nicht besonders kostengünstig.
@DaveTweed: Der ebenfalls oben erwähnte PCM3168A ist jedoch auch DC-gekoppelt, und das ist ein Audio-Codec :)
Guter Punkt zum Skalierungsfaktor. Wird das durch Kalibrierung behoben?
Ah ha! Die Spezifikationen des PCM3168A sind 1 % DC-Nullfehler, 2 % Verstärkungsfehler, was ziemlich viel ist. Sie haben hier definitiv auf einen großen Teil der Antwort hingewiesen, der Skalierungsfaktor ist eines der Dinge, auf die Sie achten sollten.
Es gibt eine andere Frage wie diese, die sich auch darauf bezieht, dass der Hochpassfilter ein Problem darstellt. Der Codec kann einen internen Hochpassfilter haben – bei einigen Chips können Sie ihn deaktivieren, bei anderen nicht. Die Informationen finden Sie im Datenblatt Ihres Codecs. Die andere Frage: electronic.stackexchange.com/questions/43172/… Beispiel für ein Datenblatt mit Infos zum Hochpass: hardwaresecrets.com/datasheets/CS4245.pdf

Das Problem kann wie folgt umformuliert werden: Ist es möglich, Teile mit schlechter Verstärkung und Offset-Stabilität in Anwendungen einzusetzen, die das Gegenteil verlangen? Die Antwort ist ein klares Ja, mit ein bisschen Einfallsreichtum.

Ich stelle das allgemeine Konzept unten vor. Es erfordert natürlich viel Ingenieurskunst über das Erwähnte hinaus - die Schaltungen sollen nur das Funktionsprinzip veranschaulichen. Die Wahl von Kalibrierungsalgorithmen, Referenzwandlern, Schaltern und analoger Pufferung und Signalverarbeitung bestimmt die Leistung des Designs.

DAC

Die allgemeine Anforderung besteht darin, einen zusätzlichen DAC-Kanal mehr als n zu haben , die Anzahl der Ausgangskanäle. Ein Referenz-ADC ist ebenfalls erforderlich. Jeder Ausgangskanal kann einem von zwei benachbarten DACs entnommen werden. Der ADC wird mit einem Ausgang von einem der DACs gespeist. Während n DACs die Ausgänge speisen, speist einer den ADC und wird kalibriert. Sobald die Kalibrierung abgeschlossen ist, wird der DAC zu seiner Ausgangsleistung zurückgebracht, und der nächste DAC wird an den ADC angeschlossen.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Das obige Beispiel zeigt einen 4-Kanal-DAC, der verwendet wird, um 3 Ausgänge zu erhalten. Die Schalterstellungen sind wie folgt:

  • CH1 kalibrieren, CH2-4 Ausgang: SW1 geschlossen, SW11 unten, SW12 unten, SW13 unten.

  • CH2 kalibrieren, CH1,3-4 Ausgang: SW2 geschlossen, SW11 oben, SW12 unten, SW13 unten.

  • CH3 kalibrieren, CH1-2,4 Ausgang: SW3 geschlossen, SW11 oben, SW12 oben, SW13 unten.

  • (abgebildet) CH4 kalibrieren, CH1-3 Ausgang: SW4 geschlossen, SW11 oben, SW12 oben, SW13 oben.

Eine Testwellenform wird an den zu kalibrierenden Kanal angelegt und mit einem "anständigen" ADC erfasst. Es gibt viele erschwingliche, DC-genaue ADCs, sogar Sigma-Delta-ADCs. Die erfasste Wellenform kann gemessen werden, um Kalibrierungskoeffizienten abzuleiten – zumindest Offset und Verstärkung. Die Kalibrierung selbst erfolgt digital anhand der in die DACs eingespeisten Binärdaten.

Für eine minimale Schaltstörimpulsdurchführung können die Ausgangswahlschalter optisch betätigte MOSFETs sein. Jeder des Paares von einpoligen Schaltern, die ein Paar SW1x umfassen, kann phasengesteuert werden, um mit Überlappung zu arbeiten. Wenn beide Pole von SW1x mit dem Ausgang verbunden sind, ist der Ausgang effektiv ein Durchschnitt. Für ein bisschen müssen Sie zwei Kanälen die gleichen Ausgangsdaten zuführen. Beachten Sie, dass jeder Kanal eine andere Kalibrierung hat, sodass die Zuführung des gleichen Ausgangs zu zwei Kanal-DACs die Zuführung unterschiedlicher Binäreingänge erfordert.

Dieses Konzept kann, wenn es richtig entwickelt ist, verwendet werden, um sehr genaue Hochleistungsausgaben zu sehr vernünftigen Kosten zu erzeugen. Wenn Sie vorsichtig sind, können Sie Kanäle mit einer Genauigkeit von 16+ Bit für ein paar Dollar erhalten. Da die meisten Audio-DACs kleine Amplitudensignale erzeugen, benötigt man eine Signalskalierung und -verstärkung. Alle Signalverarbeitungsstufen sollten sich innerhalb der Kalibrierungsschleife befinden, es sei denn, sie sind ausreichend DC-genau. Dieses Konzept stellt auch inhärent eine Diagnose jedes Kanals sicher.

ADC

Der gleiche Ansatz kann umgekehrt angewendet werden: einen zusätzlichen ADC-Kanal und einen Referenz-DAC haben. Der Eingang zu jedem ADC kann von drei Quellen genommen werden: entweder einem von zwei benachbarten Eingangskanälen oder dem Referenz-DAC. Während n ADCs die Eingänge abtasten, tastet einer ein Referenzsignal vom DAC ab und wird kalibriert. Sobald die Kalibrierung abgeschlossen ist, kehrt der ADC zu seiner Eingangsleistung zurück und der nächste ADC wird an den DAC angeschlossen.

schematisch

Simulieren Sie diese Schaltung

Das obige Beispiel zeigt einen 4-Kanal-ADC, der zum Abtasten von 3 Eingängen verwendet wird. Die Schalterstellungen sind wie folgt:

  • CH1 kalibrieren, CH2-4 Eingang: SW1 geschlossen, SW11 unten, SW12 unten, SW13 unten.

  • CH2 kalibrieren, CH1,3-4 Eingang: SW2 geschlossen, SW11 oben, SW12 unten, SW13 unten.

  • CH3 kalibrieren, Eingang CH1-2,4: SW3 geschlossen, SW11 oben, SW12 oben, SW13 unten.

  • (abgebildet) CH4 kalibrieren, Eingang CH1-3: SW4 geschlossen, SW11 oben, SW12 oben, SW13 oben.

Mehrstufige Designs

Es ist möglich, das gleiche Konzept auf den Referenzumrichter anzuwenden. Angenommen, Sie haben einen 6-Kanal-Audio-Codec mit 6 Eingängen und 6 Ausgängen. Sie können es auf ein 4-Kanal-Analog-E/A-Design anwenden, wobei 5 DACs für Ausgänge und ein DAC als sekundäre Referenz, 5 ADC für Eingänge und ein ADC als sekundäre Referenz übrig bleiben. Schließlich benötigen Sie nur einen primären Referenz-ADC oder -DAC. Diese eine kann zum Kalibrieren der sekundären Referenz verwendet werden, die andere kann zum Kalibrieren der anderen sekundären Referenz verwendet werden, und schließlich werden die sekundären Referenzen zum Kalibrieren der ADCs und DACs verwendet, die für die E/A-Datenumwandlung verwendet werden. Es ist so ziemlich ein Standardlabor in Miniatur :)