You are on page 1of 40

Conversor A/D

Conversor Analógico a Digital

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Conversor A/D
Analógico
Analógico

Controlador

Sensor
Nivel
Valor
Deseado

V.D.

Controlador

Proceso

Proceso

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Conversor A/D
V.D.

Controlador

Proceso

Controlador Digital

A/D

UNEXPO – Pto. Ordaz.

Micro
procesador

Prof. Antonio Pateti

D/A

MICROPROCESADORES

Conversor A/D
Conversor Analógico a Digital:
 Convierte el voltaje analógico en
un numero digital

1,53 Volt

Convertidor
A/D

‘1110’B
‘E’H
‘14’D

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Ordaz. Antonio Pateti MICROPROCESADORES .Conversor A/D Conversor Analógico a Digital:  El voltaje de entrada esta limitado por un rango definido por el Voltaje de referencia VREF+ V Convertidor A/D D VREF- UNEXPO – Pto. Prof.

la salida va desde 0000 a 1111 VREF- UNEXPO – Pto.Conversor A/D Conversor Analógico a Digital:  El número de salida esta definido por los bits del conversor (Resolución) VREF+ V Convertidor A/D D0 D1 D2 D3 Posee 16 estados (24). Antonio Pateti MICROPROCESADORES . Prof. Ordaz.

Conversor A/D +5V Resolución en el conversor A/D : Vi Convertidor A/D  Para un conversor de n bits se tiene: D0 D1 D2 D3 0V  Se tiene 2n estados  Un A/D de 8 bits posee 256 estados  Un A/D de 10 bits posee 1024 estados  Un A/D de 12 bits posee 4069 estados  Para mayor Resolución menor error de cuantización UNEXPO – Pto. Prof. Antonio Pateti MICROPROCESADORES . Ordaz.

Antonio Pateti 4 4. Ordaz.33 2.66 3 3.66 2 2.33 0.33 1. 1 1.66 5 MICROPROCESADORES .33 3.66 Prof.33 4.Conversor A/D +5V Grafica de transferencia del Conversor A/D: 1111 Vi D0 D1 D2 Convertidor A/D 1110 D3 1101 1100 1011 D 0V 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 Vi 0000 0 0.66 UNEXPO – Pto.

Antonio Pateti MICROPROCESADORES .Conversor A/D +5V Error de Cuantización : Vi D Convertidor A/D D0 D1 D2 D3 0V 0010 0001 Vi 0000 0 0.33 2 UNEXPO – Pto. El máximo error de cuantización es de ½ LSB 0. Ordaz.66 0.33 2 Prof.33 0.

se tiene: D  204. Prof. VREF-=0Volt.6  Vin UNEXPO – Pto. Antonio Pateti MICROPROCESADORES .Conversor A/D Ecuación de transferencia para el conversor A/D : Vin  VREF  D  n (2  1) VREF   VREF   Para un conversor de 10 bits. VREF+=5Volt. Ordaz.

VREF+=5Volt. se tiene: D  819  Vin UNEXPO – Pto. Ordaz. Antonio Pateti MICROPROCESADORES . Prof. VREF-=0Volt.Conversor A/D Ecuación de transferencia para el conversor A/D : Vin  VREF  D  n (2  1) VREF   VREF   Para un conversor de 12 bits.

Prof.33V Tiempo Conversión tACQ t=0 UNEXPO – Pto. MICROPROCESADORES .C.C. A. 2. Ordaz. F.33V Sampled & Hold D A/D 0111 2. Antonio Pateti I.Conversor A/D Esquema simplificado de un conversor A/D MUX.

Conversor A/D Conversor Analógico a Digital del PIC 16F1787 UNEXPO – Pto. Antonio Pateti MICROPROCESADORES . Prof. Ordaz.

Conversor A/D Conversor Analógico a Digital del PIC16F1787:  Posee canal de entrada diferencial V+ y V-  Posee hasta 15 canales  El ADC es de 10 ó 12 bits de Aproximaciones Sucesivas  El ADC puede configurarse el VREF interno o externo  El ADC puede dar resultado en complemento a 2 o magnitud y signo UNEXPO – Pto. Antonio Pateti MICROPROCESADORES . Ordaz. Prof.

Ordaz. Antonio Pateti MICROPROCESADORES .Conversor A/D Pines utilizados por el A/D AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 AN8 AN9 AN10 AN11 AN12 AN13 AN21 UNEXPO – Pto.                RA0 RA1 RA2 RA3 RA5 RE0 RE1 RE2 RB2 RB3 RB1 RB4 RB0 RB5 RD1 Prof.

