paper1 - manejo del adcon2

6

Click here to load reader

Upload: juan-camilo-quiceno

Post on 13-Aug-2015

190 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Paper1 - Manejo Del ADCON2

Universidad Militar Nueva Granada – Micro-controladores.

PROPIEDADES Y USOS DE LA FUNCION ADCON2

Juan Camilo Quiceno Bravo e-mail: [email protected]

RESUMEN: En el siguiente escrito se van a tratar las funciones, comportamiento, palabras reservadas, funcionamiento, utilidad de la palabra reservada que esquema la conversión análoga digital del micro controlador PIC18F4550, ADCON2, encargada básicamente de la captura y tiempo de procesamiento de las señales

PALABRAS CLAVE: ADCON2, Conversión Análoga Digital, Pulso, Ondas, Selectores, Salidas Digitales, Salidas Análogas, Registros, Tiempo de adquisición de la señal.

1 INTRODUCCIÓN

En orden de ideas que enmarca la función ADCON2, tiene bastante aplicación en cuanto a la rapidez de procesamiento de la señal análoga, para tener al final un resultado óptimo y digital que nos permita accionar los diferentes mecanismos.

2 MARCO TEORICO

2.1 CONVERSION ANALOGA – DIGITAL

La salida de los sensores, que permiten al equipo electrónico interaccionar con el entorno, es normalmente una señal analógica, continua en el tiempo. En consecuencia, esta información debe convertirse a binaria (cada dato analógico decimal codificado a una palabra formada por unos y ceros) con el fin de adaptarla a los circuitos procesadores y de presentación.

Un convertidor analógico-digital (CAD) es un circuito electrónico integrado cuya salida es la palabra digital resultado de convertir la señal analógica de entrada.

La conversión a digital se realiza en dos fases: cuantificación y codificación. Durante la primera se muestrea la entrada y a cada valor analógico obtenido se asigna un valor o estado, que depende del número de bits del CAD. El valor cuantificado se codifica en binario en una palabra digital, cuyo número de bits depende de las líneas de salida del CAD.

En la práctica, el proceso de conversión está sujeto a numerosas limitaciones resultado de los procesos de fabricación. Las más relevantes son el tiempo de conversión y la finitud del número de estados de salida. La conversión involucra un tiempo y, en consecuencia, supone una incertidumbre que limita la velocidad máxima de la entrada. Los valores discretos del proceso

de cuantificación llevan consigo un error y una limitación de resolución del circuito. La elección del CAD en un diseño electrónico dependerá de la adaptación de sus rasgos a los requerimientos de la aplicación.

Figura. Captura de Señales Análogas y Procesamiento

El convertidor A/D manda un impulso de anchura tw por la línea C/M, que activa el interruptor electrónico, cargándose el condensador C, durante el tiempo tw. En el caso ideal, la tensión en el condensador sigue la tensión de entrada. Posteriormente el condensador mantiene la tensión adquirida cuando se abre el interruptor.En la siguiente figura se muestran las formas de las señales de entrada, salida y gobierno del interruptor.

Figura. Salida del Conversor A/D

1

Page 2: Paper1 - Manejo Del ADCON2

Universidad Militar Nueva Granada – Micro-controladores.

3 MODULO DE CONVERSION ANALOGA – DIGITAL.

3.1 GENERAL

El analógico a digital (A / D) módulo convertidor de10 entradas para los dispositivos de 28 pines y 13 para el dispositivos 40/44-pin. Este módulo permite la conversión de una señal de entrada análoga a la correspondiente de 10 bits digitales número.

El módulo cuenta con cinco registros:

• A / D Resultados de Alto Registro (ADRESH)• A / D de Resultados bajo registro (ADRESL)• A / D de registro de control 0 (ADCON0)• A / D de registro de control 1 (ADCON1)• A / D de registro de control 2 (ADCON2)

El ADCON0, controla las operaciones del modulo A/D. El ADCON1 configura las funciones para cada uno de los pines de captura. El ADCON2, configura el reloj del modulo A/D y se programa el tiempo de adquisición de los datos.

La tensión de referencia analógica es seleccionable por software de o el dispositivo de suministro de positivos y negativos de tensión (VDD y VSS) o el nivel de voltaje en el RA3/AN3/VREF + y pines RA2/AN2/VREF-/CVREF.El convertidor A / D tiene una característica única de poder para funcionar cuando el dispositivo está en modo de espera. Para operar en modo de espera, el A/D reloj debe ser derivado de la A/D oscilador RC interno.

La salida de la muestra y mantenga es la entrada en elconvertidor, lo que genera el resultado a través de sucesivas aproximación.

Un dispositivo RESET, fuerzas a todos los registros del A/D a pasar al estado Reset. Esto obliga a la A / módulo D se apague y cualquier conversión en curso se anula.

