7 de abril de 2012

Maxim Calibración de la ADC interno de compensación del microcontrolador DS4830 óptico

 

Introducción

Un convertidor analógico-digital (ADC) convierte una entrada de voltaje a un código digital correspondiente. El perfecto ADC representa este comportamiento a través del espacio de código. Figura 1 ilustra la transferencia de la función de un ADC de 3-bits con referencia 2V.

Figura 1.  A 1/2 LSB-compensada ideales 3-bit ADC.
Figura 1. A 1/2 LSB-compensada ideales 3-bit ADC.

Sin embargo, es difícil diseñar un ADC que cumple con un perfecto ADC características en todas las arquitecturas.Hay varios errores, como la no linealidad integral ( INL ), la no linealidad diferencial (DNL), la ganancia y compensar una presentación a la salida del ADC, debido a limitaciones de diseño o limitaciones diferentes.

Error de desplazamiento es el error más común en el ADC. Salida de código digital El ADC para la entrada de tensión cero (la entrada del ADC está conectado a la tierra) se llama ADC desplazamiento . Figura 2 representa la función de transferencia de un ADC de 3-bits con el offset.

Figura 2.  A 1/2 LSB-compensado de 3-bit ADC con el offset.
Figura 2. A 1/2 LSB-compensado de 3-bit ADC con el offset.

El DS4830 ADC de desplazamiento interno

El DS4830 microcontrolador óptico tiene un ADC de 13 bits y el ADC de Compensación Registro (ADVOFF) para calibrar el ADC interno desplazamiento. El desplazamiento viene calibrado de fábrica para cada DS4830 para obtener ganancias ADC ADCG1 (1.216V a gran escala) en la sala de la temperatura . Sin embargo, el DS4830 ADC interno desplazamiento puede cambiar con la temperatura y la selección de ganancia.

El DS4830 se puede medir el ADC interno de desplazamiento para cualquiera de los ajustes de ganancia disponibles ADC. Esta medición puede utilizarse para calibrar el registro ADVOFF. Para medir el desplazamiento interno de ADC, el ADC del controlador se conecta a tierra interno a la entrada del ADC y se inicia la conversión en el ADC. El controlador de ADC tiene un canal dedicado a seleccionar en el lugar 25 que indica al controlador de ADC para medir el desplazamiento interno de ADC. El controlador ADC no tiene un buffer de datos dedicada para almacenar el ADC interno resultado compensar la conversión. Para acceder al interior resultado compensar la conversión, la opción de anulación ubicación en el controlador ADC debe ser utilizado.

Ubicación opción Ignorar para el ADC interno de compensación

Por defecto, los resultados de la conversión ADC se almacenan en la ubicación tampón ADC correspondiente al número de canal. El controlador ADC ofrece una "anulación de la ubicación" opción. Esta opción permite que los resultados de la conversión de ADC para ser colocado en cualquier lugar del buffer de datos (0-24 sitios de amortiguamiento de datos). El ADC registro de control (ADCN) tiene lugar la anulación poco LOC_OVR. Al establecer este bit en 1, permitirá al usuario seleccionar una ubicación alternativa para almacenar el resultado de la conversión del ADC. La ubicación alternativa se define por la ADDATA [12:08] bits (ALT_LOC [04:00]), cuando la conversión ADC configuración de selección de registro de bits (ADCFG) en el Estado de ADC Registro (ADST) se establece en 1.

ADC Pasos de configuración para la medición de desplazamiento interno

Los siguientes pasos explican el DS4830 de ADC de datos y registro de configuración (ADDATA) de configuración de ADC interno de medición de desplazamiento.

  1. Los siguientes bits se ajustan a los valores correspondientes en los registros y ADCN ADST.
    1. Ubicación bit override (ADCN.LOC_OVR) a 1
    2. ADC Seleccione Configuración bits (ADST.ADCFG) a 1
    3. ADC Registro Índice de bits (ADST.ADIDX [04:00]) a 0
  2. Escribir en el Registro ADDATA (ADDATA). El ADC de selección de canal bits de ADCH [04:00] en las [4:0] ADDATA los bits debe ser de 25. Además, escribir (cualquier valor entre 0 a 24) en los bits de localización alternativas ALT_LOC [04:00] en el registro ADDATA. El ADC de desplazamiento interno resultado de la conversión se coloca en el lugar de almacenamiento intermedio de datos señalado por los bits ubicación alternativa para la configuración. Por ejemplo,
    1. ADDATA = 0x0039 , lo que configura la ADC para la medición de desplazamiento interno, de modo diferencial, ubicación alternativa 0, la ganancia de 1, y la alineación ADC derecha.
    2. ADDATA = 0x4139; Esto configura el ADC para la medición de desplazamiento interno, de modo diferencial, una ubicación alternativa, el aumento de 3, y la alineación ADC derecha.
    3. ADDATA = 0x6439; Esto configura el ADC para la medición de desplazamiento interno, de modo diferencial, ubicación alternativa 4, la ganancia de 4, y la alineación ADC derecha.
  3. Juego de ADC Seleccione Configuración (ADST.ADCFG) a 0 y los bits ADC Registro Index (ADST.ADIDX [04:00]) a 0.

ADC interno de medición y calibración de offset

Después de configurar el ADC para la medición de desplazamiento interno, la conversión ADC bit de inicio (ADCONV) en el registro ADCN se establece en 1 para iniciar la conversión ADC. El controlador ADC se conecta a tierra interno a la entrada de ADC para medir el ADC interno offset y se inicia la conversión en el ADC. El resultado de la conversión es la medida interna de ADC desplazamiento . Esto puede ser leído desde la ubicación del buffer de datos indicada por las ALT_LOC [4:0] bits, que están fijados durante la configuración del ADC.

Para calibrar el desplazamiento interno de ADC, agregue el valor negativo (complemento a 2) de la medida ADC interno desplazamiento en el registro ADVOFF. Unos pocos ejemplos de valores ADVOFF basados ​​en la medida desplazamiento ADC interno se muestran en la Tabla 1 . Estos valores ADVOFF en asumir que el calibrado de fábrica el valor ADVOFF es 0. Durante la operación normal de ADC, el valor en ADVOFF se añade a la resultado de la conversión antes de resultado final de los buffers de datos.


Tabla 1. ADVOFF valores de registro para el ADC interno de compensación
Medido ADC de desplazamiento interno ADVOFF Register (en Hex)
(En decimal) (En Hex)
-2 FFFEh 0002h
-1 FFFFh 0001h
0 0000h 0000h
1 0001h FFFFh
2 0002h FFFEh

Nota : Durante el encendido-on-reset ( POR ), el valor de calibrado se sobrescribe con el valor predeterminado de fábrica.

Ejemplo de código

El código de main.c demuestra el ADC interno de compensación pasos de calibración.

Diagrama de flujo

Diagrama de flujo

Partes Relacionadas

DS4830
Microcontroladores óptico

image

No hay comentarios:

Publicar un comentario