¿Por qué los ADC usan 10 bits en lugar de 8 o 16?

27

¿Por qué la mayoría de los ADC, como los de Arduino , dan una resolución de 10 bits en lugar de 8 o 16? poco?

Parece extraño que no coincidan con los tamaños de datos estándar, especialmente en los integrados.

    

7 respuestas

40

No hay ningún problema técnico importante con la extensión de un ADC SAR (aproximación sucesiva) para convertir 16 bits, pero el problema es que empiezas a ver el piso de ruido del extremo frontal analógico. Esto tiende a hacer que los clientes entren en pánico porque ven que los códigos ADC saltan y no siempre se dan cuenta de que están viendo decenas de microvoltios de desviación.

Suponiendo un voltaje de referencia de 5,00 V y un ADC de 10 bits, el LSB representa un voltaje de 4,88 mV (5 V × 2 -10 ). Para un ADC de 16 bits con una referencia de 5.00 V, el voltaje LSB sería de 76 µV.

Pero la fuente de alimentación en un sistema digital no es exactamente 5,00 V, por lo general se especifica en un rango de 4,75 V a 5,25 V. Siempre que haya un evento transitorio de conmutación dentro del microcontrolador, hay un pequeño impulso de corriente que hace que los voltajes de alimentación se contraigan. Si el LSB está alrededor de 5 mV, es posible que apenas pueda verlo, pero a un nivel de 76 µV es difícil no ver este ruido.

De hecho, una vez que supere el ADC de 12 bits, realmente necesita tener una referencia de voltaje analógica en lugar de utilizar la fuente de alimentación digital. Así que eso agrega un poco más de costo. Para obtener los mejores resultados, esta referencia de voltaje debería ser en realidad un chip separado, con sus propias líneas eléctricas, e idealmente debería estar lejos de los circuitos digitales calientes / ruidosos.

Si desea que un ADC de 16 bits brinde lecturas estables agradables, necesita un voltaje de referencia limpio y un control térmico muy muy y, preferiblemente, mantenerlo alejado de cualquier señal digital de cambio rápido. ... así, la integración de un SAR de 16 bits en el mismo chip que un microcontrolador, en realidad anularía el propósito de tener esos bits adicionales. Solo estarías midiendo ruido aleatorio en esos bits adicionales.

Hay aplicaciones de clientes que utilizan ADC de mayor resolución. La compañía en la que trabajo hace bastantes de estos. El equipo de prueba automatizado (ATE), el ultrasonido médico y algunos otros tipos especializados de clientes utilizan ADC de alta resolución, en algunos casos de 18 o incluso de 24 bits.

Las pruebas de producción de un ADC de alta resolución requieren mucho tiempo (y, por lo tanto, son costosas). Los clientes que necesitan este tipo de rendimiento pagan una prima por un ADC externo independiente, no los tipos de SAR baratos que se incorporan en muchos microcontroladores modernos.

Luego hay aplicaciones de alta velocidad, como un radar o un osciloscopio de muestreo digital, que necesitan muestrear a 100 MHz o velocidades más altas: a estas velocidades, tienes suerte de obtener 8 bits significativos.

    
respondido por el MarkU
12

Compensación entre resolución y costo.

8 bits da 2 8 = 256 combinaciones, de las cuales 0 es una, dejando de 0 a 255 como posibles valores digitales. Esto no es suficiente para muchas aplicaciones. Cada bit adicional duplica la resolución y 10 bits dan 1024 pasos, lo que es lo suficientemente bueno para la mayoría de los proyectos. Los sistemas industriales pueden usar 12 bits para una resolución aún mejor.

Los ADC de alta resolución requieren tolerancias más estrictas y su fabricación es más costosa.

    
respondido por el Transistor
4

