PDF de programación - Capítulo 5/10 - ADC10 - A/D Converter – Conversor Analógico / Digital - Curso sobre Microcontroladores

Imágen de pdf Capítulo 5/10 - ADC10 - A/D Converter – Conversor Analógico / Digital - Curso sobre Microcontroladores

Capítulo 5/10 - ADC10 - A/D Converter – Conversor Analógico / Digital - Curso sobre Microcontroladoresgráfica de visualizaciones

Publicado el 31 de Mayo del 2018
756 visualizaciones desde el 31 de Mayo del 2018
262,8 KB
9 paginas
Creado hace 12a (11/09/2011)
Curso sobre Microcontroladores
Familia HC9S08 de Freescale

Por Ing. Daniel Di Lella – EduDevices – www.edudevices.com.ar
e-mail: [email protected]
Responsable Area Educación – ELKO / ARROW – www.elkonet.com
e-mail: [email protected]

Capítulo 5.
Entrega Nº 10
ADC10 - A/D Converter – Conversor Analógico / Digital.
El avance de la tecnología ha hecho posible que hoy en día, no sea extraño contar con
un módulo conversor Analógico / Digital en un MCU moderno. Tal es la necesidad de
las aplicaciones del mercado actual, que ya no basta con que el módulo conversor
A/D sea un dispositivo por “defecto” en un microcontrolador, sino que además se le
pide cada vez más resolución, bajo consumo, flexibilidad de operación y relativa
rapidez de funcionamiento. El módulo conversor A/D de la familia HC9S08 es el
resultado de la mejora continua de los módulos conversores A/D utilizados en otras
familias como la HC705, HC908, HC11.

En este capítulo se mostrará como configurar el módulo ADC, identificar técnicas para
maximizar la precisión de las conversiones A/D y escribir un programa para realizar
conversiones A/D. También se verán ejemplos de la vida real con aplicaciones típicas
donde el ADC puede ser utilizado.

Características del módulo ADC10 típico de la familia HC9S08.

La familia HC9S08 utiliza el módulo ADC10 que es un conversor A/D de 10 bits de
resolución el cual puede configurarse para obtener 8 bits o 10 bits de resolución con
justificación a la derecha en el resultado.

Todos los ADC de esta familia utilizan el método de aproximaciones sucesivas
lineales.
Si el lector desea profundizar en al teoría de funcionamiento de este tipo de conversores,
sugerimos consultar con el manual de referencia de la familia HC11
(MC68HC11RM.PDF) incluido en el CD ROM de la placa PLUGIN_AW o disponible
en el sitio web de Freescale Semiconductor (www.freescale.com).

Todos los módulos ADC soportan los modos de conversión simple (Single Conversion
Mode) y modo de conversión continua (Continuous Conversion Mode). En el modo de
conversión simple, la conversión se completa entre la escritura del registro de estado y
control del módulo ADCSC1 (ADC Status and Control Register 1).

En el modo de conversión continua, la entrada analógica se convierte continuamente y
el resultado se escribe en los registros de datos del módulo (ADCRH y ADCRL).
En este modo, el dato obtenido de la conversión previa es sobre escrito
independientemente si el dato ha sido leído o no.

El ADC ofrece dos maneras diferentes de monitorear el estado de conversión completa.
Dependiendo del modo de conversión se puede usar software para hacer un “polling”
del valor del Flag (verificar por soft que el bit se encuentre encendido) “COCO”
(Complete Conversion) o se puede configurar que el ADC genere un pedido de
interrupción cuando la conversión se haya completado.

A diferencia de otros módulos ADC, en la familia HC9S08 el ADC10 es capaz de
funcionar en los estados de bajo consumo “WAIT” y “STOP3”, mejorando la
perfomance de las mediciones al reducir el ruido generado por el MCU al reducir la
actividad de este. Cuando se efectuan conversiones con resoluciones de 10 o más Bit se
hace muy importante mantener estable y con el menor ruido posible la alimentación del
módulo A/D para evitar el “bailoteo” de los bits menos significativos en el resultado de
la conversión, por lo que “desactivar” al CPU, principal generador de ruidos es
fundamental para obtener lecturas “estables” cuando se trabaja con mucha resolución.

Una característica única del módulo conversor de esta familia es la capacidad de
generar un disparo por hardware del inicio de la conversión sin la necesidad de la
intervención directa del programa del usuario, lo que otorga mayor independencia al
módulo.

Otra de las características únicas de este módulo es la función de Comparación
Automática con interrupción. Esto permite que el usuario pueda comparar si el
resultado de una conversión es mayor, menor, o igual a un valor programado. Si la
comparación es exitosa, la diferencia entre el resultado de la conversión y el valor pre –
programado a comparar es almacenado en los registros de datos del módulo.
El módulo ADC posee un prescaler de la entrada de reloj que permite optimizar las
conversiones a las diferentes fuentes de reloj disponibles (cristales, osciladores internos,
FLL, etc.).

Líneas Externas del ADC.

Se tomará como ejemplo la configuración del módulo ADC del MC9S08QG8 que es un
dispositivo de 16 pines en encapsulado PDIP. La siguiente figura nos muestra la
asignación de pines del dispositivo elegido.

Líneas del ADC
compartidas con los
Ports A y B además
de otras funciones.

Este MCU incluye un módulo ADC de 8 canales de entrada, mientras que otros
dispositivos pueden contener más o menos canales que el QG8. Por ejemplo, el
MC9S08AW60CFUE incluido en la placa de personalización PLUGIN_AW, contiene
un módulo ADC de 16 canales. Sugerimos al lector consultar el manual de datos del
dispositivo HC9S08 elegido para obtener mayor información acerca del ADC
disponible.