Los registros ADRESH y ADRESL contienen el resultado de la conversión A / D. Cuando la conversión A / D es completa, el resultado se carga en el ADRESH: ADRESL par del registro, el GO / DONE bits (registro ADCON0) es despejado y A / D de la bandera de interrupción, ADIF, se establece. El diagrama de bloque del modulo de A/D.

Figura. Diagrama de Bloques Conversor A/D

Figura. Diagrama de la Función de Transferencia del A/D

3.2 CONFIGURACIONES

ADCON0:

Bit 7-6 Unimplemented: Es leído como ‘0’

Bit 5-2 CHS3:CHS0: Bits de selección de canal analógico.0000: Canal 0 (AN0)0001: Canal 1 (AN1)0010: Canal 2 (AN2)

2

Page 3: Paper1 - Manejo Del ADCON2

Universidad Militar Nueva Granada – Micro-controladores.

0011: Canal 3 (AN3)0100: Canal 4 (AN4)0101: Canal 5 (AN5)*0110: Canal 6 (AN6)*0111: Canal 7 (AN7)*1000: Canal 8 (AN8)1001: Canal 9 (AN9)1010: Canal 10 (AN10)1011: Canal 11 (AN11)1100: Canal 12 (AN12)1101: Unimplemented1110: Unimplemented1111: Unimplemented

Bit 1 GO/DONE: Bit de estado de la conversión A/D.Cuando ADON=1:1 = conversión A/D en marcha (Cuando la conversión termina se borra automáticamente)0 = A/D en reposo

Bit 0 ADON: Bit de habilitación de A/D1 = El modulo de conversión A/D es habilitado.0 = El modulo de conversión A/D no está habilitado.

ADCON1:

Bit 7-6 Unimplemented: Es leído como ‘0’Bit 5 VCFG0: Bit de configuración de referencia (VREF- source)1 = VREF- (AN2)0 = VSSBit 4 VCFG0: Bit de configuración de referencia (VREF+ source)1 = VREF+ (AN3)0 = VDDBit 3-0 PCFG3:PCFG0: Bits de control de configuración del puerto A/D.

Figura. Configuración de los Puerto Digitales y Análogos

Nota: Los pines AN5 hasta AN6 solo están disponibles en los dispositivos de 40-44 pines.

4 ADCON2

4.1 ORGANIZACIÓN

Bit 7 – ADFM: Alineación del resultado de la conversión A/D, en el Registro ADRESL y ADRESH.1=> Justificado a la Derecha0=> Justificado a la Izquierda

Figura. Alineación en cada registros.

Bit 6 – Unimplemented: Se toma como 0.

Bit 5- 3 ACQT2: ACQT0: Determina el tiempo de adquisición de los datos arrojados por la conversión A/D.

111 = 20 TAD110 = 16 TAD101 = 12 TAD100 = 8 TAD011 = 6 TAD010 = 4 TAD001 = 2 TAD000 = 0 TAD (1)

La circuitería interna del conversor A/D incorpora un condensador de muestro. Antes de realizar la conversión se debe asegurar que el condensador haya sido cargado a la tensión del canal seleccionado. Al realizar un cambio de canal se debe esperar un tiempo que dependerá de la impedancia de salida del circuito que está haciendo la conversión.

Existen dos opciones para generar este retardo: Por programa. Se establece por software el

retardo entre la selección del nuevo canal y el inicio de la conversión.

Estableciendo el tiempo de adquisición automático. Se programa un tiempo de adquisición que establecerá de forma automática entre la orden de inicio de conversión y muestreo de la señal para iniciar la conversión. Este tiempo se configura a partir de los bits explicados anteriormente.

Nota: Ahí que tener en cuenta que los cálculos son hechos para un cristal de 4MHz, si se usa uno superior ahí que hacer el respectivo calculo.

-Se tiene en cuenta que un 11TAD, es la conversión total del Análogo-Digital.Bit 2-0 ADCS2:ADCS1:ADCS0: Bits encargados de la selección de la señal de reloj del convertidor A/D

3

Page 4: Paper1 - Manejo Del ADCON2

Universidad Militar Nueva Granada – Micro-controladores.

111 = FRC (clock derived from A/D RC oscillator)(1)

110 = FOSC/64101 = FOSC/16100 = FOSC/4011 = FRC (clock derived from A/D RC oscillator)(1)

010 = FOSC/32001 = FOSC/8000 = FOSC/2

Definimos TAD como el tiempo de conversión de 1bit. Por eso para una operación completa que intervengan los 10bits, requeriríamos 11TAD. La señal de reloj que genera las temporizaciones TAD se establece mediante los bits ADCS2,1,0. Se puede hacer de dos maneras este control del reloj.

Oscilador Principal Red RC interna del propio convertidor. Se

utiliza en conversiones de bajo consumo con el oscilador principal desactivado.

El valor de TAD debe ser lo menor posble pero superior al especificado para el PIC que esta alrededor de los (0,7 us).

Ejemplo: Si la FOSC = 10 MHz, Calcular ell valor de TAD. Para ADCS2…ADCS0 = 000 => TAD=

