¿Por qué no usar un chip de códec de audio como ADC/DAC de medición?

Estoy trabajando en un proyecto que necesita ADC/DAC simultáneos. Las especificaciones del ADC incorporado en los microcontroladores típicos son bastante débiles, y los ADC separados con buenas especificaciones son mucho más caros que los códecs de audio. Por ejemplo, compare estas tres opciones:

(A) STM32F373 tiene tres ADC de 16 bits y 50 ksps como máximo que alcanzan un poco menos de 15 bits efectivos. Este es quizás el mejor de ST para ADC de alta resolución; también tiene algunos ADC de 12 bits de alta velocidad y algunos DAC. Precio: $3.26.

(B) un códec de audio basado en I2S, el PCM3168A tiene seis ADC de 24 bits y 96 ksps con 17,5 bits efectivos (si mi lectura de la hoja de datos es correcta). Esto también tiene ocho DAC con especificaciones similares. Todas las entradas/salidas son completamente diferenciales y el filtro de paso alto en el ADC se puede desactivar. Precio: $4.90.

(C) el TI ADC menos costoso con especificaciones similares es el ADS1271, un ADC de 24 bits y 105 ksps con ~17,5 bits efectivos. Sin embargo, esta es una parte de $ 6.31 y solo tiene un canal. Una parte de cuatro canales cuesta $14.65.

Por lo tanto, el uso de códecs de audio para la medición parece bastante atractivo.

¿ Por qué no hacer esto? ¿Hay algún inconveniente inesperado en el uso de códecs de audio para la medición?

¿Limitaciones de ancho de banda? ¿Impedancia de entrada? ¿Precisión y linealidad de CC? Estos pueden estar bien para su proyecto, pero también vale la pena consultar las hojas de datos.
El rendimiento y la deriva de CC es el principal problema con los códecs, no se pretende que sean precisos en CC.
@Andyaka: Gracias, interesante. ¿El rendimiento de CC está determinado por el filtro de paso alto digital o por algo más? ¿Puedes dar un poco más de detalles sobre la deriva? Siéntete libre de publicar como respuesta...

Respuestas (2)

Los códecs de audio son muy lineales y tienen un nivel de ruido muy bajo, pero generalmente están acoplados a CA para eliminar las compensaciones de CC, y su precisión absoluta (factor de escala) no está muy controlada, ya que estos aspectos no son tan importantes en el trabajo de audio. Esto los hace menos adecuados para aplicaciones generales de ADC/DAC.

Las tarjetas de sonido generalmente están acopladas a CA, pero ¿cuántos dispositivos de códec de audio reales hay? Por ejemplo, el ADS1271 mencionado anteriormente tiene especificaciones de precisión de CC, lo que implica un acoplamiento de CC.
@BrianDrummond: El ADS1271 es un ADC delta-sigma diseñado específicamente para aplicaciones industriales en las que la precisión de CC es importante. Yo no llamaría a esto un "códec de audio". Y como señaló el OP, tampoco es un costo particularmente bajo.
@DaveTweed: Sin embargo, el PCM3168A también mencionado anteriormente también está acoplado a CC, y ese es un códec de audio :)
Buen punto sobre el factor de escala. ¿Esto se soluciona con la calibración?
¡Ajá! Las especificaciones del PCM3168A son 1 % de error de CC cero, 2 % de error de ganancia, que es bastante. Definitivamente ha señalado una gran parte de la respuesta allí mismo, el factor de escala es una de las cosas a tener en cuenta.
Hay otra pregunta como esta, y también se refiere a que el filtro de paso alto es un problema. El códec puede tener un filtro de paso alto interno: algunos chips le permiten desactivarlo, otros no. La información se puede encontrar en la hoja de datos de su códec. La otra pregunta: electronics.stackexchange.com/questions/43172/… Ejemplo de una hoja de datos con información sobre el paso alto: hardwaresecrets.com/datasheets/CS4245.pdf

El problema se puede reformular como: ¿es posible aplicar piezas con poca estabilidad de ganancia y compensación en aplicaciones que exigen lo contrario? La respuesta es un rotundo sí, con un poco de ingenio.

A continuación presento el concepto general. Por supuesto, requiere mucha ingeniería sobre lo que se menciona: los circuitos solo están destinados a ilustrar el principio operativo. La elección de los algoritmos de calibración, los convertidores de referencia, los interruptores y el almacenamiento en búfer analógico y el procesamiento de señales determinarán el rendimiento del diseño.

CAD

