Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali Convertidor Analógico Digital ADC M.C. Jorge Eduardo Ibarra Esquer Señales digitales y analógicas • Los dispositivos y sistemas analógicos procesan señales que varían en el tiempo y que pueden tomar cualquier valor dentro de un rango continuo de voltaje, corriente o alguna otra medición. [Wakerly] • A estas señales se les conoce como señales analógicas. Señales digitales y analógicas • Las señales digitales son la representación de señales analógicas por medio de valores discretos (0 y 1). • Se definen valores dentro de un intervalo definido, para que tengan el mismo valor digital. [Tocci] • Por ejemplo, para la lógica TTL • 0 a 0.8V à 0 • 2 a 5V à 1 Cantidades digitales y analógicas • La mayoría de las variables físicas son analógicas por naturaleza. • Esto significa que pueden tomar cualquier valor dentro de un intervalo continuo de valores. • Ejemplos: • Temperatura • Presión • Intensidad de luz • Audio • Posición • Velocidad Convertidor analógico a digital ADC • Las características de este módulo son: – Ocho canales con entrada multiplexada – Aproximación lineal sucesiva – Resolución de 8, 10 o 12 bits – Conversión sencilla o continua – Reloj del ADC seleccionable – Bandera de conversión terminada o solicitud de interrupción Ubicación del ADC en el microcontrolador Diagrama a bloques del ADC Registros del ADC ADCSC1 ADCSC2 ADCCFG ADCRH ADCRL ADCCVH ADCCVL APCTL1 Datos Comparación SAR: Sucessive Approximation Register Convertidor analógico a digital ADC • El ADC proporciona 8 terminales para el muestreo de fuentes externas (PTA7/AD7 - PTA0/AD0) • Un multiplexor analógico permite al ADC seleccionar uno de los 8 canales como voltaje de entrada (ADCVIN) • Una vez que se ha convertido el voltaje, el resultado se coloca en el registro de datos del ADC y activa una bandera o genera una interrupción Terminales del ADC • Las terminales del puerto A se comparten para ser utilizadas como los canales del ADC • Los canales seleccionados para el ADC forzarán a sus terminales correspondientes a comportarse como entradas. El resto de ellas serán controladas por la lógica de E/S del puerto Terminales del ADC • Escribir en el registro de datos del puerto o en el registro de direccionamiento, no afectará a ninguna terminal seleccionada para el ADC. • La lectura de cualquiera de estas terminales regresará un 0 lógico Conversión de voltaje • Cuando el voltaje de entrada a un canal sea igual al voltaje de referencia alto VREFH, el resultado de la conversión será $00FF, $03FF o $0FFF dependiendo de la resolución seleccionada. • Si el voltaje de entrada es igual al voltaje de referencia bajo VREFL, el resultado de la conversión será $00 • Cualquier voltaje entre los de referencia, se convertirá utilizando una escala lineal Tiempo de conversión • La conversión empieza después de escribir al registro ADCSC1. • Una conversión tomará entre 16 y 17 ciclos del reloj del ADC. El registro ADCCFG permite configurar las funciones de reloj para el ADC. Modo de conversión contínua • En este modo de operación, el registro se llenará con datos nuevos después de cada conversión. Los datos de la conversión anterior se sobreescribirán, hayan sido leídos o no. • Las conversiones continuarán hasta que se borre el bit ADCO Modo de conversión contínua • Después de la primera conversión se activa el bit COCO, y permanece activo hasta la siguiente escritura del registro de estado y control del ADC o la siguiente lectura del registro de datos Modo de conversión sencilla • En este modo de operación, la conversión se inicia con una escritura al registro ADCSC1 • Solamente se realiza una conversión después de cada escritura a este registro. Interrupciones del ADC • Cuando se encuentra activo el bit AIEN, el módulo del ADC es capaz de generar solicitudes de interrupción después de cada conversión • Una interrupción se genera si el bit COCO tiene un 0 lógico Registro de estado y control del ADC (ADCSC1) Registro de estado y control del ADC • COCO – Conversiones completas – Si el bit AIEN tiene un 0 lógico, este bit es de sólo lectura y se activa cada vez que se completa una conversión. – En el modo de conversión continua, se activa después de la primer conversión. – Se borra al escribir en el ADCSC1 o leer los registros de resultado. Registro de estado y control del ADC • AIEN – Bit de habilitación de la interrupción del ADC – Cuando este bit está activo, se genera una interrupción al terminar una conversión – La señal de interrupción se borra al leer el registro de datos o escribir en el registro de control Registro de estado y control del ADC • ADCO – Bit de conversión continua del ADC – Cuando está activo, el ADC realizará las conversiones de manera continua y actualizará el ADR al terminar cada una de ellas – Si su valor es un 0 lógico, solamente se realizará una conversión entre cada escritura al registro de control Registro de estado y control del ADC • ADCH4-ADCH0 – Bits selectores del canal del ADC – Con estos bits se forma un valor de 5 bits que nos permite seleccionar un total de 27 canales – El módulo del ADC se desactivará si los 5 bits de selección tienen un 1 lógico Registro de estado y control del ADC Registro de Control y Estado 2 (ADCSC2) ADACT – Bandera de conversión activa. ADTRG – Selector de disparo (0 – Software, 1 – Hardware) ACFE – Habilitador de la función de comparación. ACFGT – Habilitador de la función de comparación mayor que: 0 – El comparador se dispara si la entrada es menor al nivel de comparación. 1 – El comparador se dispara si la entrada es mayor al nivel de comparación. Registros de datos del ADC ADCRH:ADCRL Registros de nivel de comparación ADCCVH:ADCCVL Registro de configuración ADCCFG ADLPC – Configuración de bajo consumo. ADIV – Selector del divisor de reloj. ADLSMP – Configuración de tiempo de muestreo largo. MODE – Selector del modo de conversión. ADICLK – Selector del reloj de entrada. Selección y división del reloj Modo de conversión Registro de control de pin APCTL1 Para indicar que un pin se utilizará como entrada analógica, se debe escribir un 1 en el bit correspondiente en este registro.