Configurar Adcon0 Adcon1

24
TEMA 20 EL CONVERSOR A/D

Transcript of Configurar Adcon0 Adcon1

Page 1: Configurar Adcon0 Adcon1

TEMA 20

EL CONVERSOR A/D

Page 2: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 2

IIntroducción Al Conversor Analógico/Digital

LLos microcontroladores PIC de la familia 16F78x, poseen un conversor A/D de 10 bits de resolución, y con 5 entradas para los dispositivos de 28 terminales (16F873/6) y de 8 entradas para los dispositivos de 40 terminales (16F874/7).

LLa resolución del conversor vendrá determinada por la tensión de referencia que posea el conversor y es:

Resolución = Vref /1024

Page 3: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 3

Diagrama de Bloques del Conversor Analógico/Digital

Page 4: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 4

IIntroducción Al Conversor Analógico/DigitalEEn anterior esquema podemos comprobar que la entrada activa del

conversor A/D se selecciona mediante los bits CHS2:CHS0 del registro ADCON.

LLas tensiones de referencia (Vref+ y Vref-) que utiliza el conversor, por defecto poseen el valor VDD (5 v) y masa (0 v). Pero opcionalmente se puede disponer de 2 tensiones de referencia, externas denominadas Vref+ y Vref-, y que están sujetas a ciertas limitaciones (pero perdemos 2 canales de entrada).

Page 5: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 5

IIntroducción Al Conversor Analógico/DigitalA A través del canal seleccionado, se aplica la señal analógica a

un condensador de sample and hold (captura y mantenimiento) y luego se introduce al conversor A/D, este facilitará un resultado de 10 bits.

LLa conversión se realiza mediante la técnica de aproximaciones sucesivas.

EEl conversor es el único dispositivo capaz de seguir trabajando cuando el micro se encuentra en el modo SLEEP. Para ello el oscilador interno debe conectarse al conversor.

Page 6: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 6

IIntroducción Al Conversor Analógico/Digital

EEl conversor para su funcionamiento posee 4 registros asociados

• ADRESH Parte alta del resultado de la conversión• ADRESL Parte baja del resultado de la conversión• ADCON0 Registro de control 0• ADCON1 Registro de control 1

Los pines que funcionaran como entradas al conversor A/D deben ser configurados como entradas analógicas.

Page 7: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 7

EEl Registro de Control ADCON0

EEl registro ADCON0 controla la operación de conversión A/D, se encuentra en la dirección 1Fh (banco 0).

Bits 7-6 ADCS1-ADSC0: Sirven para seleccionar la frecuencia del reloj que se empleará en la conversión y de acuerdo a la siguiente tabla:

Page 8: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 8

EEl Registro de Control ADCON0

SSe denomina TAD al tiempo que tarda en ejecutarse la conversie denomina TAD al tiempo que tarda en ejecutarse la conversióón n de cada de cada bitbit, en el caso de trabajar con 10 bits, se requerir, en el caso de trabajar con 10 bits, se requeriráá un un tiempo mtiempo míínimo de 12. TAD.nimo de 12. TAD.

ADSC1:ADSC0 FRECUENCIA

00 Fosc/2

01 Fosc/8

10 Fosc/32

11 Frc (utiliza el oscilador interno)

Page 9: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 9

EEl Registro de Control ADCON0

EEl valor de TAD se selecciona por software mediante los l valor de TAD se selecciona por software mediante los anteriores bits,y en los PIC 16F87x, nunca debe ser menor anteriores bits,y en los PIC 16F87x, nunca debe ser menor que 1,6 que 1,6 μμsegundos.segundos.

Bits 5-3 CHS2:CHS0 Sirven para seleccionar el canal de entrada al conversor y de acuerdo con lo siguiente:000 = canal 0, (RA0/AN0)001 = canal 1, (RA1/AN1)010 = canal 2, (RA2/AN2)011 = canal 3, (RA3/AN3)

Page 10: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 10

EEl Registro de Control ADCON0

100 = canal 4, (RA5/AN4)101 = canal 5, (RE0/AN5)(1)110 = canal 6, (RE1/AN6)(1)111 = canal 7, (RE2/AN7)(1)

Nota (1): Estos canales no están disponibles en los dispositivos PIC16F873/876.

Page 11: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 11

EEl Registro de Control ADCON0Bit 2 GO/DONE: bit de estado de la conversión A/D SI ADON = 1Poniendo a 1 este bit se inicia una conversión. Este bit

permanecerá a 1 mientras la conversión está realizándose, y es puesto a “0” automáticamente por hardware cuando finaliza.

Bit 1: no implementado, se lee como 0.Bit 0 ADON: bit de habilitación del conversor A/D

1 = El conversor A/D está operativo 0 = El conversor A/D no está operativo, y no consume corriente.

Page 12: Configurar Adcon0 Adcon1

EEl Registro de Control ADCON1EEl registro ADCON1 sirve para configurar los terminales de la

puerta A, como entradas analógicas, o como E/S digitales, posee la dirección 9Fh (banco 1).

Bit 7 ADFM: bit de selección del formato del resultado 1 = Justificación a la derecha. Los 6 bits mayor peso del registro

ADRESH son puestos a 00 = Justificación a la izquierda los 6 bits menos significativos del