Como se puede observar en la figura, y como es común en la mayoría de los MCUs
modernos, las líneas externas del ADC están compartidas con puertos I/O de
propósitos generales y muchas veces con líneas de otros módulos y funciones.

En el QG8 las líneas ADP0 a ADP7 están compartidas con los puertos I/O del puerto A
(PTA0 a PTA3) y del puerto B (PTB0 a PTB3).

Al igual que sucede en los ADC de la familia HC908, el usuario puede seleccionar la
línea externa del canal elegido configurando los bits de selección del canal analógico de
entrada en el registro de estado y control “ADCSC1” (ADCH4 a ADCH0).
Las líneas no utilizadas quedarán bajo el control lógico de los puertos de I/O y del
usuario.

Configuración Eléctrica del módulo.

La configuración eléctrica del módulo ADC debe estar en concordancia con las señales
analógicas a medir. Este módulo posee líneas separadas de alimentación como
“VDDAD” y “VSSAD” que permiten, cuando ello es posible, conectar el módulo a
distintas fuentes de alimentación (las del propio MCU u otras). Para el QG8, al ser un
dispositivo de muy pocos pines físicos, estas líneas están conectadas internamente a
VDD y VSS respectivamente.
Adicionalmente a las líneas de alimentación analógica, el módulo ADC posee
conexiones para dos líneas de referencia de tensión.
La línea de referencia alta es “VREFH” y la baja es “VREFL”. En el QG8, ambas
líneas están conectadas en forma interna a VDD y a VSS respectivamente, lo que hace
muy fácil la configuración eléctrica de ADC de este dispositivo, como se puede
observar en la siguiente figura.

Algunos dispositivos de la familia HC9S08 (sobre todo, los de muchos pines físicos)
poseen líneas dedicadas para VDDAD, VSSAD, VREFH y VREFL.
Por ejemplo, como en el MC9S08AW60CFUE contenido en la placa PLUGIN_AW.

• Conectar VDDAD a la misma

tensión que VDD.

• Usar filtro externo próximo al pin.
• Rutear VDDAD con cuidado.
• Conectar VSSAD al mismo

potencial que VSS.

• Separar VREFH y VREFL.
• Conectar VREFH a VDDAD.
• Conectar VREFL a VSSAD.

Conexiones del módulo ADC para un MC9S08xxx, como el MC9S08AW60CFUE.

Conversión de la tensión de entrada “VADVIN”.

Una vez que el módulo se ha configurado según lo que se ha explicado anteriormente, el
mismo se encuentra listo para efectuar la conversión del valor analógico de entrada al
módulo VADVIN a un valor digital. La señal de tensión de entrada es leída desde el
canal de entrada seleccionado en el registro de estado y control ADCSC1.
El resultado de la conversión depende del valor de VADVIN.

Tanto las líneas VREFH como VDDAD están conectadas a VDD, mientras VREFL y
VSSAD están conectadas a VSS, por lo que la señal de entrada al módulo VADVIN
no debe exceder los valores de alimentación del mismo. Si los valores de entrada
están entre VREFH y VREFL, el ADC convierte la tensión de entrada usando una
conversión lineal. Para una resolución de10 bits, los valores estarán comprendidos en
el rango de $0000 a $03FF que representan los 1024 resultados posibles.
Cuando VADVIN es igual o mayor a VREFH el resultado de la conversión será
$03FF, mientras que si VADVIN es menor o igual a VREFL el resultado de la
conversión será $0000.

Registros del Módulo ADC.

• ADC status and control register 1 (ADCSC1)
• ADC status and control register 2 (ADCSC2)
• ADC data result registers (ADCRH, ADCRL)
• ADC compare value registers (ADCCVH, ADCCVL)
• ADC configuration register (ADCCFG)
• ADC pin control registers (APCTL1) (APCTL2, APCTL3)

Como puede observar el lector, en el módulo ADC10 de la familia HC9S08 cuenta
con más cantidad de registros para configurar su funcionamiento que en la familia
HC908.

Esto se debe a que en este módulo se disponen de más prestaciones que en el de la
familia HC908. Aquí veremos los pertenecientes al QG8, sugerimos al lector consultar
en el manual de datos del MCU HC9S08 elegido para conocer las particularidades que
pudieran existir.

Independientemente del HC9S08 utilizado, los principios aquí descriptos son válidos
para el control y monitoreo de las operaciones del ADC en cualquier dispositivo.

Utilizando el Registro 1 de Estado y Control (ADCSC1) el usuario puede habilitar /
deshabilitar el módulo, configurar el canal de entrada analógico, el modo de conversión
y monitorear el estado del bit “COCO” indicador de conversión completa.

Con el Registro 2 de Estado y Control (ADCSC2) el usuario puede monitorear el
progreso de la conversión, seleccionar el disparo de la conversión, y controlar la función
“compare” (comparación) del ADC.

Los Registros de Datos (ADCRHy ADCRL) contendrán el resultado de la conversión
del valor analógico de entrada del canal elegido.

Los Registros de Comparación (ADCCVH y ADCCVL) contendrán el valor a
comparar (10 / 8 Bits) con el valor de la conversión cuando se habilite la función
“Atomátic Compare”.

El Registro de Configuración (ADCCFG) sirve para seleccionar la velocidad y la
conf
  • Links de descarga
http://lwp-l.com/pdf11469

Comentarios de: Capítulo 5/10 - ADC10 - A/D Converter – Conversor Analógico / Digital - Curso sobre Microcontroladores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad