Upload
universidad-de-tarapaca
View
3.436
Download
2
Embed Size (px)
Citation preview
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)
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.
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:
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)
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).
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.
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.