AVR120: Caracterización y calibración del ADC en un AVR Características • • • •
Entender convertidor analógico a digital (ADC) características Parámetros que describen las características de medición ADC Dependencias de la temperatura, la frecuencia y la tensión de alimentación Compensación de error de offset y ganancia
8 bits Microcontroladores Nota de aplicación
1 Introducción Esta nota de aplicación explica varios ADC (Analog to Digital Converter) caracterización de los parámetros dados en las hojas de datos y cómo afectan ADC mediciones. También se describe la forma de medir estos parámetros durante pruebas de aplicaciones en la producción y la forma de realizar la compensación de tiempo de ejecución para algunas de las desviaciones medidas. Una gran ventaja con la memoria flash del AVR es que el código de calibración puede ser reemplazado con código de la aplicación después de la caracterización. Por lo tanto, no hay espacio de código se consume por el código de calibración en el producto final.
Rev. 2559D-AVR-02/06 2559D-AVR-02/06
2 Teoría Antes de entrar en los detalles, algunos conceptos centrales tienen que ser introducido. La siguiente sección (conceptos ADC General) puede omitirse si la cuantificación, la resolución, y funciones de transferencia de ADC son familiares para el lector.
2.1 Conceptos generales ADC El ADC se traduce una señal de entrada analógica a un valor de salida digital que representa el tamaño de la entrada relativa a una referencia. Para tener una mejor base para la descripción de un general ADC, este documento distingue entre ideal, perfecta y real ADCs. Un ideal ADC es sólo un concepto teórico, y no se puede aplicar en la vida real. Lo tiene la resolución infinita, donde cada valor de entrada es posible da una salida única de la ADC en el rango de conversión especificada. Un ADC ideal puede describirse matemáticamente por una función de transferencia de línea recta, como se muestra en la Figura 1. Figura 1. Función de transferencia de un ADC ideales Valor de salida
Entrada analógica
Para definir un perfecto ADC, el concepto de cuantificación debe ser introducido. Debido a la naturaleza digital de un ADC, los valores de salida continuas no son posibles. El rango de salida debe ser dividido en un número de pasos, uno para cada valor digital de salida posible. Esto significa que un valor de salida no se corresponde con un valor de entrada única, sino un pequeña gama de valores de entrada. Esto resulta en una función de transferencia escalera. La resolución del ADC es igual al número de valores de salida únicas. Por ejemplo, una ADC con 8 pasos de salida tiene una resolución de 8 niveles o, en otras palabras, 3 bits. La función de transferencia de un ejemplo de 3 bits ADC perfecta se muestra en la Figura 2 junto con la función de transferencia de un ADC ideal. Como se ve en la figura, el ADC perfecta es igual el ADC ideal, en el punto medio exacto de cada paso. Esto significa que el ADC perfecta esencialmente redondea los valores de entrada para el valor de paso de salida más cercana.
2
AVR120 2559D-AVR-02/06
AVR120 Figura 2. Función de transferencia de un ADC ideal de 3 bi ts Valor de salida
Entrada analógica
El error máximo para un ADC ideal es de ± ½ paso. En otras palabras, el máximo error de cuantificación es siempre ± ½ LSB, donde LSB es la diferencia de voltaje de entrada correspondiente al bit menos significativo del valor de salida. ADCs reales tienen otra fuentes de errores, describen más adelante en este documento.
2,2 rangos de conversión El ADC en dispositivos AVR de Atmel se puede configurar para una sola terminal o diferencial conversión. Modo de un solo extremo se utiliza para medir las tensiones de entrada en una sola entrada canal, mientras que el modo diferencial se utiliza para medir la diferencia entre dos canales. Independientemente del modo de conversión, las tensiones de entrada en cualquier canal debe permanecer entre GND y AVCC. Al utilizar el modo de una sola terminal, la tensión con respecto a tierra se convierte en una cámara digital valor. El uso de canales diferenciales, la salida de un amplificador diferencial (con un etapa de ganancia opcional) se convierte a un valor digital (posiblemente negativo). A simplificada la ilustración de la circuitería de entrada se muestra en la Figura 3. Figura 3. Circuitos de entrada ADC simplificado Modo de conversión de un solo extremo Entrada sencilla (Un)
Conversión circuitos
Modo de conversión diferencial Entrada positiva Conversión circuitos
Entrada negativa (B)
Para decidir el rango de conversión, la circuitería de conversión necesita una referencia de voltaje (Vref) para indicar el nivel de tensión correspondiente al valor de salida máximo. De acuerdo con las hojas de datos, de VREF debe ser de al menos 2,0 V para dispositivos estándar, mientras dispositivos que operan a 1,8 V pueden utilizar un voltaje de referencia a 1.0V. Este se aplica tanto a modo de terminación única y diferencial. Consulte la ficha técnica para más detalles.
3 2559D-AVR-02/06
2.2.1 rango de conversión en un solo extremo Conversión de una sola terminal-alimenta el canal de entrada directamente a la circuitería de conversión, como se muestra en la Figura 3A. El ADC de 10 bits d el AVR por lo tanto, convierte continuo tensiones de entrada desde GND a VREF a los valores de salida discreta de 0 a 1023. Cualquier tensión de entrada aplicada mayor que la tensión de referencia VREF devolverá el valor máximo (1023 usando 10 bits ADC), y cualquier tensión de entrada negativa se devuelve 0. 2.2.2 rango de conversión diferencial Conversión diferencial alimenta a los dos canales de entrada a un amplificador diferencial con una etapa de ganancia opcional. La salida del amplificador se alimenta entonces a la lógica de conversión, como se muestra en la Figura 3B. Diferencias de tensión de -VREF a + VREF por lo tanto resulta en valores de salida discretos -512-511. La salida digital se representa en 2 de complementar formulario. Incluso cuando la medición de las diferencias de voltaje negativos, los voltajes aplicada a los canales de entrada mismos deben permanecer entre GND y AVCC. Diferencias de voltaje menores que-VREF devolverá el valor mínimo (-512 usando 10 diferencias bit ADC), y de tensión superiores a + VREF devolverá el valor máximo (512 utilizando 10 bits ADC). Tenga en cuenta que algunos dispositivos no pueden medir las diferencias negativas, por ejemplo, ATtiny26.
2.3 La necesidad de la calibración El error total de la ADC real proviene de algo más que el error de cuantificación. Este documento describe offset y ganancia errores y cómo c ompensarlos. También describe dos medidas para la no linealidad, es decir, diferencial e integral no linealidad. Para la mayoría de las aplicaciones, el ADC no necesita calibración al usar una sola terminal conversión. La precisión típica es de 1 a 2 LSB, y que a menudo no es necesaria ni práctico para calibrar para mejores precisiones. Sin embargo, cuando se utiliza la conversión diferencial de la situación cambia, especialmente con ajustes de alta ganancia. Variaciones del proceso de menor importancia se escalan con la etapa de ganancia y dan grandes diferencias de los parámetros de parte a parte. El error no compensado es típicamente por encima de 20 LSB. Estas variaciones deben caracterizarse por cada dispositivo y compensado en el software. A primera vista 20 LSB parece ser un valor grande, pero no significa que el diferencial mediciones son poco prácticos de usar. El uso de simples algoritmos de calibración, precisiones típicamente de 1-2 LSB se puede lograr.
2.4 Error absoluto El error absoluto es la desviación máxima entre la recta ideal y la función de transferencia real, incluyendo los pasos de cuantización. El error mínimo absoluto por lo tanto, es de ½ LSB, debido a la cuantización. Error absoluto o la precisión absoluta es el error sin compensación total y comprende error de cuantificación, el error de offset, error de ganancia y la no linealidad. Offset, ganar y no linealidad se describe más adelante en este documento. Error absoluto se puede medir usando un voltaje de entrada de la rampa. En este caso, todas las salidas los valores se comparan con la tensión de entrada. La desviación máxima da la error absoluto. 4
AVR120 2559D-AVR-02/06
AVR120 Tenga en cuenta que el error absoluto no puede ser compensada directamente, sin usar por ejemplo, -la memoria caro tablas de búsqueda o aproximaciones polinómicas. Sin embargo, el más contribuciones significativas para el error absoluto - el error de offset y ganancia - pueden ser compensado. Tenga en cuenta que el error absoluto representa una reducción en el rango de ADC, y uno por lo tanto, debe considerar los márgenes a los valores mínimo y máximo de entrada al evitando el recorte manteniendo el error absoluto en cuenta.
2.5 Error de offset El error de desplazamiento se define como la desviación de la función de transferencia de la ADC real desde la línea recta ideal en voltaje de entrada cero. Cuando la transición del valor de salida de 0 a 1 no se produce a un valor de entrada de ½ LSB, entonces se dice que hay un error de desplazamiento. Con errores offset positivas, la salida valor es mayor que 0 cuando la tensión de entrada se aproxima a ½ LSB de abajo. Con errores de desplazamiento negativo, el valor de entrada es mayor que ½ LSB cuando el primer valor de salida transición se produce. En otras palabras, si la función de transferencia real se encuentra por debajo del ideal línea, hay un desplazamiento negativo y viceversa. Los desplazamientos negativos y positivos se muestran Figura 4. Ejemplos de positivo (A) y negativo (B) compensan errores en la Figura 4. Valor de salida
Valor de salida
1 ½ LSB compensar Entrada analógica
Entrada analógica -2 LSB compensar
(Un)
(B)
Desde la conversión de una sola terminal da resultados positivos solamente, la medición de desplazamiento procedimientos son diferentes cuando se utilizan canales de una sola terminal y diferenciales. 2.5.1 Error de offset - Canales de una sola terminal Para medir el error de desplazamiento, incrementar el voltaje de entrada de GND hasta que la primera transición en el valor de salida se produce. Calcular la diferencia entre la entrada tensión para que el ADC perfecta habría mostrado la misma transición y el tensión de entrada correspondiente a la transición real. Esta diferencia, convierte a LSB, es igual al error de desplazamiento. En la figura 5A, la primera transición se produce a 1 LSB. La transición es de 2 a 3, que es igual a una tensión de entrada de 2 ½ LSB para el ADC perfecta. La diferencia es 1 ½ LSB, que es igual al error de desplazamiento. Las flechas dobles indican las diferencias. La mismo procedimiento se aplica a la Figura 5B. La primera transición se produce en 2 LSB. La transición es de 0 a 1, lo que equivale a una tensión de entrada de ½ LSB para el ADC perfecta. La diferencia es -1 ½ LSB, que es ig ual al error de desplazamiento.
5 2559D-AVR-02/06
Figura 5. Positivo (A) y negativo (B) errores compensados en el modo de un solo extremo
Valor de salida
Valor de salida
1 ½ LSB compensar
Entrada analógica
-1 ½ LSB compensar
(Un)
Entrada analógica (B)
El procedimiento de medición se puede formalizar como se describe en la Figura 6. Figura 6. Diagrama de flujo para medir los errores de simple terminación de compensación Offset medición
Ajuste la tensión de entrada a 0
Guarde la salida de corriente valor como La
Voltaje de entrada de la tienda como Real
Calcular la tensión de entrada necesaria para la perfecta ADC para cambiar la salida desde Laa B
Aumentar hasta que la salida los cambios de valor Tienda de resultado de cálculo como Perfecto Guarde la salida de corriente valor como B Offset iguales error (Perfecto - Real) convertida a LSB
Terminado
Para compensar los errores de desplazamiento cuando se utilizan canales de una sola terminal, restar el error de desplazamiento de cada valor medido. Esté consciente de que compensados limitan la disposición errores Rango para el ADC. Un error grande desplazamiento positivo hace que el valor de salida se sature en máximo antes de que el voltaje de entrada alcanza e l máximo. Un error de desplazamiento negativo grande da el valor de salida de 0 para los voltajes de entrada más pequeños. 6
AVR120 2559D-AVR-02/06
AVR120 Canales diferenciales - 2.5.2 Error de offset Con canales diferenciales, la medición de desplazamiento se puede realizar mucho más fácil ya no se requiere ninguna tensión de entrada externa. Las dos entradas diferenciales pueden ser conectado a la misma tensión interna y el valor de salida resultante es entonces e l error de desplazamiento. Dado que este método no da información exacta en donde la primera transición ocurre, se da un error de ½ a 1 LSB (peor caso). Para compensar los errores de desplazamiento cuando se utilizan canales diferenciales, restar el desplazamiento error de cada valor medido.
2.6 Error de ganancia El error de ganancia se define como la desviación de punto medio del último paso de salida d e la línea recta ideal, después de compensar por error de desplazamiento. Después de compensar los errores de offset, la aplicación de un voltaje de entrada de 0 siempre dar una valor de salida de 0. Sin embargo, los errores de ganancia provoca la función pendiente de transferencia real de desviarse de la pendiente ideal. Este error de ganancia puede ser medida y compensada por escalar los valores de de salida. Compensación en tiempo ejecución a menudo utiliza la aritmética de enteros, ya que flota cálculo del punto toma mucho tiempo para llevar a cabo. Por lo tanto, para obtener la mejor precisión posible, la pendiente desviación se debe medir en la medida de 0 como sea posible. Cuanto mayor sea el valor, mejor precisión sede obtiene. Estode setransferencia describe en detalle más documento. El ejemplo de unque ADC funciones de 3 bits conadelante errores en de este ganancia se muestra en la Figura 7. La siguiente descripción es válida para los modos single-ended y diferenciales. Figura 7. Ejemplos de positivo (A) y negativo (B) ganan errores
111
111
110
110 1 ½ LSB error
Código 101de salida 100
100
011
011
010
010
001
001
000
-1 ½ LSB de error
Código 101de salida
000 0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 AREF Entrada analógica (Un)
0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 AREF Entrada analógica (B)
Para medir el error de ganancia, el valor de entrada se incrementa desde 0 hasta la última salida se alcanza paso. El factor de escala para la compensación de ganancia es igual a la salida de ideales valor para el punto medio del último paso dividido por el valor real de la etapa. En la Figura 7A, el valor de salida se satura antes de llegar a la tensión de entrada de su máximo. La flecha vertical muestra el punto medio de la última etapa de salida. El ideal valor de salida en este voltaje de entrada debe ser 5,5, y el factor de escala igual a 5,5 7 2559D-AVR-02/06
dividido por 7. En la figura 7B, el val or de salida sólo se ha alcanzado 6 cua ndo la entrada voltaje está en su máximo. Esto se traduce en una desviación negativa para la transferencia real función. El valor de salida ideal para el punto medio del último paso es 7,5 en este caso. El factor de escala es ahora de 7,5 dividido por 6. El procedimiento de medición se ilustra en la Figura 8. Figura 8. Diagrama de flujo para la medición de errores de ganancia Ganancia de medición
Ajuste la tensión de entrada a 0
Aumenta hasta el pasado se llega a la etapa de salida
Encontrar el punto medio de la última paso sobre la base de anteriores longitudes de paso
Utilice el valor de salida real como denominador
Utilice el valor de salida ideales como nominador
Factor de corrección = nominador / denominador
Terminado
2.7 No linealidad Cuando compensan errores de ganancia y se compensan, la función de transferencia real debe ser igual a la función de transferencia de la ADC perfecta. Sin embargo, la no linealidad en el ADC puede causar la curva real se desvíe ligeramente de la curva perfecta, incluso si los dos curvas son iguales alrededor de 0 y en el punto donde se midió el error de ganancia. Hay son dos métodos de medición de la no li nealidad, tanto se describe a continuación. La Figura 9 muestra ejemplos de ambas medidas.
8
AVR120 2559D-AVR-02/06
AVR120 La Figura 9. Ejemplo de una curva de conversión ADC no lineal
111
111 ½ LSB amplia, DNL = - ½ LSB
110
110
Código 101de salida
Código 101de salida
100
100
011
011
010
Max INL = + ¾ LSB
010 1 ½ LSB amplia, DNL = + ½ LSB
001 000
001 000
0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 AREF Entrada analógica (Un)
0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 AREF Entrada analógica (B)
2.7.1 diferencial no-linealidad Diferencial No linealidad (DNL) se define como la diferencia mínima y máxima entre el ancho de paso y la anchura perfecta (1 LSB) de cualquiera de los pasos de salida. No linealidad produce etapas de cuantificación con diferentes anchuras. Todas las medidas deben ser de 1 LSB de ancho, pero algunos son más estrecho o más ancho. Para medir la DNL, se aplica un voltaje de entrada de la rampa y de todas las transiciones de valor de salida son grabada. Las longitudes de paso se encuentran a partir de la d istancia entre las transiciones, y las desviaciones más positivos y negativos de 1 LSB se utilizan para informar sobre el máximo y mínimo de la DNL. 2.7.2 integral no linealidad Integral no linealidad (INL) se define como la diferencia vertical máxima entre la real y la curva perfecta. INL se puede interpretar como una suma de DNLs. Por ejemplo varios DNLs negativos consecutivos elevar la curva real por encima de la curva perfecta, como se muestra en la Figura 9A. INLS negativos indican que la curva real está por debajo de la curva perfecta. El máximo y mínimo INL se miden con la misma tensión de entrada de la rampa como en la medición de la DNL. Registre la desviación en cada paso de conversión y punto medio reportar las desviaciones más positivos y negativos como máximo y mínimo INL. 2.7.3 Mediciones y compensación Es importante que los valores DNL y INL se miden después de offset y ganancia de error compensación. Si no, los resultados serán infectados por el error de offset y ganancia y por lo tanto No revelar la verdadera DNL y INL. No linealidad no puede compensarse con cálculos sencillos. Polinomio aproximaciones o búsquedas de la tabla se pueden utili zar para ese fin. Sin embargo, la típica Valores DNL y INL son ½ LSB para el ADC de 10 bits de la unidad, y son raramente de cualquier preocupación en aplicaciones de la vida real.
9 2559D-AVR-02/06
Dependencias 2,8 de temperatura, la frecuencia y la tensión de alimentación Cuando se utiliza la referencia de tensión interna con el ADC, la exactitud de este debe ser considerada de referencia. La referencia de tensión interna es proporcional a la tensión de banda prohibida, que se caracteriza en hojas de datos de los dispositivos. La características muestran que la tensión de banda prohibida es ligeramente dependiente tensión de alimentación y la temperatura de funcionamiento. La precisión ADC también depende en el reloj ADC. El máximo recomendado ADC frecuencia de reloj está limitada por el CAD interno en el circuito de conversión. Para rendimiento óptimo, el reloj ADC no debe exceder de 200 kHz. Sin embargo, frecuencias de hasta 1 MHz no reducen la resolución ADC significativamente. Funcionamiento de la ADC con frecuencias superiores a 1 MHz no se caracteriza.
2,9 de ancho de banda y la impedancia de entrada Al utilizar el modo de una sola terminal, el ancho de banda de ADC está limitado por el reloj ADC velocidad. Dado que una conversión tiene 13 ciclos de reloj ADC, un reloj máxima ADC de 1 MHz significa aproximadamente 77k muestras por segundo. Esto limita el ancho de banda en el modo de un solo terminal a 38.5 k Hz, según el teorema de muestreo de Nyquist. Al utilizar el modo diferencial, el ancho de banda está limitado a 4 kHz por el diferencial amplificador. Componentes de frecuencia de entrada por encima de 4 kHz deberán ser eliminados mediante un filtro analógico externo, para evitar la no linealidad de. La impedancia de entrada de VCC y GND es típicamente 100 MΩ. Junto con la salida
impedancia de la fuente de señal, esto crea un divisor de tensión. La fuente de señal por lo tanto, debe tener una impedancia de salida lo suficientemente baja para obtener la conversión correcta resultados.
10
AVR120 2559D-AVR-02/06
AVR120 3 Implementación Un ejemplo de configuración para calibrar el ADC se muestra en la Figura 10. Figura 10. Configuración de calibración Producción Calibración
Accesorio de la prueba
Alta precisión DAC
10-bit ADC
Calibración algoritmo
EEPROM Prueba de Producción control Firmware de prueba
AVR
Los parámetros de calibración Aplicación End
10-bit ADC
Offset y ganar compensación
EEPROM
AVR
Aplicación firmware
Durante la fase de prueba de producción, ADC de cada dispositivo debe ser caracterizada mediante un configuración de prueba similar a esto. Cuando el dispositivo de prueba está listo para calibrar el AVR, el probador indica el AVR para iniciar la calibración en sí. El AVR utiliza el aparato de prueba de alta exactitud DAC (por ejemplo, resolución de 16 bits) para generar tensiones de entrada a l a calibración algoritmo. Una vez finalizada la calibración, los parámetros de offset y la ganancia de error compensación se programa en la EEPROM para su uso posterior, y las señales de AVR que está listo para otras fases de prueba. Tenga en cuenta que esto requiere el fusible EESAVE a programar, de modo que el flash la memoria se puede reprogramar sin borrar la memoria EEPROM. De lo contrario, el ADC parámetros deben ser almacenados temporalmente por el programador al borrar el dispositivo.
3.1 aritmética de punto fijo para la compensación del error de offset y ganancia Aritmética de punto flotante no es una manera eficiente de escalar los valores de ADC. Sin embargo, el factor de escala para la compensación de error de ganancia será en algún lugar cercano a 1, y necesita una cierta precisión para obtener buenos valores de ADC compensadas. Por lo tanto, fijanúmeros de punto representados por números enteros se pueden utilizar. Dado que el factor de compensación de ganancia ciertamente nunca excede 2, que se puede escalar por una el factor de 214 para encajar exactamente en una palabra de 16 bits. En otras palabras, el factor de escala puede serecuación representado dos bytes como un número de punto fijo La para por tanto offset y ganancia de compensación de firmado error se1:14. muestra en la Ecuación 1.
11 2559D-AVR-02/06
Ecuación 1. RealValue =(adcvalue -offset ) ⋅ gainfactor Cuando el resultado del cálculo se trunca a un número entero ordinaria más tarde, es siempre truncado al entero más grande menor o igual que el resultado. Con el fin de lograr correcto redondeo al entero más próximo, hay que añadir 0,5 antes de truncar. Adición de 0,5, escalando la ecuación por 214 y moviendo la corrección de la desviación fuera de la paréntesis da la Ecuación 2. Ecuación 2. 214 ⋅ RealValue =214 ⋅ adcvalue ⋅ gainfactor +214 ⋅ 0.5-214 ⋅ offset ⋅ gainfactor Dado que el factor de ganancia y el valor de corrección de desviación son constantes, una mayor optimización se puede lograr. Además, si el resultado es escalado por 22, dando una escala total de 216, los dos bytes superiores del resultado es igual al número entero truncado sin la necesidad de un 16 pasos desplazamiento a la derecha. Introducimos algunas constantes y resumir todo en la Ecuación 3. Ecuación 3. factor =214 ⋅ gainfactor , corrección =214 ⋅ (0,5 -offset ⋅ gainfactor ), 216 ⋅ RealValue =2 2 ⋅ (adcvalue ⋅ factor +corrección)
Usando este método, el software de calibración calcula las constantes factor y corrección y los almacena en la memoria EEPROM. En tiempo de ejecución, el firmware compensación sólo necesita una multiplicación de enteros, una adición y dos la izquierda operaciones de desplazamiento para corregir los valores de ADC. Usando el compilador IAR C con alto la optimización de la velocidad, esto toma 42 ciclos de CPU. 3.1.1 Calibración El diseño accesorio de la prueba se encuentra fuera del alcance de esta nota de aplicación. Sin embargo, una se da diagrama de flujo de un firmware de calibración en el AVR. Se utiliza el DAC externo a través de la instalación fija de ensayo y cuenta con su propio algoritmo de calibración. No hay necesidad de usar varios canales ADC, sólo la conmutación entre sola terminado y conversión diferencial. Los parámetros del ADC son los mismos independientemente de que se utiliza canal. El multiplexor no introduce ningún error. El firmware podría ser implementado como se muestra en la Figura 11.
12
AVR120 2559D-AVR-02/06
AVR120 Figura 11. Diagrama de flujo para el firmware de calibración Firmware Calibración
Espere a que la puesta en calibración de la señal de accesorio de la prueba
Compensar Medida error utilizando DAC externo
Error de ganancia Medida usando DAC externo y compensación de desplazamiento
Parámetros en tienda a tipos EEPROM
Enviar calibraton-señal de acabado para probar fixture
Terminado
Esta pieza de firmware está programado en el AVR antes de la calibración, y es reemplazado por el firmware aplicación real después. Una vez más, el fusible EESAVE debe ser programado para preservar los parámetros de calibración en la EEPROM durante Reprogramación de Flash. 3.1.2 Compensación El código de compensación de tiempo de ejecución puede ser implementada como una función pequeña. Cada ADC la medición se ejecuta a través de esta función, que utiliza las constantes factor y corrección .
13 2559D-AVR-02/06
Figura 12. Diagrama de flujo para la compensación de offset y ganancia Offset y ganar compensación
Obtenga ADC valor bruto
Multiplicar por factor
Añadir corrección
Mayús izquierda dos veces
Extraer los dos altos bytes
Retorno
Este cálculo en la figura 12 se puede implementar utilizando la siguiente función en C, o alternativamente, como una macro: int adc_compensate firmado (firmado int adcvalue, factor de int firmado, corrección de largo con signo) { return (((((firmado larga) Factor adcvalue *) + corrección) << 2) >> 16); }
Las constantes de los parámetros almacenados en la EEPROM se podrían copiar a variables SRAM durante el inicio para un acceso más rápido después.
4 Las referencias bibliográficas Robert Gordon - Una mirada Calculado al punto fijo Aritmética http://www.embedded.com/98/9804fe2.htm Nota de aplicación AVR210 - Usando el Multiplicador AVR Hardware http://www.atmel.com/dyn/resources/prod_documents/DOC1631.PDF
•
•
14
AVR120 2559D-AVR-02/06
Renuncia
Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131, EE.UU. Tel: 1 (408) 441-0311 Fax: 1 (408) 487-2600
Sede Regional Europa
Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Suiza Tel: (41) 26-426-5555 Fax: (41) 26-426-5500 Asia
Room 1219 Chinachem Golden Plaza 77 calle Mody Tsimshatsui Este Kowloon Hong Kong Tel: (852) 2721-9778 Fax: (852) 2722-1369 Japón
9F, Tonetsu Shinkawa Edificio. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japón Tel: (81) 3-3523-3551 Fax: (81) 3-3523-7581
Operaciones Atmel Memoria
2325 Orchard Parkway San Jose, CA 95131, EE.UU. Tel: 1 (408) 441-0311 Fax: 1 (408) 436-4314
RF / Automotriz
Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Alemania Tel: (49) 71-31-67-0 Fax: (49) 71-31-67-2340
Microcontroladores
2325 Orchard Parkway San Jose, CA 95131, EE.UU. Tel: 1 (408) 441-0311 Fax: 1 (408) 436-4314 La Chantrerie BP 70602 44306 Nantes Cedex 3, France Tel: (33) 2-40-18-18-18 Fax: (33) 2-40-18-19-60 ASIC / ASSP / Tarjetas Inteligentes
1150 East Cheyenne Mtn. Blvd.. Colorado Springs, CO 80906, EE.UU. Tel: 1 (719) 576-3300 Fax: 1 (719) 540-1759 Biometría / Imaging / Hi-Rel-Rel MPU / Convertidores de alta velocidad / Datacom RF
Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, Francia Tel: (33) 4-76-58-30-00 Fax: (33) 4-76-58-34-80
Zone Industrielle 13106 Rousset Cedex, Francia Tel: (33) 4-42-53-60-00 Fax: (33) 4-42-53-60-01 1150 East Cheyenne Mtn. Blvd.. Colorado Springs, CO 80906, EE.UU. Tel: 1 (719) 576-3300 Fax: 1 (719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Escocia Tel: (44) 1355-803-000 Fax: (44) 1355-242-743
Solicitudes Literatura
www.atmel.com / literatura
Descargo de responsabilidad: La información contenida en este documento se proporciona en relación con los productos de Atmel. Ninguna licencia, expresa o implícita, por exclusión o de otro modo, a cualquier derecho de propiedad intelectual otorgadas por este documento o en conexión con la venta de productos de Atmel. A EXCEPCIÓN DE LO ESTABLECIDO EN LOS TÉRMINOS Y de Atmel CONDICIONES DE VENTA UBICADA EN EL SITIO WEB DE ATMEL, ATMEL NO ASUME NINGÚN TIPO DE RESPONSABILIDAD Y RENUNCIA A CUALQUIER GARANTÍA EXPRESA, IMPLÍCITA O GARANTÍA LEGAL RELACIONADA CON SUS PRODUCTOS, INCLUYENDO, PERO NO LIMITADO A, LA GARANTÍA IMPLÍCITA DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR O NO INFRACCIÓN. EN NINGÚN CASO ATMEL RESPONSABLE POR DAÑOS DIRECTOS, INDIRECTOS, CONSECUENTE, PUNITIVO, ESPECIAL O INCIDENTAL (INCLUYENDO, SIN LIMITACIONES, DAÑOS POR PÉRDIDA DE BENEFICIOS, NEGOCIO INTERRUPCIÓN O PÉRDIDA DE INFORMACIÓN) QUE SURJA DEL USO O IMPOSIBILIDAD DE USO D E ESTE DOCUMENTO, INCLUSO SI HA SIDO ATMEL ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS. Atmel no hace representaciones o garantías en cuanto a la exactitud o integridad de la contenido de este documento y se reserva el derecho de realizar cambios en las especificaciones y descripciones de productos en cualquier momento sin previo aviso. Atmel no hace ninguna se compromete a actualizar la información aquí contenida. A menos que se especifique lo contrario, los productos de Atmel no son adecuados para, y no podrán ser utilizados en, aplicaciones de automoción. Productos de Atmel no pretenden, autorizada, ni garantizados para su uso como componentes en aplicaciones destinadas a apoyar o sostener la vida.
© Atmel Corporation 2006. Reservados todos los derechos. Atmel ®, el logotipo y combinaciones de los mismos, por todas partes usted son ®, AVR ®, AVR Studio ® y otros, son marcas registradas o marcas de Atmel Corporation o sus subsidiarias. Otros términos y nombres de productos pueden ser marcas comerciales de otros.
2559D-AVR-02/06