Você está na página 1de 5

Universidad Militar Nueva Granada Micro-controladores.

PROPIEDADES Y USOS DE LA FUNCION ADCON2


Juan Camilo Quiceno Bravo
e-mail: u1801512@unimilitar.edu.co

RESUMEN: En el siguiente escrito se van a tratar


las funciones, comportamiento, palabras reservadas, funcionamiento, utilidad de la palabra reservada que esquema la conversin anloga digital del micro controlador PIC18F4550, ADCON2, encargada bsicamente de la captura y tiempo de procesamiento de las seales PALABRAS CLAVE: ADCON2, Conversin Anloga Digital, Pulso, Ondas, Selectores, Salidas Digitales, Salidas Anlogas, Registros, Tiempo de adquisicin de la seal.

de cuantificacin llevan consigo un error y una limitacin de resolucin del circuito. La eleccin del CAD en un diseo electrnico depender de la adaptacin de sus rasgos a los requerimientos de la aplicacin.

1 INTRODUCCIN
En orden de ideas que enmarca la funcin ADCON2, tiene bastante aplicacin en cuanto a la rapidez de procesamiento de la seal anloga, para tener al final un resultado ptimo y digital que nos permita accionar los diferentes mecanismos. Figura. Captura de Seales Anlogas y Procesamiento El convertidor A/D manda un impulso de anchura tw por la lnea C/M, que activa el interruptor electrnico, cargndose el condensador C, durante el tiempo tw. En el caso ideal, la tensin en el condensador sigue la tensin de entrada. Posteriormente el condensador mantiene la tensin adquirida cuando se abre el interruptor. En la siguiente figura se muestran las formas de las seales de entrada, salida y gobierno del interruptor.

2 MARCO TEORICO
2.1 CONVERSION ANALOGA DIGITAL
La salida de los sensores, que permiten al equipo electrnico interaccionar con el entorno, es normalmente una seal analgica, continua en el tiempo. En consecuencia, esta informacin debe convertirse a binaria (cada dato analgico decimal codificado a una palabra formada por unos y ceros) con el fin de adaptarla a los circuitos procesadores y de presentacin. Un convertidor analgico-digital (CAD) es un circuito electrnico integrado cuya salida es la palabra digital resultado de convertir la seal analgica de entrada. La conversin a digital se realiza en dos fases: cuantificacin y codificacin. Durante la primera se muestrea la entrada y a cada valor analgico obtenido se asigna un valor o estado, que depende del nmero de bits del CAD. El valor cuantificado se codifica en binario en una palabra digital, cuyo nmero de bits depende de las lneas de salida del CAD. En la prctica, el proceso de conversin est sujeto a numerosas limitaciones resultado de los procesos de fabricacin. Las ms relevantes son el tiempo de conversin y la finitud del nmero de estados de salida. La conversin involucra un tiempo y, en consecuencia, supone una incertidumbre que limita la velocidad mxima de la entrada. Los valores discretos del proceso

Figura. Salida del Conversor A/D

Universidad Militar Nueva Granada Micro-controladores.

3 MODULO DE CONVERSION ANALOGA DIGITAL.


