Inconsistencia de la salida del ADC

Tengo un problema con la salida de mi ADC.

Estoy usando: ADC de 12 bits integrado en una referencia de voltaje MCU 3.3V. Fuente de alimentación de MCU, ADC y referencia de voltaje ADC que comparten el mismo riel de voltaje (3.3V)

El valor medio de mis datos es ~20 mV y obtengo un valor medio de aproximadamente 20 mV, 18 mV, 16 mV, 14 mV, 12 mV y 10 mV a lo largo de mi validación de PCB. Obtendré un valor medio aleatorio, pero el valor medio estará muy cerca de cualquiera de los valores mencionados anteriormente.

Los archivos adjuntos primero y segundo son datos del kit de desarrollo.

El tercer archivo adjunto es la medición del osciloscopio para la entrada ADC.

Los datos adjuntos 4 y 5 son los datos de mi PCB que tienen un valor medio de 12 mV.

Los archivos adjuntos 6 y 7 son los datos de mi PCB que tienen un valor medio de 16 mV.

Los archivos adjuntos 8 y 9 son los datos de mi PCB que tienen un valor medio de 20 mV.

Tengo 0.1uF vinculado a ADVREF, fuente de alimentación ADC.

¿Este problema es causado por el ruido dentro de mi PCB?

Salida ADC del kit de desarrollo

Forma de onda ADC del kit de desarrollo

Medición de osciloscopio para señal de entrada ADC

Salida ADC para valor medio de 12mV_my PCB

Forma de onda ADC para valor medio de 12 mV_mi PCB

Salida ADC para valor medio de 16mV_my PCB

Forma de onda ADC para valor medio de 16mV_my PCB

Salida ADC para valor medio de 20mV_my PCB

Forma de onda ADC para valor medio de 20mV_my PCB

FFT 12MHz especificación ADC Desarrollo FFT_12MHz_ATMEL encendido

Respuestas (2)

Al observar algunos de esos gráficos, puede ver saltos discretos en los niveles de ruido, lo cual es preocupante. Obtendrá algunos efectos de digitalización en los niveles de ruido que se muestran en los histogramas, pero los saltos discretos en el dominio del tiempo significan que está obteniendo algún acoplamiento de su tablero o de los rieles ruidosos.

Creo que el primer paso es sacar las referencias de ADC de la misma fuente de alimentación. Esto podría ser tan simple como agregar una resistencia en serie y una tapa de derivación. Idealmente, tendría un regulador de baja potencia separado.

No has dado suficiente información para ir mucho más allá. Mucho dependerá de especificaciones como PSRR (relación de rechazo de la fuente de alimentación), pero los voltajes de referencia casi siempre deben tratarse de manera especial.

Sí. Estaba pensando en el problema de compartir los mismos 3.3V de un mismo regulador. Tengo una resistencia en serie de 0 ohmios conectada entre ADVREF y la salida del regulador de potencia. Probaré a quitarlo y conectar una batería de 3.3V de ADVREF. Por cierto, ¿qué especificaciones podrían afectar el resultado de mi ADC?
Cambié la referencia del ADC a una batería de 3,3 V; sin embargo, todavía obtengo los resultados similares mencionados anteriormente. Creo que hay otras 2 posibilidades para el problema. El primero es 3.3V a mi microcontrolador (ADC integrado de 12 bits que estoy usando) no está limpio. Otra posibilidad es el ruido de las señales del reloj, ya que una de ellas no está protegida.
SÍ, como se mencionó, un riel ruidoso puede afectar los resultados si hay un PSRR deficiente y una señal de reloj inestable también puede afectar esto, pero eso dependerá del circuito interno. Sin más información, solo estaríamos adivinando.
Ahora solo me di cuenta de que en la hoja de datos, VSR es el PSRR que mencionaste antes. Rechazo de voltaje de suministro Vout=0.8V SVR es 40dB para las siguientes especificaciones: VIN = VOUTNOM + 1V +/-VRIPPLE VRIPPLE = 0.1V, Freq. = 1kHz SALIDA = 10mA
SVR es 30dB para las siguientes especificaciones: VIN = VOUTNOM + 1V +/-VRIPPLE VRIPPLE = 0.1V, Freq.=10kHz IOUT = 1mA SVR es 15dB para las siguientes especificaciones: VIN = VOUTNOM + 1V +/-VRIPPLE VRIPPLE = 0.1V , Frec.=100kHz SALIDA = 1mA
He hecho FFT (Fast Fourier Transform) en mi señal de reloj de 12MHz y el reloj es muy ruidoso. He subido la medida. ¿Crees que agregar condensadores ayudará a reducir el ruido?
Algunos diseños de ADC son sensibles a la fluctuación del reloj, otros no, algunas implementaciones de ADC son más sensibles al ruido del riel, otras no. Sin más información hay poco que hacer.
He subido las especificaciones importantes de ADC que podría haberme perdido. Realicé una medición del acoplamiento de CA en la fuente de alimentación y no vi ningún pico de HF. Tratando de reducir las posibilidades de este problema. Por cierto, ¿podemos relacionar o comparar el valor de los picos (ruido) de arriba con la SNR del ADC? ¿Hay alguna relación ahí?
Hice la misma medición FFT en la señal de reloj de 12 MHz (último archivo adjunto arriba) en el kit de desarrollo ATMEL (la placa en la que pude obtener la salida ADC correcta). La señal del reloj es muy limpia en comparación con la señal de mi reloj. ¿Crees que esta diferencia es válida para hacer que ambas placas tengan una salida ADC diferente?
Y de nuevo... ciertos ADC son susceptibles a ciertos tipos de ruido. Algunos ADC no manejan relojes nerviosos, algunos pueden manejarlo bastante bien.
Gracias. Por cierto, qué especificaciones. ¿Debo investigar sobre la susceptibilidad de ADC a diferentes tipos de ruido para verificar mi hallazgo? De hecho, este ADC está integrado en ATMEL MCU. La salida ADC del kit de desarrollo ATMEL es precisa, mientras que la salida ADC de mi placa tiene el problema mencionado. Una vez mas, Gracias

Los ADC no son perfectos y un dispositivo de 12 bits con una referencia de 3,3 V tendrá una resolución teórica de aproximadamente 0,8 mV. Está viendo variaciones de unos pocos milivoltios y esto no me sorprende en absoluto: verifique el INL (no linealidad integral) del dispositivo; podría ser de +/- 3 bits. Verifique la especificación de compensación de CC del dispositivo; esto podría estar entre 2 mV y 10 mV. Verifique el DNL (no linealidad diferencial) del dispositivo; esto podría ser de 2 bits.

Todos estos errores se suman para empeorar el panorama.

Además, su suministro de 3V3: ¿qué tan preciso es y cuánto se desvía? Esta deriva afectará directamente a la precisión, así que ¿por qué no considerar usar una referencia de voltaje realmente ajustada (si se puede aplicar).

El INL es +/- 1 LSB y DNL es +/- 0,5 LSB. Por cierto, ¿le importaría explicar un poco cómo la compensación de CC y la deriva de voltaje pueden afectar la precisión? Dado que la señal de entrada del ADC es una señal de 3 V, sería difícil usar un voltaje más bajo como referencia. En realidad, traté de agregar más tapas de 0.1uF y tapas de 1 uF en mi PCB (en cascada en las tapas de mi PCB), pero esto no parece ayudar.