registro ADRESL son puestos a 0

Page 13: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 13

EEl Registro de Control ADCON1

Bits 6-4: no implementados se leen como “0”.Bits 3-0 PCFG3:PCFG0: bits de configuración del

conversor A/D. Se utilizan para configurar las patillas como entradas analógicas o como terminales de E/S digitales, y de acuerdo a la siguiente tabla.

Page 14: Configurar Adcon0 Adcon1

EEl Registro de Control ADCON1

Page 15: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 15

EEl Registro de Control ADCON1

Nota 2: Esta columna indica el número de canales disponibles que son entradas A/D y que número de canales de entrada son entradas de tensión de referencia.

Page 16: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 16

PProgramación del Conversor A/DMicrochip en el manual del microcontrolador recomienda

seguir los siguientes pasos para programar el conversor analógico/digital:

1.1. Configurar el mConfigurar el móódulo A/D:dulo A/D:• Fijar los pines que serán entradas analógicas, entradas digitales y de tensión de referencia, (ADCON1).• Seleccionar el canal de entrada para el conversor A/D (ADCON0)• Seleccionar el reloj para el conversor A/D (ADCON0)• Habilitar el módulo de conversión A/D (ADCON0)

Page 17: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 17

PProgramación del Conversor A/D

2.2. Activar si se desea las interrupciones del mActivar si se desea las interrupciones del móódulo dulo conversor A/D.conversor A/D.• Poner a cero el bit ADIF• Poner a 1 el bit ADIE• Permitir las interrupciones de los periféricos (bit PEIE=1)• Permitir las interrupciones (bit GIE = 1) bit

3.3. Esperar el tiempo requerido para la adquisiciEsperar el tiempo requerido para la adquisicióón.n.

Page 18: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 18

PProgramación del Conversor A/D

4.4. Comienzo de la conversiComienzo de la conversióónn• Poner a 1 el bit GO/DONE (ADCON0)

5.5. Esperar a que finalice la conversiEsperar a que finalice la conversióónnLa finalización puede detectarse:• Comprobando cuando se pone a cero el bit GO/DONE (esto ocurre cuando finaliza la conversión)• Esperando a que se produzca una interrupción del conversor A/D, si esta esta habilitada.

Page 19: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 19

PProgramación del Conversor A/D

6.6. Lectura el resultado de la conversiLectura el resultado de la conversióón A/D n A/D • El resultado se encontrará en el par de registros (ADRESH:ADRESL), y con el formato seleccionado.• Poner a 0 el bit ADIF (flag de la interrupción A/D), si la interrupción está habilitada.

7. 7. Para una nueva conversiPara una nueva conversióónn• Se debe volver a los pasos 1 y 2, el tiempo que se debe esperar entre dos conversiones es de 2.TAD

Page 20: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 20

RRequisitos Para la Conversión A/DPPara que el conversor pueda tener la precisión

especificada, debe permitirse que el condensador de capturara y mantenimiento, alcance el valor de la tensión de entrada del canal

El modelo equivalente de una entrada analógica es el siguiente:

Page 21: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 21

RRequisitos Para la Conversión A/DLLa impedancia de la fuente (RS), afecta a la carga del

condensador de muestreo, por ello se limita su valor, de tal forma que no debe sobrepasar el valor de 10k, si su valor disminuye, el tiempo de adquisición también lo hará.

El tiempo de adquisición viene dado por la siguiente expresión:

Page 22: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 22

SSelección del Reloj del Convertidor A/DCComo ya se ha indicado anteriormente, se denomina TAD

al tiempo que se tarda en convertir un bit. Ya se ha indicado que el tiempo mínimo necesario para efectuar una conversión a 10 bits es de 12.TAD. LLa señal de reloj del convertidor A/D se fija mediante software, siendo las posibilidades:Fos/2; Fosc/8; Fosc/32; Frc (procede del osilador Interno)

Los periodos de TAD, referidos a los periodos del reloj del microcontrolador serán:

Page 23: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 23

SSelección del Reloj del Convertidor A/D

ADCS1:0FRECUENCIA DEL

RELOJ DEL CONVERSOR A/D

TAD

00 Fosc/2 2.Tosc

01 Fosc/8 8.Tosc

10 Fosc/32 32.Tosc

11 Frc Oscilador RC interno en el C. A/D

Page 24: Configurar Adcon0 Adcon1

CCFF DPE MÓDULO DE PROYECTOS 24

Selección TAD Frecuencia de funcionamiento del MicroTAD ADSC1:0 20Mhz 5Mhz 1.25Mhz 333.33Mhz2Tosc 00 100ns 400ns 1.6us 6us8Tosc 01 400ns 1.6us 6.4us 24us32Tosc 10 1.6us 6.4us 25.6us 98usRC 11 2-6us 2-6us 2-6us 2-6us

EEl valor mínimo que debe poseer TAD es de 1,6 μsegundos.Veamos que valores toma TAD para diferentes combinaciones de los bits ADCS1:0 y diferentes frecuencias de funcionamiento del micro.

Los valores marcados en rojo violan el mínimo tiempo requerido de TAD

La fuente RC tiene un TAD típico de 4 us, el PIC con Frecuencias superiores a 1MHz, , el modo RC solo es recomendable en modo sleep.