Ya se han hecho varios puntos buenos y válidos. A lo largo de los años, he usado ADCs de 8, 10, 12 y 16 bits de manera extensiva, y hoy en día es bastante fácil alcanzar los 16 bits con un tiempo de conversión de 4 o 5 microsegundos (mejor están disponibles, me atendré a lo que pueda ser práctico) para la mayoría de la gente para usar), en un chip independiente. Pero esto contiene una red de escalera de precisión, que a menudo usa resistores de película delgada y varias técnicas de diseño analógico altamente especializadas. (También, casi siempre, se necesitan transistores bipolares de alto rendimiento en algún lugar del circuito de un ADC de precisión, pero todos los microcontroladores modernos son CMOS, por lo que hay numerosos pasos de fabricación adicionales para hacer cualquier cosa con una buena precisión analógica y la lógica CMOS combinada. ) ¡Un buen ADC también cuesta más que la mayoría de los microcontroladores! No es tan fácil de hacer, más procesos de producción, posiblemente necesite recorte por láser, etc.

Por ejemplo, considere el TI ADS8509, cuyo antecesor el ADS7509, no tan rápido, lo he usado en muchos lugares en un proyecto grande e importante.

enlace

Es bastante mundano para los estándares de hoy. Sin embargo, sus características de diseño interno no son compatibles con el proceso de fabricación barato para microcontroladores. Y cuesta más de $ 15.72, más que la mayoría de los microcontroladores. Los utilicé en forma de troquel semiconductor desnudo, incorporado en híbridos de latas de metal hermético, con circuitos de soporte cuidadosamente diseñados, y realmente obtuve apenas más de 1 LSB pp de ruido, por lo que se puede hacer, si sabe lo que está haciendo, y Tener los recursos, incluido el presupuesto. Pero nunca verá un ruido tan bajo en o alrededor de un microcontrolador.

El principal problema, como ha explicado al menos una persona, es que el ruido en el riel de suministro digital afectará directamente al ADC. Ahora puede evitar eso, utilizando una buena referencia de voltaje externo, donde se proporciona un pin para eso, pero también necesita poder hacer lo mismo con el suelo. Y, esos pines deben estar restringidos a unos pocos cientos de mV de la fuente digital y tierra, o la cosa explota. Además, por supuesto, el ruido interno se acopla dentro del silicio, desde la lógica, los estados cambian de manera compleja a la frecuencia del reloj y, lo que es peor, desde los pines de E / S, algunos de los cuales pueden estar activando y conmutando 10s de mA, si Los he cargado hasta el límite. Ruido, ruido y más ruido ...

