SAR ADC no tiene linealidad en la mitad del rango

2

Estoy usando un ADC SAR en el chip STM32L433 y muestra una no linealidad extraña en el centro del rango que no puedo explicar.

Es un ADC de 12 bits con un sobremuestreo de 64x y un cambio de 2 bits que lo hace efectivamente a 16 bits. La no linealidad es alrededor de 32768 (2 ^ 15), que está en el medio del rango de 16 bits. Es casi como si estuviéramos en el 32768, excepto que un par de segundos más tarde cruzará la línea muy bien. Parece que acercarse a la línea 32768 desde cualquier lado es un problema.

¿Qué podría causar esto? Lalínearojaeslalínea32768parareferencia.Lalíneaverdeeslaseñal.Frecuenciademuestreode100Hz,laseñalmedidaesdealrededorde1Hz.

Editar:especificacionesdeADC

Edit2:hiceunexperimentoconlaconduccióndelaentradaconunarampa(paraempezar,podríanoserlineal,perofuecontinua)Aquíescómosevecuandoserestalalíneaajustada.Elgransaltoessoloenel32k.Porquéesteeselcaso,todavíamedesconcierta.Porahora,lasoluciónalternativaesevitaresterangoyestoyconfigurandoelAGCparadirigirlaseñalporencimadeél.

    
pregunta pkuhar

3 respuestas

3

Esto se debió a una impedancia de entrada demasiado alta y / o a un tiempo de muestra corto. No tuvo tiempo de llenar completamente el condensador de muestra.

    
respondido por el pkuhar
1

El promedio no te da mágicamente un ADC de mayor resolución. Todo lo que hace es promediar el ruido blanco con \ $ \ sqrt {n} \ $, donde \ $ n \ $ es el número de muestras. Todos los demás tipos de ruido (como \ $ 1 / f \ $ ruido) e imprecisiones no son independientes y, por lo tanto, no promedian. Como ha visto, las no linealidades del ADC, que limitan su precisión a 12 bits (o probablemente menos) siguen existiendo después de promediar.

Ahora, ¿de dónde vienen estas no linealidades? Para los SAR-ADC, la mayor parte del tamaño de los condensadores no es la potencia exacta de 2. Como es fácil de ver, incluso el condensador más grande, que decide si usted está en la mitad superior o inferior del rango, debe tener el mismo La precisión absoluta es la más pequeña. Desafortunadamente, la física hace que las cosas tengan una precisión relativa . Es decir. el condensador más grande tendrá una precisión absoluta que es un factor de \ $ 2 ^ N \ $ peor que el transistor más pequeño. Y ve esta inexactitud cuando pasa por el punto medio del rango como un salto repentino en la función de transferencia.

    
respondido por el Attila Kinali
0

Experimente con sus capacitores de bypass, en DVDD, en AVDD, en VREF. Examina tu plano de tierra. Estás utilizando un plano de tierra, ¿no es así?

Omita el Vin analógico al plano GND. Use algunas rendijas para mantener las corrientes DGND alejadas de los pines AGND y los pines VREF.

    
respondido por el analogsystemsrf

Lea otras preguntas en las etiquetas