ANSELB. ADCON2 • ADRESH.Conversor A/D Registros utilizados por el ADC • ACON0. Antonio Pateti MICROPROCESADORES . ANSELD. ADRESL • ANSELA. ADCON1. Prof. ANSELE UNEXPO – Pto. Ordaz.

Antonio Pateti MICROPROCESADORES . Ordaz.Conversor A/D Diagrama en bloque del ADC del PIC16F1787 S/H UNEXPO – Pto. Prof.

ANx CPIN 5 pF VT=0.6V RIC ≤ 1K Switch de muestreo SS R I fuga ± 100nA SS CHOLD=120 pF CPIN: Capacitor de Entrada VT: Voltaje umbral del diodo I Fuga: Corriente de fuga por las conexiones RIC: Resistencia de interconexión SS: Switch del S/H CHOLD: Capacitor del S/H Prof.6V VT=0.Conversor A/D Modelo de la entrada en el ADC del PIC16F87x VDD RS VIN Donde: UNEXPO – Pto. Antonio Pateti Al ADC MICROPROCESADORES . Ordaz.

Antonio Pateti MICROPROCESADORES .6V CPIN 5 pF VT = 0.6V RIC < 1K I fuga  100 nA SS RSS CHOLD = 120 pF TACQ = TAMP + TC + TCOFF Donde: TAMP: TC: TCOFF: UNEXPO – Pto. Tiempo Ajuste (2 Seg) Tiempo de carga o descarga del CHOLD Coeficiente de Temperatura Prof.Conversor A/D Tiempo de Adquisición y de Conversión VDD Switche Muestreo  Tiempo de Adquisición: (TACQ) Rs VAIN ANx VT = 0. Ordaz.