La parte que he citado (y la búsqueda de Google es más barata, más rápida o diferente, ofrece una interfaz SPI, por lo que es fácil de usar EXTERNAMENTE para un microcontrolador, con su propio plano de tierra local, filtrado, Luego, con cuidado, realmente te dará 16 bits.

Solía ser bastante difícil obtener más de aproximadamente 10 bits libres de ruido de un ADC de 12 bits, y aún se encuentra en un entorno sucio, como cerca de la lógica digital, que es en gran parte la razón por la cual los ADC incorporados dentro de Los chips del procesador están más o menos atascados en esa resolución, y probablemente lo estarán para siempre. Pero TI tiene un chip externo de 32 bits. No he mirado la hoja de datos, o el costo ...

Si puede sacrificar la precisión absoluta (es decir, el factor de escala puede estar fuera en un 5% o más, sin mencionar el desplazamiento de CC y su desviación con el tiempo y la temperatura, pero la linealidad será excelente) un ADC de calidad de audio puede ser para tú. Son de al menos 16 bits y están diseñados para el mercado masivo, por lo que a menudo tienen un buen valor, pero no esperan utilizar uno en un instrumento de precisión que debe medir las señales de CC a +/- 0.1%.

No puedes tener todo a la vez. Todo es cuestión de lo que más importa. Precisión, ruido, deriva a largo plazo, velocidad, costo, potencia, tipo de interfaz (serie o paralelo), etc. También es posible que desee multiplexar varios canales, por lo que necesita un tiempo de respuesta rápido, lo que descarta muchos ADC sigma-delta, que de lo contrario tienen algunas propiedades muy buenas.

Al elegir un ADC. Google es, como siempre, tu amigo. Hay muchos artículos y notas de aplicaciones de TI, Linear, National y varios otros fabricantes de semiconductores. Siempre tenga cuidado con lo que las hojas de datos no le dicen y verifique qué parámetros enfatizan sus competidores.

Pero si lo quiere todo en su chip de microcontrolador, no piense en usar más de 10 bits (probablemente 9 utilizables, LSB ruidosos) en sus proyectos. Y, planee referencias analógicas separadas y tierra si su chip lo permite. De esa manera, no perderás el tiempo.

    
respondido por el tiger99
3

Los ADC de 8 bits son horribles de usar debido a los pasos del 0.49%. Ya he visto suficiente. Arduino, diseñado para la electrónica de pasatiempos, usa 4 veces más pasos, tan cerca del 0,1%, que es casi la señal de ruido (más zumbido) alcanzable de los circuitos comunes de sensores de transistores y amplificadores operacionales. Mejor que eso se desperdiciaría en la electrónica de fabricación casera de grado hobyist, y peor que eso sería demasiado hediondo y horrible.

Si bien los ADC de 16 bits están disponibles comercialmente, tardan más en asentarse, durante los cuales se ha movido el zumbido o el ruido, por lo que no se obtiene una mejor medición y es más lento.

    
respondido por el mephisto
2

Cuando un ADC realiza una conversión, proporciona un valor digital (cuantificado) para la señal analógica continua. Dado que, el valor digital no será exactamente el valor analógico en el momento de la conversión, la diferencia puede considerarse como ruido aditivo. Cuanto más alta sea la resolución del ADC, más cercano estará el valor digital del valor analógico. En otras palabras, mejoramos la relación señal a ruido de quanitización (SQNR) al aumentar los bits del ADC. Por lo tanto, el ADC de 10 bits es mejor que los de 8 bits (en aproximadamente 12 dB).

Usar A / D de 16 bits será mejor en términos de SQNR. Sin embargo, son más caros. Y en muchas aplicaciones, el ADC de 10 bits proporciona suficiente SQNR requerido.

    
respondido por el Amer Alhabsi
0

El uso más común de los ADC es posiblemente en el área de procesamiento de sonido (VoIP, música de CD, etc.). La música no es de interés aquí, ya que requiere 16 bits. Pero VoIP es lo que impulsa el mercado ADC de bits más bajos. Por lo general, VoIP utiliza companding, que produce un código PCM comprimido de 8 bits a partir de una señal de entrada de 12 bits. La entrada al paso de compresión debe tener más bits, generalmente 12, o algunas veces 10 puede ser suficiente (siempre puedes falsificar los dos bits más bajos).

Como resultado, la demanda de ADC de 8 bits es muy baja, pero los ADC de bits más altos tienen una gran demanda y, por lo tanto, están disponibles a bajo costo. Arduino probablemente usaría componentes que son baratos y ubicuos.

    
respondido por el Kevin Keane
0

Como regla general, desea que la cantidad de bits en su codificador sea tal que su paso de cuantificación esté un poco más o menos por debajo del nivel de ruido (analógico) del sistema.

El uso de más bits y, por lo tanto, un paso de cuantificación por debajo del piso de ruido le permite obtener muy pocas mejoras en el rendimiento de ruido general, pero el uso de más silicio hace que su tiempo de conversión sea más largo o requiere que los componentes internos de su convertidor se ejecuten más rápido más ruidoso)

El uso de menos bits y, por lo tanto, tener un paso de cuantificación por encima del piso de ruido generalmente es malo. Esto significa que está desperdiciando el rendimiento de los circuitos analógicos y, en algunos casos, puede crear errores sistemáticos que no pueden eliminarse mediante el cálculo del promedio (de hecho, a veces los diseñadores agregan deliberadamente ruido a un sistema para evitar errores sistemáticos debido a la cuantificación).

La diferencia entre 8 bits y 16 bits es ENORME. El primero termina con un paso de cuantificación que es demasiado grande incluso en sistemas con un rendimiento de ruido bastante bajo. Este último se desperdicia en cualquier sistema que no tenga un diseño analógico muy cuidadoso. Así que, como era de esperar, los microcontroladores terminan en algún punto intermedio.

Tenga en cuenta que la gente suele hablar de "ruido de cuantificación", pero es importante recordar que el concepto de "ruido de cuantificación" es un modelo simplificado de realidad que se descompone en algunas circunstancias.

    
respondido por el Peter Green

Lea otras preguntas en las etiquetas