7
Módulo A/D PIC16F8XA Elektrónica y Otros http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 1 11. Módulo de conversión A/D Este módulo posee 5 entradas para el dispositivo de 28 pines. El resultado de la conversión de la señal de entrada es un número binario de 10-bit. El módulo A/D tiene voltajes de referencia alto y bajo, y puede ser configurado por software para que sea una combinación de VSS, VDD, RA2 y RA3 El módulo tiene cuna característica única, trabajar mientras el microcontrolador se encuentra en modo “dormido” (sleep) , para esto el reloj A/D debe derivarse del oscilador RC interno del A/D. Existen cuatro registros asociados a este módulo: A/D Result High Register (ADRESH): Registro de resultado A/D ALTO A/D Result Low Register (ADRESL): Registro de resultado A/D BAJO A/D Control Register 0 (ADCON0): Registro de control A/D 0 A/D Control Register 1 (ADCON1): Registro de control A/D 1 El detalle de cada registro es el siguiente: Registro ADCON0 (Dirección 1Fh) Bit 7 6: ADCS1:ADSC2 bits de selección del reloj de conversión A/D ADCS2 <ADCS1:ADCS0> Reloj de Conversión 0 00 Fosc/2 0 01 Fosc/8 0 10 Fosc/32 0 11 FRC (derivado del oscilador interno del A/D) 1 00 Fosc/4 1 01 Fosc/16 1 10 Fosc/64 1 11 FRC *ADCS2 es un bit del registro ADCON1 bit 5 3: CHS2:CHS0 bits de selección de canal análogo 000 = Canal 0 (AN0) 001 = Canal 1 (AN1) 010 = Canal 2 (AN2) 011 = Canal 3 (AN3) 100 = Canal 4 (AN4) 101 = Canal 5 (AN5)

Pic 16 F877XA A/D

Embed Size (px)

Citation preview

Page 1: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 1

11. Módulo de conversión A/D

Este módulo posee 5 entradas para el dispositivo de 28 pines. El resultado de la conversión de la

señal de entrada es un número binario de 10-bit. El módulo A/D tiene voltajes de referencia alto y

bajo, y puede ser configurado por software para que sea una combinación de VSS, VDD, RA2 y RA3

El módulo tiene cuna característica única, trabajar mientras el microcontrolador se encuentra en

modo “dormido” (sleep) , para esto el reloj A/D debe derivarse del oscilador RC interno del A/D.

Existen cuatro registros asociados a este módulo:

A/D Result High Register (ADRESH): Registro de resultado A/D ALTO

A/D Result Low Register (ADRESL): Registro de resultado A/D BAJO

A/D Control Register 0 (ADCON0): Registro de control A/D 0

A/D Control Register 1 (ADCON1): Registro de control A/D 1

El detalle de cada registro es el siguiente:

Registro ADCON0 (Dirección 1Fh)

Bit 7 – 6: ADCS1:ADSC2 bits de selección del reloj de conversión A/D

ADCS2 <ADCS1:ADCS0> Reloj de Conversión

0 00 Fosc/2 0 01 Fosc/8 0 10 Fosc/32 0 11 FRC (derivado del oscilador interno del A/D) 1 00 Fosc/4 1 01 Fosc/16 1 10 Fosc/64 1 11 FRC

*ADCS2 es un bit del registro ADCON1

bit 5 – 3: CHS2:CHS0 bits de selección de canal análogo

000 = Canal 0 (AN0) 001 = Canal 1 (AN1) 010 = Canal 2 (AN2)

011 = Canal 3 (AN3)

100 = Canal 4 (AN4)

101 = Canal 5 (AN5)

Page 2: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 2

110 = Canal 6 (AN6)

111 = Canal 7 (AN7)

bit 2: GO/-DONE : bit de estado de la conversión A/D.

1 = Conversión en progreso (poner este bit en 1 comienza la conversión, y se limpia

automáticamente al terminar la conversión)

0 = no se está realizando conversión.

bit 1: Sin Uso: sin uso se lee como 0.

bit 0: ADON: bit de encendido A/D.

1 = el módulo A/D está encendido

0 = el modulo A/D está apagado y consume corriente de no operación.

Registro ADCON1 (Dirección 9Fh)

bit 7: ADFM: bit de selección de formato del resultado A/D.

1 = justificado a la derecha.

0 = justificado a la izquierda.

bit 6: ADCS2: selección del reloj de conversión.

(ver tabla de bit 7-6 ADCON0)

bit 5 – 4: sin uso se leen como 0

bit 3 – 0: PCFG3:PCFG0: bits de control del puerto A/D.

Page 3: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 3

A = Entrada Análoga. D =Digital I/O

C/R = nº canales análogos/ nº Voltajes de referencia A/D

Los registros ADRESH:ADRESL contienen el resultado de 10 – bit de la conversión, cuando la

conversión se finaliza, el resultado se carga en el par de registros, el bit GO/-DONE bit

(ADCON0<2>) se limpia y la bandera de interrupción (bit ADIF) se pone a uno.

Después de que el módulo ha sido configurado como se desea, el canal debe seleccionarse antes

de iniciar la adquisición. Los canales análogos deben estar deben estar configurados como entrada