2*1/10x106 = 0,2 us (VALOR PEQUEÑO). Para ADCS2…ADCS0 = 100 => TAD=

4*1/10x106 = 0,4 us (VALOR PEQUEÑO). Para ADCS2…ADCS0 = 001 => TAD=

8*1/10x106 = 0,8 us. Este valor es mayor que el defecto del PIC(0,7us), por lo tanto este valor seria optimo.

Cuando se utiliza el oscilador interno RC, el TAD típico es de 2.5us.

Figura. Tabla de las Máximas Frecuencias para cada selección

Nota: Para dispositivos con frecuencias superiores a 1MHz, el dispositivo debe estar para la conversión completa o a cambio debe usarse un divisor de FOSC. Por otro parte, la exactitud de A/D puede estar fuera de especificación.

4.2 EJEMPLO

1. #include <18F2550.h>2. #device ADC = 83. #fuses

HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN

4. #use delay(clock=48000000)5. //Configura comunicacion serie6. #use rs232(baud=9600, xmit=PIN_C6,

rcv=PIN_C7)

7. //#byte nombre=direccion8. //se define byte control adcon2, controla

t.adquisicion, justificacion y reloj9.10. #byte ADCON2=0xFC011. char Keypress=' ';12. int8 valor;13.  14. #int_rda15. void serial_isr() {16.  17.  Keypress=0x00;18.  if(kbhit())19.   {20.    Keypress=getc();21.    if(Keypress!=0x00)22.      {23.    

valor=read_adc(ADC_START_AND_READ);//Inicia conversion y lee, hara espera automatica

24.      delay_ms(1);25.      printf("\n\rEl valor del adc es :

%u",valor);//muestra dato mayor26.      }27.   }28. }29.  30. void main()31. {  //Establecer a como entrada32.   set_tris_a(0x01); //Entrada an033.   //Se define entradas analogicas y valores

referencia34.   setup_adc (adc_clock_div_64); //Enciende

ADC, pongo 64 en lugar 32 a ver si mejora35.   //se configura t.adquisicion sin modificar

demas, se usa operacion or36.   //se usara tadq de 20 tad, bits acqt2..0 todos

a 137.   //para poner a 0 se utilizaria and con 0 en bit

a modificar y demas a 138.   ADCON2= ADCON2 | 0b00111000;39.   setup_adc_ports (AN0_ANALOG); //Elige

entrada analogica40.   set_adc_channel (0); //Elige canal a medir41.   //Habilita interrupcion rda42.   enable_interrupts(global);43.   enable_interrupts(int_rda);44.  45.   printf("\r\n\ Conectado \r\n");46.  47.  do {48.      } while (TRUE);49. }

Otro Ejemplo utilizando las librerías adc.h

#include <p18f2550.h>#include <adc.h>#pragma config FOSC = XT_XT, CPUDIV = OSC1_PLL2void main(void){unsigned int Conversion;TRISA=0xFF;ADCON0=0x01;   //Canal 0, Modulo habilitado.-

4

Page 5: Paper1 - Manejo Del ADCON2

Universidad Militar Nueva Granada – Micro-controladores.

ADCON1=0x0E;   // AN0, Vdd, Vss.-ADCON2=0x94;   // Justificado a la derecha, 4Tad, Fosc/4SetChanADC(0);          // Selecciono canal a convertir.-ConvertADC();           // Comienza conversión.-while(BusyADC()==1){}   // Hasta que se finalice conversión.-Conversion= ReadADC();  // Realizo lectura.-CloseADC();while(1){}}

5 REFERENCIAS

[1] Conversión Análoga Digital/ Evelio Martínez/ Blogs – Foro/ Eveliux.http://www.eveliux.com/mx/conversion-analogico-digital-adc.php [2] Sistema de Conversión Análoga Digital – Aplicación a los PIC’s de Gama Mediahttp://www.volcanesdecanarias.com/interna/Educacion/download/Instrumentacion/04_SISTEMAS%20DE%20CONVERSION%20ANALOGICA%20DIGITAL.pdf

[3] Electrónica Fácil/ Conversores Análogo Digital/ Revisión 2010

http://www.electronicafacil.net/tutoriales/convertidores-analogicos-digitales.php

[4]

http://www2.uca.es/grup-invest/instrument_electro/ppjjgdr/Electronics_Instrum/Electronics_Instrum_Files/temas/T11_CAD.pdf

[5] Horizonte Electrónico – Comunidad sobre Electrónica/

WORDPRESS – BLOG’s http://www.blogelectronico.com/2007/05/puente-h/

[6] Modulo Conversión Análogo/ Digital – Aplicado para PIC18F4550/Revisado 2010/ Sixto Reinoso. Vhttp://www.electromicrodigital.com/micros/files/pic18f4550/MODULO_AD.pdf

[7] DataSheet PIC18F4550http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010300

5