Convertidor Analógico Digital ADC

Anuncio
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.
Descargar