Curso sobre Microcontroladores Familia HC9S08 de Freescale

Documentos relacionados
Curso sobre Microcontroladores Familia HC9S08 de Freescale

Buceando en el HC908...

Convertidor Analógico Digital ADC

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

EL módulo conversor A/D. (c) Domingo Llorente

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

MICROCONTROLADORES PIC

Curso sobre Microcontroladores Familia HC9S08 de Freescale

TEMA 20 EL CONVERSOR A/D

Buceando en el HC908...

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Microchip Tips & Tricks...

Registros SFR vistos hasta ahora: Microcontroladores PIC

Microchip Tips & Tricks...

Conversores Análogo-Digital

Proyecto Final: Controlador de Acuarios

PIC16F88. Características

Microchip Tips & Tricks...

Curso sobre Microcontroladores Familia HC9S08 de Freescale

MÓDULO COMPARADOR Y REFERENCIA DE TENSIÓN PARA LA COMPARACIÓN

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj

Diagrama del Conversor Análogo-Digital

CAPÍTULO 2. ARQUITECTURA Y COMPONENTES.

Lanzamiento de nueva versión KIT PLUGIN_AW... Ahora aprender C es más fácil!

Como sacarle mayor provecho a las herramientas disponibles para la familia HC908

Microchip Tips & Tricks...

Buceando en el HC908...

Ventajas del BUS I2C

Diseño de Microcontroladores

Lanzamiento de nueva versión KIT PLUGIN_AW... Ahora aprender C es más fácil!

El circuito integrado ADC1230, fabricado

Elección de un microcontrolador

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550.

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052)

CONVERTIDOR ANÁLOGICO-DIGITAL (ADC)

SISTEMAS ELECTRÓNICOS DIGITALES

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation)

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN

NT0012. Notas Técnicas de Uso y Aplicación 1.12 CONVERTIDOR ANALÓGICO DIGITAL UNA CONVERSIÓN CONFIGURACIÓN DE LECTURA DEL ADC

Tema 09: Convertidor Analógico Digital

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

ENTRADAS DE CONTADOR DE ALTA VELOCIDAD

Resumen de CONVERSORES ANALÓGICO DIGITALES Y DIGITALES ANALÓGICOS

Tema 09: Convertidor Analógico Digital

CURSO BÁSICO MICROCONTROLADORES PIC

PIC 18F45XX EL TIMER 0

Tema 4 Microprocesador MCF5282: Hardware

ARQUITECTURA DEL PIC16F84A

Seminario de Actualización tecnológica en Paraná realizado por ELKO/ARROW, Freescale y EduDevices..

2. PANTALLA ALFANUMÉRICA DE LCD (HITACHI HD44780U)

CP1E-NA con Analogía Integrada

Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

Ingeniería en Automática Industrial Software para Aplicaciones Industriales I PROCESAMIENTO PRIMARIO DE LA INFORMACIÓN

4.2 Servicio de exploración de E/S

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1

Microchip Tips & Tricks...

RECURSOS FUNDAMENTALES

Laboratorio 8. Uso de Conversor Análogo Digital Digital Análogo en microcontrolador MSP430.

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

Microchip Tips & Tricks...

Corrección al manual

Unidad de conexión de encoder S.S.I. CJ1W-CTS21. Introducción Hardware Conexionado Puesta en marcha Configuración Operación

Buceando en los MCUs Freescale...

Timer Interface Module

Técnicas para reducir el Ruido en sistemas con circuitos ADC.

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

ESPino - Especificaciones

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

INTRODUCCIÓN. Comunicación Serial.

CICLOS DEL PROCESADOR

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

DESCRIPCION DEL SITEMA MASTER.

Ud debe proveer enclavamiento por encima y debajo del intervalo de +5 a - 5 V, de modo de proteger el conversor contra sobretensiones de entrada.

Capítulo 2 LOS MICROCONTROLADORES MC68H(R)C908JL3/JK3/JK1. Capítulo 3 INTRODUCCIÓN A LA PROGRAMACIÓN DE LOS MICROCONTROLADORES MOTOROLA- FREESCALE

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Buceando en el HC908...

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

ITT-327-T Microprocesadores

Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Departamento de Electrónica

EDUKIT08. Características. Aplicaciones. Descripción general

ue Diseños Electrónicos Manual de usuario del PicKit2

Figura 1. Diagrama de bloques del Timer_A

Convertidor Delta-Sigma ( - )