3.1 GENERAL
El analgico a digital (A / D) mdulo convertidor de 10 entradas para los dispositivos de 28 pines y 13 para el dispositivos 40/44-pin. Este mdulo permite la conversin de una seal de entrada anloga a la correspondiente de 10 bits digitales nmero. El mdulo cuenta con cinco registros: A / D Resultados de Alto Registro A / D de Resultados bajo registro A / D de registro de control 0 A / D de registro de control 1 A / D de registro de control 2 (ADCON2) (ADRESH) (ADRESL) (ADCON0) (ADCON1)

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 adquisicin de los datos. La tensin de referencia analgica es seleccionable por software de o el dispositivo de suministro de positivos y negativos de tensin (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 caracterstica 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 el convertidor, lo que genera el resultado a travs de sucesivas aproximacin. Un dispositivo RESET, fuerzas a todos los registros del A/D a pasar al estado Reset. Esto obliga a la A / mdulo D se apague y cualquier conversin en curso se anula. Los registros ADRESH y ADRESL contienen el resultado de la conversin A / D. Cuando la conversin 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 interrupcin, ADIF, se establece. El diagrama de bloque del modulo de A/D.

Figura. Diagrama de Bloques Conversor A/D

Figura. Diagrama de la Funcin de Transferencia del A/D

3.2 CONFIGURACIONES
ADCON0:

Bit 7-6 Unimplemented: Es ledo como 0 Bit 5-2 CHS3:CHS0: Bits de seleccin de canal analgico. 0000: Canal 0 (AN0) 0001: Canal 1 (AN1)

Universidad Militar Nueva Granada Micro-controladores.

0010: Canal 2 (AN2) 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: Unimplemented 1110: Unimplemented 1111: Unimplemented Bit 1 GO/DONE: Bit de estado de la conversin A/D. Cuando ADON=1: 1 = conversin A/D en marcha (Cuando la conversin termina se borra automticamente) 0 = A/D en reposo Bit 0 ADON: Bit de habilitacin de A/D 1 = El modulo de conversin A/D es habilitado. 0 = El modulo de conversin A/D no est habilitado. ADCON1:

4 ADCON2
4.1 ORGANIZACIN

Bit 7 ADFM: Alineacin del resultado de la conversin A/D, en el Registro ADRESL y ADRESH. 1=> Justificado a la Derecha 0=> Justificado a la Izquierda

Figura. Alineacin en cada registros. Bit 6 Unimplemented: Se toma como 0. Bit 5- 3 ACQT2: ACQT0: Determina el tiempo de adquisicin de los datos arrojados por la conversin A/D. 111 = 20 TAD 110 = 16 TAD 101 = 12 TAD 100 = 8 TAD 011 = 6 TAD 010 = 4 TAD 001 = 2 TAD 000 = 0 TAD (1) La circuitera interna del conversor A/D incorpora un condensador de muestro. Antes de realizar la conversin se debe asegurar que el condensador haya sido cargado a la tensin 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 conversin. Existen dos opciones para generar este retardo: Por programa. Se establece por software el retardo entre la seleccin del nuevo canal y el inicio de la conversin. Estableciendo el tiempo de adquisicin automtico. Se programa un tiempo de adquisicin que establecer de forma automtica entre la orden de inicio de conversin y muestreo de la seal para iniciar la conversin. Este tiempo se configura a partir de los bits explicados anteriormente.

Bit 7-6 Unimplemented: Es ledo como 0 Bit 5 VCFG0: Bit de configuracin de referencia (VREFsource) 1 = VREF- (AN2) 0 = VSS Bit 4 VCFG0: Bit de configuracin de referencia (VREF+ source) 1 = VREF+ (AN3) 0 = VDD Bit 3-0 PCFG3:PCFG0: Bits de control de configuracin del puerto A/D.

Figura. Configuracin de los Puerto Digitales y Anlogos


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

Nota: Ah que tener en cuenta que los clculos 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 conversin total del Anlogo-Digital.

Universidad Militar Nueva Granada Micro-controladores.

Bit 2-0 ADCS2:ADCS1:ADCS0: Bits encargados de la seleccin de la seal de reloj del convertidor A/D 111 = FRC (clock derived from A/D RC oscillator)(1) = FOSC/64 110 = FOSC/16 101 = FOSC/4 100 = FRC (clock derived from A/D RC oscillator)(1) 011 = FOSC/32 010 = FOSC/8 001 = FOSC/2 000 Definimos TAD como el tiempo de conversin de 1bit. Por eso para una operacin completa que intervengan los 10bits, requeriramos 11TAD. La seal 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.

4. 5. 6. 7. 8.

#use delay(clock=48000000) //Configura comunicacion serie #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) //#byte nombre=direccion //se define byte control adcon2, controla t.adquisicion, justificacion y reloj

9. 10. #byte ADCON2=0xFC0 11. char Keypress=' '; 12. int8 valor; 13. 14. #int_rda 15. 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 mayor 26. } 27. } 28. } 29. 30. void main() 31. { //Establecer a como entrada 32. set_tris_a(0x01); //Entrada an0 33. //Se define entradas analogicas y valores referencia 34. setup_adc (adc_clock_div_64); //Enciende ADC, pongo 64 en lugar 32 a ver si mejora 35. //se configura t.adquisicion sin modificar demas, se usa operacion or 36. //se usara tadq de 20 tad, bits acqt2..0 todos a 1 37. //para poner a 0 se utilizaria and con 0 en bit a modificar y demas a 1 38. ADCON2= ADCON2 | 0b00111000; 39. setup_adc_ports (AN0_ANALOG); //Elige entrada analogica 40. set_adc_channel (0); //Elige canal a medir 41. //Habilita interrupcion rda 42. 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 libreras adc.h

Para ADCS2ADCS0 = 000 => TAD= 2*1/10x106 = 0,2 us (VALOR PEQUEO). Para ADCS2ADCS0 = 100 => TAD= 4*1/10x106 = 0,4 us (VALOR PEQUEO).

Para ADCS2ADCS0 = 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 tpico es de 2.5us.

Figura. Tabla de las Mximas Frecuencias para cada seleccin

Nota: Para dispositivos con frecuencias superiores a 1MHz, el dispositivo debe estar para la conversin completa o a cambio debe usarse un divisor de F OSC. Por otro parte, la exactitud de A/D puede estar fuera de especificacin.

4.2 EJEMPLO
1.
2.

#include <18F2550.h>
#device ADC = 8 HSPLL,NOWDT,NOPROTECT,NOLVP,NODE BUG,USBDIV,PLL3,CPUDIV1,VREGEN

3. #fuses

Universidad Militar Nueva Granada Micro-controladores.

#include <p18f2550.h> #include <adc.h> #pragma config FOSC = XT_XT, CPUDIV = OSC1_PLL2 void main(void){ unsigned int Conversion; TRISA=0xFF; ADCON0=0x01; //Canal 0, Modulo habilitado.ADCON1=0x0E; // AN0, Vdd, Vss.ADCON2=0x94; // Justificado a la derecha, 4Tad, Fosc/4 SetChanADC(0); // Selecciono canal a convertir.ConvertADC(); // Comienza conversin.while(BusyADC()==1){} // Hasta que se finalice conversin.Conversion= ReadADC(); // Realizo lectura.CloseADC(); while(1){ } }

5 REFERENCIAS
[1] Conversin Anloga Digital/ Evelio Martnez/ Blogs Foro/ Eveliux. http://www.eveliux.com/mx/conversion-analogico-digital-adc.php [2] Sistema de Conversin Anloga Digital Aplicacin a los PICs de Gama Media http://www.volcanesdecanarias.com/interna/Educacion/downloa d/Instrumentacion/04_SISTEMAS%20DE%20CONVERSION %20ANALOGICA%20DIGITAL.pdf [3] Electrnica Fcil/ Conversores Anlogo Digital/ Revisin 2010 http://www.electronicafacil.net/tutoriales/convertidoresanalogicos-digitales.php [4] http://www2.uca.es/grupinvest/instrument_electro/ppjjgdr/Electronics_Instrum/Electr onics_Instrum_Files/temas/T11_CAD.pdf [5] Horizonte Electrnico Comunidad sobre Electrnica/ WORDPRESS BLOGs http://www.blogelectronico.com/2007/05/puente-h/ [6] Modulo Conversin Anlogo/ Digital Aplicado para PIC18F4550/Revisado 2010/ Sixto Reinoso. V http://www.electromicrodigital.com/micros/files/pic18f4550/ MODULO_AD.pdf [7] DataSheet PIC18F4550 http://www.microchip.com/wwwproducts/Devices.aspx? dDocName=en010300

Você também pode gostar