El requisito general es tener un canal DAC adicional más de n , el número de canales de salida. También se requiere un ADC de referencia. Cada canal de salida se puede tomar de uno de los dos DAC adyacentes. El ADC recibe la salida de uno de los DAC. Mientras n DAC alimentan las salidas, uno está alimentando el ADC y se somete a calibración. Una vez realizada la calibración, el DAC vuelve a su servicio de salida y el siguiente DAC se conecta al ADC.

esquemático

simular este circuito : esquema creado con CircuitLab

El ejemplo anterior muestra un DAC de 4 canales utilizado para obtener 3 salidas. Las posiciones del interruptor son las siguientes:

  • Calibración de CH1, salida de CH2-4: SW1 cerrado, SW11 abajo, SW12 abajo, SW13 abajo.

  • Calibración de CH2, salida de CH1,3-4: SW2 cerrado, SW11 arriba, SW12 abajo, SW13 abajo.

  • Calibración de CH3, salida de CH1-2,4: SW3 cerrado, SW11 arriba, SW12 arriba, SW13 abajo.

  • (mostrado) Calibración de CH4, salida de CH1-3: SW4 cerrado, SW11 arriba, SW12 arriba, SW13 arriba.

Se aplica una forma de onda de prueba al canal bajo calibración y se captura usando un ADC "decente". Hay muchos ADC asequibles con precisión de CC, incluso los sigma-delta. La forma de onda capturada se puede medir para derivar coeficientes de calibración, como mínimo la compensación y la ganancia. La calibración en sí se realiza digitalmente en los datos binarios que se alimentan a los DAC.

Para una alimentación mínima de fallas de conmutación, los interruptores selectores de salida pueden ser MOSFET accionados ópticamente. Cada uno de los pares de interruptores unipolares que comprenden un par SW1x se puede poner en fase para operar con superposición. Cuando ambos polos de SW1x están conectados a la salida, la salida es efectivamente un promedio. Por un momento, necesita alimentar dos canales con los mismos datos de salida. Tenga en cuenta que cada canal tiene una calibración diferente, por lo que alimentar la misma salida a DAC de dos canales requiere alimentar diferentes entradas binarias.

Este concepto, cuando se desarrolla adecuadamente, se puede utilizar para producir resultados muy precisos y de alto rendimiento a un costo muy razonable. Si tiene cuidado, puede obtener canales precisos de más de 16 bits por un par de dólares. Dado que la mayoría de los DAC de audio producen señales de pequeña amplitud, es necesario escalar y amplificar la señal. Todas las etapas de procesamiento de señales deben estar dentro del bucle de calibración, a menos que tengan suficiente precisión de CC. Este concepto también garantiza inherentemente el diagnóstico de cada canal.

ADC

El mismo enfoque se puede aplicar a la inversa: tener un canal ADC adicional y un DAC de referencia. La entrada a cada ADC se puede tomar de tres fuentes: uno de los dos canales de entrada adyacentes o el DAC de referencia. Mientras n ADC muestrean las entradas, uno está muestreando una señal de referencia del DAC y se somete a calibración. Una vez realizada la calibración, el ADC vuelve a su función de entrada y el siguiente ADC se conecta al DAC.

esquemático

simular este circuito

El ejemplo anterior muestra un ADC de 4 canales utilizado para muestrear 3 entradas. Las posiciones del interruptor son las siguientes:

  • Calibración de CH1, entrada de CH2-4: SW1 cerrado, SW11 abajo, SW12 abajo, SW13 abajo.

  • Calibración de CH2, entrada de CH1,3-4: SW2 cerrado, SW11 arriba, SW12 abajo, SW13 abajo.

  • Calibración de CH3, entrada de CH1-2,4: SW3 cerrado, SW11 arriba, SW12 arriba, SW13 abajo.

  • (mostrado) Calibración de CH4, entrada de CH1-3: SW4 cerrado, SW11 arriba, SW12 arriba, SW13 arriba.

Diseños de niveles múltiples

Es posible aplicar el mismo concepto al convertidor de referencia. Suponga que tiene un códec de audio de 6 canales, con 6 entradas y 6 salidas. Puede aplicarlo a un diseño de E/S analógicas de 4 canales, dejando 5 DAC para salidas y un DAC para referencia secundaria, 5 ADC para entradas, un ADC para referencia secundaria. Finalmente, solo necesita un ADC o DAC de referencia principal. Esa se puede usar para calibrar la referencia secundaria, esa se puede usar para calibrar la otra referencia secundaria y, finalmente, las referencias secundarias se usan para calibrar los ADC y DAC que se usan para la conversión de datos de E/S. Es más o menos un laboratorio de estándares en miniatura :)