Conceptos preliminares Familias lógicas Topologías Compuertas Flip Flops Osciladores. Introducción a la Electrónica

Funciones Lógicas X10

Unidad IV Sistemas de Adquisición de Datos

Periféricos Interfaces y Buses

Tema: Microprocesadores

MICROCONTROLADORES PIC USART

ESTRUCTURA FÍSICA DEL µp 8086

Memoria Virtual. Ing. Jorge Castro-Godínez

Convertidores analógicos-digitales

Analog To Digital Converter. Module (ADC) Curso de Microcontroladores Familia HC908 Flash de Freescale Parte II ING.

CONVERTIDORES DIGITAL ANALOGICO (DAC) Y ANALOGICO DIGITAL (ADC)

Diseño Basado en Microcontroladores. Programa Detallado

Transcripción:

Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Responsable Area Educación ELKO / ARROW www.elkonet.com e-mail: ddilella@elkonet.com Capítulo 5. Entrega Nº 11 ADC10 - A/D Converter Conversor Analógico / Digital. Como se había visto en la entrega número 10, el módulo conversor A/D de la familia HC9S08 si bien es muy similar al de la familia HC908 posee mayor cantidad de registros especiales que le dan una mayor funcionalidad al mismo. A continuación detallaremos cada uno de ellos: Registro de Estado y Control 2 (ADCSC2). Veamos ahora bit a bit las funciones del registro de Estado y Control 2.

ADACT: El flag de Conversión Activa es un bit de solo lectura que indica cuando una conversión está en progreso. Este flag se pone a 1 cada vez que se inicia una conversión y toma el valor 0 cuando la conversión se ha completado o la misma se ha abortado. ADTRG: Este bit sirve para seleccionar el modo de disparo de una conversión, pudiéndose elegir entre disparo por software o por hardware para iniciar una conversión. Cuando se elige disparo por software (ADTRG = 0), una conversión A/D comienza cuando se escribe en el registro ADCSC1. Si se elige disparo por hardware (ADTRG = 1), una conversión A/D comienza cuando el contador de la Interrupción de Tiempo Real (RTI) efectúa un overflow. El período del RTI es configurable vía la frecuencia de entrada del reloj y los bits de prescaler. De esta forma, el usuario puede realizar conversiones A/D a intervalos variables de tiempo dependiendo de la configuración del RTI. El uso del disparo por hardware permite que el usuario pueda iniciar una conversión en los modos RUN, WAIT o STOP3. Estos dos últimos son fundamentales para mantener al MCU en un muy bajo consumo y solo despertarlo a intervalos regulares para realizar la conversión y luego volver al sistema al bajo consumo. ACFE: El bit de habilitación de la Función de Comparación A/D, permite habilitar la función de comparación automática del módulo ADC. La función de comparación toma el resultado de la conversión y lo suma al complemento a dos del valor almacenado en los registros ADCCVH y ADCCVL. Esta función, en la realidad, efectúa la diferencia entre el resultado de la conversión y el valor a comparar. Si se cumple la condición de la comparación, el bit COCO se fuerza a 1 y se genera una interrupción si la misma había sido habilitada previamente (AIEN = 1). La diferencia entre el resultado de la conversión y el valor a comparar es almacenada en los registros ADCRH y ADCRL. ACFGT: El bit de Función de Comparación Mayor Que (Compare Funtion Greater Than) define las condiciones de la comparación. Si el bit ACFGT = 0, entonces la función de comparación solo se activa si el resultado de la conversión es MENOR que el valor almacenado en los registros ADCCVH y ADCCVL. Si el bit ACFGT = 1, entonces la función de comparación solo se activa si el resultado de la conversión es MAYOR o IGUAL que el valor almacenado en los registros ADCCVH y ADCCVL. Esta función es ideal para monitorear un valor de tensión en modo background y solamente interrumpir al MCU cuando se alcanza un valor crítico.