en el registro TRISA.

Para realizar una conversión A/D, siga los siguientes pasos:

Page 4: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 4

1. Configure el módulo A/D:

Configure los pines análogos y voltajes de referencia y I/O digital (ADCON1)

Seleccione el canal de entrada (ADCON0)

Seleccione el reloj de conversión (ADCON0)

Encienda el módulo (ADCON0)

2. Configure la interruppcion de A/D (si se desea)

Limpiar el bit ADIF

Poner a 1 el bit ADIE

Poner a 1 el bit PEIE

Poner a 1 el bit GIE

3. Esperar el tiempo de adquisición.

4. Comenzar la conversión:

Poner el bit GO/-DONE a 1 (ADCON0)

5. Esperar a que la conversión este completa:

Esperar a que GO/-DONE sea cero (cuando las interrupciones están

deshabilitados)

Esperar la interrupción A/D

6. Leer el resultado del par de registros ADRESH:ADRESL.

7. Volver al paso 1 o 2 según se requiera para la próxima conversión. El tiempo de

conversión por bit es definido como TAD.

11.1 requerimientos de adquisición A/D

Para que el convertidor A/D alcance su exactitud especificada, el condensador almacenador de

carga (CHOLD) debe ser capaz de cargarse completamente al nivel de tensión del canal de entrada.

El modelo de la entrada análoga es el de la figura 11-2:

Como las resistencias Rs y Rss afectan directamente el tiempo de carga del condensador. La

impedancia Rss varía según el voltaje del dispositivo.

La máxima impedancia de la fuente de entrada recomendada es de 2.5KΩ, si la impedancia

decrece también lo hace el tiempo de adquisición. El tiempo de adquisición mínimo TACQ es de

19.72us (ver ecuación 11-1 de la hoja de datos)

Page 5: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 5

1 1.2 Seleccionar el reloj de conversión A/D

TAD es el tiempo de conversión por bit. La conversión requiere un mínimo de 12 TAD para una

conversión de 10 bit. El reloj fuente de la conversión A/D es seleccionado por software. Las 7

opciones posibles son:

2 TOSC

4 TOSC

8 TOSC

16 TOSC

32 TOSC

64 TOSC

Oscilador RC interno del módulo A/D (2-6us)

Se debe seleccionar para asegurar que TAD sea al menos de 1.6us.

1: El TAD típico de la fuente RC es de 4us pero puede variar entre 2-6us.

2: Si la frecuencia de operación es mayor a 1MHz, se recomienda el reloj RC solo para operar en el

modo “Dormido” (sleep).

Page 6: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 6

11.3 Configurar Pines del Puerto Análogo.

El registro ADCON1 y TRIS controlan la operación de los pines A/D. si se lee el puerto A

completo los pines de entrada análoga se leen como 0. Cualquier nivel analógico en una entrada

digital pude generar corrientes fuera de la especificación del dispositivo.

11.4 Conversiones A/D

Al poner un cero en el bit GO/-DONE durante una conversión se abortará la conversión actual. El

par de registros no se cargará con el resultado parcial de la conversión, es decir continuaran con el

valor de la última conversión completa. Después de que la conversión se aborta la próxima

adquisición en el canal seleccionado se inicia automáticamente.

En la figura después de poner el bit GO a 1, el primer segmento de tiempo tiene un minimo tiempo

de TCY y un máximo de TAD.

El bit GO/-DONE no debe ponerse a 1 en la misma instrucción en la que se enciende el módulo

A/D.

11.5 Operación del A/D en modo “Dormido” (SLEEP)

El A/D puede ser operado durante el modo dormido. Esto requiere que el reloj se obtenga desde

el oscilador interno RC (ADCS1:ADCS0 = 11). Cuando se selecciona el reloj RC como fuente, el

módulo A/D espera un ciclo de instrucción antes de comenzar la conversión. Esto permite a la

instrucción SLEEP ser ejecutada lo que elimina todo el ruido de la conmutación digital de la

conversión. Cuando se completa la conversión, el bit GO/-DONE se limpiara y el resultado se

cargará en el registro ADRES (H ó L). si está habilitada la interrupción A/D, el dispositivo el

dispositivo “despertará”. Si la interrupción no esta habilitada, el modulo se apagará, a pesar de

que el bit ADON seguirá en 1.

Page 7: Pic 16 F877XA A/D

Módulo A/D PIC16F8XA –Elektrónica y Otros

http://elektronicayotros.blogspot.com/ |Jaime Ara Rebolledo. 7

11.6 Efectos Después de un Reset

Un resetéo del dispositivo fuerza a todos los registros a su estado de reset. Esto fuerza al módulo

A/D a apagarse y cualquier conversión es abortada. Todos los pines están configurados como

entradas análogas.

El valor de los registros ADRES (H ó L) no se modifica cuando el reset es POWER-ON. Los registros

ADRES (H ó L) contendrán información desconocida después de un reset POWER-ON.

X = desconocido, u = sin cambios, - = sin implementar (se lee como “0”) . las celdas ensombrecidas

no se usan para la conversión A/D.

Nota (1): Estos registros no están disponibles en la versión de 28 pines.