¿Por qué usar 2.048V y 4.096 como referencia?

25

En muchos circuitos integrados de referencia de voltaje (como ejemplo, un MAX610x ) parece haber varios voltajes de referencia diferentes disponibles (1.25, 1.8, 2.5, 3.3, etc.).

Lo que me parece extraño son las referencias 2.048V y 4.096V. ¿Por qué usamos referencias a esos voltajes en lugar de simplemente 2V y 4V que seguramente serían más fáciles de usar matemáticamente?

MCG
fuente
11
para un sistema binario, 2.048 es más fácil de usar matemáticamente
Alnitak
@Aln: En realidad no. Simplemente parece más fácil para los que no piensan a primera vista.
Olin Lathrop

Respuestas:

49

Al cuantificar voltajes (es decir, pasar a través de un ADC), generalmente se convierte el voltaje en una representación entera que se representa utilizando un esquema de potencia de 2.

Esto significa que caen en el patrón de números binarios, por ejemplo, un DAC de 8 bits tiene 256 niveles individuales. El uso de una referencia que tiene una potencia de 2 número de milivoltios significa que los valores digitales reales tienen valores significativos.

Por ejemplo, si tiene un DAC de 11 bits con una referencia de 2.048, entonces el valor digital es el número de milivoltios.

Editar : como señaló Andrew Morton, esto proporciona 2048 niveles, mientras que hay 2049 niveles de milivoltios, incluido 0. Por lo tanto, para representar adecuadamente cada bit como milivolt, necesitaría un bit adicional. Sin embargo, si redondea constantemente, aún es posible redondear cada elemento hacia abajo y alcanzar 0-2047 mV, o redondear hacia arriba y tener 1-2048 mV. Si ajusta de 2048 a 2049, pierde la buena propiedad de hacer coincidir directamente el número de milivoltios.

ruidos fuertes
fuente
3
Lo cual es muy útil para medir usando un comparador. Una de las razones por las que podemos comprar un multímetro de $ 5.
mckenzm
1
Ummm .... 11111111111 (binario) es 2047. ¿Eso significa que una entrada de cero al DAC generará 1 mV, o que una entrada de 1024 generará 1024.5 mV?
Andrew Morton
Ah buen punto! Bueno, coincide con el mismo número de niveles, pero con un error de apagado por uno.
ruidosos
Es un error de publicación de vallas y se reduce a la mitad cada vez que aumenta el número de bits en uno. (al igual que el error de cuantización).
Rodney
El ADC típico de pan y mantequilla en realidad parece ser de 12 bits, y si el bit alto se usa como un signo, y el rango de voltaje está configurado para ser bipolar, centrado alrededor de 0 V, el entero con signo de 12 bits en realidad tiene un rango de -2048 .. + 2047. Me hace preguntarme si la referencia "binaria par" podría estar relacionada de alguna manera con el extremo negativo del rango por casualidad :-)
viernes
21

Las referencias de 4.096V y 2.048V permiten que el ADC genere un valor entero en mV. Significa que cada paso del ADC representa 1mV o un múltiplo entero de 1mV. 4.096V = 2 ^ 12 mV

Lior Bilia
fuente
2
permitir un ADC de 12 u 11 bits, para ser precisos.
jcaron
1
Los ADC de mayor resolución también se benefician de dicha disposición, para ser exactos, el software que maneja estos ADC puede usar números enteros para representar 0.5mV, 0.25mV y así sucesivamente en lugar de variables de punto fijo.
Lior Bilia
Resoluciones más altas y más bajas Los ADC definitivamente se benefician de la disposición, pero para obtener pasos específicos de 1 mV como indica en su respuesta, debe hacer coincidir la referencia con la resolución.
jcaron
Ese es el ideal, sí, pero lamentablemente no hay una referencia de 16.777216V por ahí.
Lior Bilia
10

La razón de esto es porque se pueden dividir fácilmente en una base 2. Esto los hace útiles para cosas como ADC donde un ADC de 12 bits con un riel entre 0 y 4.096V significará 1 mV por bit, lo cual es mucho más fácil número.

También hay más voltajes que hacen lo mismo. También puede obtener referencias de voltaje en 1.024V, que es 2 10 . Se pueden usar diferentes referencias para diferentes ADC de bit.

Curioso
fuente
5
¿Por qué usamos referencias a esos voltajes en lugar de simplemente 2V y 4V?

Esto puede ser ventajoso en las circunstancias correctas cuando el microcontrolador muestra valores directamente a un humano. Sin embargo, la mayoría de las veces es porque hay muchas personas que son malas en matemáticas o que no se detienen y realmente piensan.

Como otros ya han demostrado, 2,048 = 2 11 /1000 y 4.096 = 2 12 /1000. Si utiliza un A / D de 12 bits con una referencia de 4.096 V, cada recuento es de 1 mV.

Sin embargo, deténgase y considere cuándo eso realmente importa. No hay nada inherentemente especial en las unidades de milivoltios. En términos de física, son una unidad totalmente arbitraria para medir EMF.

En un sistema de control, por ejemplo, las unidades utilizadas para las diversas cantidades medidas pueden ser lo que desee, siempre que sepa cuáles son. Si está usando un punto fijo, entonces desea que el valor máximo llene casi el número y use suficientes bits para tener la resolución necesaria. La escala de las unidades debe ser dictada por convenientes representaciones binarias internas.

De todos modos, inevitablemente habrá factores de ganancia ajustables más adelante en el proceso. La escala personalizada de todos los valores de entrada se puede ajustar mediante el uso de diferentes valores de factores de ganancia que ya están allí, y que el sistema ya tiene que manejar valores arbitrarios de. No se requieren cálculos adicionales, solo se introducen valores diferentes en los mismos cálculos.

En algunos casos, estos pequeños sistemas integrados necesitan mostrar valores digitales a los humanos. En ese caso, las unidades de milivoltios son útiles cuando desea mostrar un voltaje con tres decimales. Sin embargo, las interfaces humanas por su naturaleza son lentas en comparación con los microcontroladores. Por lo general, no desea actualizar una pantalla digital a más de 2 Hz. Convertir un número a dígitos decimales ya requiere algo de aritmética de todos modos. Escalar algún valor interno para que coincida con la resolución mostrada es un paso adicional bastante menor relativo a ese proceso.

Luego, considere también con qué frecuencia realmente desea medir un voltaje en el rango de 0 a 4.095 V, o al menos la mayor parte de ese rango. Si desea medir de 0 a 5 V, entonces la referencia 4.096 realmente no ayuda. De todos modos, debe atenuar la señal en el A / D, por lo que leer la señal atenuada en unidades de milivoltios no confiere ninguna ventaja especial, incluso cuando se muestran valores digitales.

En resumen, en el mundo de hoy, con microcontroladores que manejan lecturas A / D, las referencias de 2.048 y 4.096 V atienden principalmente a una necesidad percibida y a personas que no piensan en el problema adecuadamente.

Olin Lathrop
fuente
no todos los que necesitan una división de 1V (o una porción del mismo) están usando un microcontrolador
Alnitak
vote y hay una cosa que olvidó mencionar: creo que todas las respuestas discutidas ignoran que 1024 ~ = 1000 <3% de error y menor, el 3% sigue siendo costoso y difícil de obtener (si se tiene en cuenta todo el sistema )
halfbit