Los BITs 3 y 2 del ADCSC2 no son usados y siempres se leen como 0. Los BITs 1 y 0 del ADCSC2 son bits RESERVADOS y siempre deben escribirse con 0. Registros de Resultado de Datos del ADC (ADC Data Result Registers) (ADCRH / ADCRL). ADCRH Data Result High Register. ADCRL Data Result Low Register. La familia HC9S08 posee un ADC de 10 Bits de resolución que puede ser configurado para entregar un resultado de 8 Bits o de 10 Bits. El registro ADCRH contiene los dos bit de mayor peso (superiores) de la conversión a 10 Bits. Cuando se configura al módulo ADC para una conversión a 8 Bits, los Bits ADR8 y ADR9 son iguales a 0. El registro ADCRL contiene los 8 Bits de menor peso (inferiores) de una conversión a 10 Bits y todos los 8 Bits de una conversión, precisamente de 8 Bits. Los registros ADCRH y ADCRL se actualizan luego de cada conversión con la excepción cuando se habilita la función Compare y no se alcanza la condición de la comparación.

En el modo de 10 Bits, se implementa un mecanismo de bloqueo que evita sobre escritura en los registros de datos, de esta forma, al leer primero el registro ADCRH el resultado de las subsecuentes conversiones no se actualiza hasta que no sea leído en registro ADCRL. Si el registro ADCRL no es leído antes de que se complete la próxima conversión, este nuevo dato, producto de la nueva conversión, se pierde. Este mecanismo se denomina interlocking y deja de funcionar en el modo de conversión a 8 Bits, ya que no hay interlocking con el registro ADCRH. Si la función Compare está habilitada y la condición de comparación es verdadera, el valor de la conversión se suma al complemento a 2 del valor de comparación almacenado en los registros ADCCVH / ADCCVL y luego es almacenado en los registros de Resultado ADCRH y ADCRL. El valor obtenido de esta forma es la diferencia efectiva entre el resultado de la conversión y el valor a comparar. Registros de Valores de Comparación del ADC (ADC Compare Value Registers) (ADCCVH / ADCCVL) Estos registros mantienen el valor a comparar de 10 Bits para la función Compare. El registro ADCCVH mantiene los 2 bits más pesados (superiores) del valor a comparar, mientras que el registro ADCCVL los 8 más bajos (inferiores) del mismo valor, la totalidad de los 8 bits cuando el valor a comparar en de 8 bits. El registro ADCCVH no se usa durante el modo de comparación a 8 Bits. ADCCVH Compare Value High Register. ADCCVL Compare Value Low Register.

Registro de Configuración del ADC (ADC Configuration Register) (ADCCFG). El registro ADCCFG se utiliza para seleccionar las configuraciones de velocidad, de consumo, la fuente de reloj, el divisor del reloj y el tiempo de muestreo del módulo ADC. ADLPC: Este bit de configuración de Bajo consumo (Low Power Control) permite controlar la velocidad y el consumo del ADC. Cuando el bit ADLPC = 0, el ADC se configura para correr al mode de alta velocidad. Cuando el bit ADLPC = 1, el ADC se configura para correr en modo bajo consumo. La configuración de bajo consumo reduce la velocidad máxima del reloj en relación de mantener bajo el consumo de energía. En el modo de alta velocidad, la frecuencia máxima del reloj es de 8 Mhz, mientras que en el modo bajo consumo, la frecuencia máxima se reduce a 4 Mhz. ADIV: Los bits de selección del divisor del reloj, permiten la selección del valor del divisor que el ADC utilizará como oscilador interno (ADCK). En la siguiente tabla se muestran los valores del divisor en función de los valores de los bits de selección.

ADLSMP: El bit ADLSMP (Long Sample Time Configuration) de configuración de tiempo de muestreo largo, permite ajustar el tiempo de muestreo. Si el bit ADLSMP = 1, el ADC se configura para tiempos de muestreo largos, lo que otorga una mayor precisión en la conversión. Si el bit ADLSMP = 0, el ADC se configura para tiempos de muestreo cortos, lo que le confiere una alta velocidad de conversión. MODE: Estos bits de selección de MODO, permiten elegir entre en modo de operación a 8 bits o 10 bits del ADC. Configurando los bits MODE a 00 se selecciona el modo de conversión a 8 Bits. Configurando los mismos bits a 10 se selecciona el modo de conversión a 10 Bits. Todas las otras combinaciones de bits están reservadas y no pueden ser utilizadas. ADICLK: Los bits de selección del reloj de entrada, definen la fuente del reloj de entrada a utilizar para generar el reloj interno del módulo ADC. En el módulo ADC de la familia HC9S08, se pueden elegir 4 diferentes fuentes de reloj (clocks). - ALTCLK: Reloj Externo. - ADACK: Reloj Interno Asincrónico Propio. - Bus Clock: La frecuencia de Bus (FBUS) como referencia. - Bus Clock / 2: FBUS / 2 como referencia.