05S/ºC) UNEXPO – Pto.6V RIC < 1K I fuga  100 nA SS RSS CHOLD = 120 pF TACQ = TAMP + TC + TCOFF TAMP = 2 Seg TC =-(CHOLD)(RIC+RSS+RS)ln(1/2047) TCOFF=(Temp-25ºC)(0. Prof.6V CPIN 5 pF Switche Muestreo VT = 0.Conversor A/D Tiempo de Adquisición y de Conversión VDD  Tiempo de Adquisición (TACQ) Rs VAIN ANx VT = 0. Antonio Pateti Si Temp>25ºC MICROPROCESADORES . Ordaz.

Ordaz. Antonio Pateti MICROPROCESADORES . Prof.05S/ºC) Si Temp>25ºC Datos: CHOLD = 120 pF RSS = 7 KΩ. para VDD = 5V RIC = 1 KΩ UNEXPO – Pto.Conversor A/D Tiempo de Adquisición y de Conversión  Calculo de TACQ TAMP = 2 Seg TACQ = TAMP + TC + TCOFF TC =-(CHOLD)(RIC+RSS+RS)ln(1/2047) TCOFF=(Temp-25ºC)(0.

36 S + 0.36 S TCOFF=(30ºC-25ºC)(0.25 S TACQ= 2 S + 7.72 S TACQ= 9.05S/ºC) TCOFF=(30ºC-25ºC)(0.25 S TCOFF = 0.Conversor A/D Tiempo de Adquisición y de Conversión  Calculo de TACQ Datos: CHOLD = 120 pF RSS = 7 KΩ.25 S TACQ= 18.47 S TC = 7. Prof.25 S TACQ= 2 S + 16.61 S UNEXPO – Pto. Ordaz. Antonio Pateti MICROPROCESADORES . para VDD = 5V RIC = 1 KΩ Para RS=50 y Temp=30ºC Para RS=10K y Temp=30ºC TC=-(120 pF)(1 K+7 K+10 K)ln(1/2047) TC=-(120 pF)(1 K+7 K+50 )ln(1/2047) TC = 16.05S/ºC) TCOFF = 0.47 S + 0.

Va a ‘0’ cuando finaliza Conversión ADON:Modo de Formato para el resultado del ADC 0: ADC Deshabilitado 1: ADC Habilitado UNEXPO – Pto. Antonio Pateti MICROPROCESADORES .Conversor A/D ADCON0 ADRMD:Modo de Formato para el resultado del ADC 0: Formato del ADC de 12 bits 1: Formato del ADC de 10 bits GO/DONE:Bit de estatus del conversor ADC 0: Fin de conversión o no hay conversión en progreso 1: Conversión en progreso. Prof. Ordaz.

Ordaz. Prof.Conversor A/D ADCON0 CHS<4:0>: Selección de la entrada positiva del ADC 00000: AN0 01110: Reservado (No hay canal conectado) 00001: AN1  00010: AN2  00011: AN3  00100: AN4 10101: AN21 00101: AN5  00110: AN6  00111: AN7  01000: AN8 11101: Indicador de Temperatura 01001: AN9 11110: Salida DAC 01010: AN10 11111: Voltaje de Referencia (FRV). 01011: AN11 01100: AN12 01101: AN13 UNEXPO – Pto. Antonio Pateti MICROPROCESADORES .

Conversor A/D ADCON1 ADFM: Formato para el resultado del ADC 0: Formato del ADC con Magnitud y Signo 1: Formato del ADC en complemento a 2 CDCS<2:0>: Selección del Periodo para el reloj del conversor AD 000: Fosc/2 001: Fosc/8 010: Fosc/32 011: FRC 100: Fosc/4 101: Fosc/16 110: Fosc/64 111: FRC UNEXPO – Pto. Prof. Antonio Pateti MICROPROCESADORES . Ordaz.

es conectado al pin VREF- ADPREF<1:0>: Configuración de VREF+ 00: VREF+ es conectado a VDD 01: VREF+ es conectado al pin VREF+ 10: Reservado 11: VREF+ es conectado internamente a FVR UNEXPO – Pto. Prof.es Vss VREF.Conversor A/D ADCON1 ADNREF: 0: 1: Configuración de VREFVREF. Antonio Pateti MICROPROCESADORES . Ordaz.

Deshabilitado Reservado. Deshabilitado Reservado. Deshabilitado UNEXPO – Pto.Conversor A/D ADCON2 TRIGSEL<3:0>: 0000: 0001: 0010: 0011: 0100: 0101: 0110: 0111: 1000: 1001: 1010: 1011: 1100: 1101: 1110: 1111: Selección para la Auto conversión del ADC Deshabilitado Se da Inicio de Conversión por CCP1 Se da Inicio de Conversión por CCP2 Reservado. Prof. Ordaz. Antonio Pateti MICROPROCESADORES . Deshabilitado Se da Inicio de Conversión por PSMC1 Se da Inicio de Conversión por PSMC1 Se da Inicio de Conversión por PSMC1 Se da Inicio de Conversión por PSMC2 Se da Inicio de Conversión por PSMC2 Se da Inicio de Conversión por PSMC2 Se da Inicio de Conversión por PSMC3 Se da Inicio de Conversión por PSMC3 Se da Inicio de Conversión por PSMC3 Reservado.

Seleccionado por ADNREF UNEXPO – Pto.es conectado al pin VREF1010: AN10 1011: AN11 1100: AN12 1101: AN13 1110: AN21 1111: VREF-.Conversor A/D ADCON2 CHSN<3:0>: Selección de la entrada negativa del ADC 0000: AN0 0001: AN1 0010: AN2 0011: AN3 0100: AN4 0101: AN5 0110: AN6 0111: AN7 1000: AN8 ADNREF: Configuración de VREF1001: AN9 0: VREF.es Vss 1: VREF. Antonio Pateti MICROPROCESADORES . Ordaz. Prof.

ADFM: Formato para el resultado del ADC 0: Formato del ADC con Magnitud y Signo 1: Formato del ADC en complemento a 2 Prof.Conversor A/D Formato del Resultado del ADC ADRMD: Modo de Formato para el resultado del ADC 0: Formato del ADC de 12 bits 1: Formato del ADC de 10 bits UNEXPO – Pto. Ordaz. Antonio Pateti MICROPROCESADORES .

Conversor A/D Formato del Resultado del ADC ADRMD: Modo de Formato para el resultado del ADC 0: Formato del ADC de 12 bits 1: Formato del ADC de 10 bits UNEXPO – Pto. ADFM: Formato para el resultado del ADC 0: Formato del ADC con Magnitud y Signo 1: Formato del ADC en complemento a 2 Prof. Antonio Pateti MICROPROCESADORES . Ordaz.

Conversor A/D Ejemplo del Formato del Resultado del ADC ADRMD: Modo de Formato para el resultado del ADC 0: Formato del ADC de 12 bits 1: Formato del ADC de 10 bits UNEXPO – Pto. ADFM: Formato para el resultado del ADC 0: Formato del ADC con Magnitud y Signo 1: Formato del ADC en complemento a 2 Prof. Ordaz. Antonio Pateti MICROPROCESADORES .

Ordaz. Antonio Pateti F.Conversor A/D Tiempo de Adquisición y de Conversión tACQ t=0 UNEXPO – Pto. ADIF=1 GO=0 MICROPROCESADORES .C. Tiempo Conversión I. GO=1 Prof.C.

GO=1 BSF ADCON0. 1 0 NEW_DATA Fin de Conversión DONE Inicio Conversión SAMPLING STOPPED Desconecta CHOLD UNEXPO – Pto.. Prof.Conversor A/D Tiempo de Adquisición y de Conversión Tiempo Conversión tACQ t=0 F.C. Ordaz.GO Q4 A/D CLK 1T cy TCNV TAD TACQ A/D DATA 9 8 7 ADRES SAMPLE .. Antonio Pateti Conecta CHOLD MICROPROCESADORES . ADIF=1 GO=0 I.C... 2 OLD_DATA ADIF GO .

Prof.Conversor A/D Calculo del TAD del conversor A/D CDCS<2:0>: Selección del Periodo para el reloj del conversor AD 000: Fosc/2 001: Fosc/8 010: Fosc/32 011: FRC 100: Fosc/4 101: Fosc/16 110: Fosc/64 111: FRC UNEXPO – Pto. Ordaz. Antonio Pateti MICROPROCESADORES .

 En nuestro caso por CCP1 y CCP2 UNEXPO – Pto. Prof. Ordaz.GO)  De forma automática configurando los bits TRIGSEL<3:0> para que de inicio de conversión de forma automática.Conversor A/D Inicio de conversión para el A/D (GO=‘1’):  Hay dos formas de colocar GO=‘1’:  Por Software: (BSF ADCON0. Antonio Pateti MICROPROCESADORES .

Ordaz.Conversor A/D Inicio de conversión para el A/D (GO=‘1’): CCPx Q S R CCPxIF CCPRxH Lógica de Salida CCPxCON<3:0> TMR1H 1011 TIC=(CCPRx +1)*(4*Tosc)*PreD_T1 CCPRx UNEXPO – Pto. Antonio Pateti 0008 Comparador 4 TRISC<x> CCPRxL ↑ Disparo de Evento Espaciales TMR1L 00 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 00 00 01 CCPxIF GO=1 MICROPROCESADORES . Prof.

Conversor A/D Ejemplo con el Conversor A/D: PIC 16F877 VDD AN0 RC2 TMR2=PR2 TMR2=PR2 TMR2=AN0  El TPWM=4096 seg  Se debe dar un Inicio de Conversión cada 1 mSeg. UNEXPO – Pto. Ordaz. Prof. Antonio Pateti MICROPROCESADORES .

Prof.6> CCPR1H Comparador R Q CCP1 S TMR2 TRISC<x> Comparad PR2 PWMPeriodo = [PR2+1]●4●Tosc●[PreDiv TMR2] 4096 Seg = [255+1]●1 Seg ●16 UNEXPO – Pto. Antonio Pateti MICROPROCESADORES . Ordaz.Conversor A/D Ejemplo con el Conversor A/D: CCPR1L CCP1R1LADRESH CCP1X:CCP1Y CCP1X:CCP1YADRESL<7.

Conversor A/D Inicio Init_Port Init_Timer1 Diagrama de Flujo RC2  Salida Salida del PWM (CCP1) T1CON  0x01 Pre-Div  1 Se utiliza con el modulo CCP2. Ordaz. 1 UNEXPO – Pto. Prof. eventos especiales CCPR2  . Antonio Pateti MICROPROCESADORES . Para disparos de eventos especiales Init_CCP2 CCP2CON  0x0B Modo comparación.1023 GO1 cuando TMR1=CCPR2 Init_ADC ADCON1  0x0E TAD  Fosc/8 ADCON0  0x41 RA0  AN0 Selecciona AN0 Justificado Izq.

Ordaz.6> NO ADIF=1 SI CCP1R1LADRESH CCP1X:CCP1YADRESL<7. Antonio Pateti MICROPROCESADORES .6> UNEXPO – Pto. Prof.Conversor A/D Diagrama de Flujo 1 T2CON  0x06 Pre-Div  16 PR2  0xFF Para el PWM Init_Timer2 Init_CCP1 CCP1CON0x0C CCP1 como PWM Periodo = 4096Seg CU= ADRESH:ADRESL<7.