Registros de Control de los Pines del ADC (ADC Pin Control Registers) (APCTL1 / APCTL2 / APCTL3). APCTL1 ADC Pin Control Registers APCTL2 ADC Pin Control Registers. APCTL3 ADC Pin Control Registers. Seleccionar un canal de entrada analógico para efectuar la conversión A/D en el registro ADCSC1 utilizando los bits de selección de canal ADCH no es suficiente para asegurar que se podrá convertir la tensión presente en el pin del puerto asociado con el canal A/D a utilizar. Se necesita efectuar 2 tareas para asegurar ello: 1) Deshabilitar el control del MCU del puerto I/O que está siendo utilizado como entrada analógica. 2) Configurar dicho pin para ser utilizado como canal A/D del ADC. Para efectuar estas tareas, solo hay que escribir un 1 en el bit correspondiente al pin a utilizar en el registro de control del pin apropiado. Esta acción asegura que el pin elegido solo sea utilizado como entrada analógica por el módulo ADC independientemente de la configuración del puerto como I/O.

Calculando el Tiempo de Conversión. El tiempo total de conversión del módulo ADC depende de las configuraciones de ADLSMP, MODE y la frecuencia de referencia del ADC (ADCK). Una vez que se ha elegido la fuente de entrada de reloj, se puede calcular la cantidad de tiempo que se toma una conversión simple. Para ello se determina la cantidad de ciclos de reloj en completar la conversión y se dividen estos por la frecuencia de reloj empleada. El proceso de conversión comienza después de escribir el registro ADCSC1, un evento de disparo por hardware (RTI Timeout) o la transferencia del resultado a los registros de datos cuando se ha elegido el mode de conversión continuo. El número de ciclos empleados para cada modalidad y configuración se puede obtener de una tabla del manual técnico del MCU HC9S08 elegido. Por ejemplo, en la siguiente figura se muestra la tabla perteneciente a la familia MC9S08AWxx. Tiempos de Conversión del módulo ADC en el MC9S08AWxx. Por ejemplo, para una conversión simple a 10 Bits un ADCK = 8 Mhz, ADIV=1, ADLSMP = 0 y FBUS = 8 Mhz, el tiempo de conversión máximo será de 3,5 us, un tiempo de conversión muy bueno para un MCU de 8 bits.

Mejoras en la precisión de la conversión. La forma más efectiva de mejorar la precisión de una conversión A/D es reducir el ruido que se introduce en el sub-sistema del ADC, por medio del uso de un layout (diseño del PCB) muy cuidado, donde se pondrá especial atención a la separación de las señales utilizadas por el módulo ADC de las señales de ruido del sistema. El lector puede consultar numerosas notas de aplicaciones sobre el tema como la AN1705 de Freescale o los boletines técnicos Buceando (BC908_4 al BC908_8) contenidos en el CD ROM del EDUKIT08 o bien el sitio web de EduDevices.com.ar (www.edudevices.com.ar ) En ellos encontrará técnicas y recomendaciones de como tratar el ruido en sistemas con microcontroladores, no solo para el A/D funcione correctamente, sino para que el proyecto sea confiable y estable frente a las perturbaciones por ruido. Además de diseñar el sistema cuidando de utilizar las reglas del buen arte, en el diseño de la placa del sistema con MCU, el lector deberá tener en cuenta alguno de los siguientes consejos: 1) Después de encender el módulo ADC, se deben efectuar algunos ciclos de demora antes de comenzar con la conversión para estabilizar la alimentación del mismo. 2) Verificar que la impedancia de la señal analógica a medir no sea muy alta (por lo general, no mayor a 20K ohms). Los errorers causados por las corrientes de drenaje del módulo ADC, producen errores en la conversión, que aumentan, cuando la impedancia de la señal de entrada aumenta. 3) El muestreo de una señal por mayor tiempo mejora la precisión en la conversión, por lo que, si ello es posible, debe elegirse el tiempo de muestreo más grande por medio de la configuración del bit ADLSMP y la configuración del ADCK. 4) Si el proyecto lo permite, efectuar múltiples conversiones de una señal y luego promediarlas, mejora la relación señal / ruido y permite obtener conversiones de valores más estables en el tiempo. Continuará... Nota de Redacción: El lector puede descargar este capítulo y capítulos anteriores del curso desde la sección Artículos (Curso_HC9S08) en el sitio web de EduDevices (www.edudevices.com.ar )