Sie sind auf Seite 1von 11

Grupo N°1 1

MÓDULO DE CONVERSIÓN ANÁLOGICA - DIGITAL


(ADC)
Introducción.-
Es un dispositivo electrónico capaz de convertir una señal analógica, ya sea de tensión o
corriente, en una señal digital mediante un cuantificador y codificándose en muchos casos
en un código binario en particular. Para realizar esa tarea, el conversor ADC (Analog-to-
Digital Converter - Conversor Analógico Digital) tiene que efectuar los siguientes
procesos:
1.- Muestreo de la señal analógica: el primer paso consiste en realizar un muestreo o lo
que es igual, tomar diferentes muestras de tensiones o voltajes en diferentes puntos de la
onda senoidal.

Fuente:
http://www.asifunciona.com/electronica/af_conv_ad/conv_ad_5.htm

2.- Cuantización de la propia señal: Este paso se da en el eje de las ordenadas, en el


cual, los valores continuos se convierten en series de valores discretos correspondientes
a los diferentes niveles o variaciones de voltajes que contiene la señal analógica original.

Fuente:
http://www.asifunciona.com/electronica/af_conv_ad/conv_ad_5.htm

3.- Codificación: los valores de las tomas de voltajes se representan numéricamente por
medio de códigos y estándares previamente establecidos. Para nuestro caso obviamente
será, codificar la señal digital en código numérico binario. La codificación permite
asignarle valores numéricos binarios a los valores de tensiones, que conforman la señal
analógica original.

Grupo N°1 2
Fuente:
http://www.asifunciona.com/electronica/af_conv_ad/conv_ad_5.htm

Descripción del Módulo de Conversión Analógico Digital (ADC):


El PIC16F877A, posee un módulo interno que le permite manejar 5 entradas analógicas
para los dispositivos de 28 pines y 8 para los otros dispositivos. A través de la misma se
aplica una señal analógica a un condensador de captura de nominado 𝐶𝐻𝑂𝐿𝐷 . Este módulo
está establecido con aproximaciones sucesivas que se explicaran luego, dando como
resultado una palabra de 10 bits.
A continuación se hará un análisis que explica el siguiente diagrama:

Fuente: Datasheet PIC16F877A pág 131.

 Multiplexor: El módulo ADC, puede realizar la conversión de una de las 8 entradas


analógicas 𝐴𝑁0 − 𝐴𝑁7, para su selección se procederá con la multiplexación, realizada
por el canal de Bits 𝐶𝐻𝑆2 − 𝐶𝐻𝑆0 , (estas entradas de selección corresponden a los bits 5 -
3 del registro de control 𝐴𝐷𝐶𝑂𝑁0), en donde se coloca el número binario del canal a
convertir.

 Voltajes de Referencia: Todo convertidor ADC requiere voltajes de referencia que


determinan el valor de mínima escala (VREF-) y el de plena escala (VREF+), de manera
que la conversión de un valor de voltaje analógico Vin en el rango de VREF- a VREF+
producirá un valor equivalente binario D en el rango de 0 a 2 n, donde n es la resolución
del convertidor (n=10).

Grupo N°1 3
 Bits 𝑷𝑪𝑭𝑮𝟑 − 𝑷𝑪𝑭𝑮𝟎: pertenecen al registro de control 𝐴𝐷𝐶𝑂𝑁1, configuran los canales
de entrada del convertidor A/D, es decir, estos bits son las entradas de selección del
multiplexor para la configuración de las entradas analógicas, entradas digitales y voltajes
de referencia.

Registros de control

El módulo de A/D tiene cuatro registros que son:

- 𝑨𝑫𝑹𝑬𝑺𝑯 : Parte alta del resultado de la conversión.


- 𝑨𝑫𝑹𝑬𝑺𝑳: Parte baja del resultado de la conversión.
- 𝑨𝑫𝑪𝑶𝑵𝟎: Registro de control 0.
- 𝑨𝑫𝑪𝑶𝑵𝟏: Registro de control 1.

1. 𝑨𝑫𝑪𝑶𝑵𝟎 (𝒅𝒊𝒓𝒆𝒄𝒄𝒊ó𝒏 𝟏𝑭𝒉):

Fuente: Datasheet PIC16F877A pág 128.

 Bit 7 y 6 (𝐴𝐷𝐶𝑆1 , 𝐴𝐷𝐶𝑆0 ): Bits de selección de reloj para el Módulo ADC, esto es entre
cuanto se fraccionará la frecuencia del oscilador utilizado para que se tenga un tiempo de
conversión adecuado, es decir, el tiempo que tardará el PIC para realizar la conversión.
Sin embargo, el conversor analógico digital pic cuenta con su propio oscilador formado
por un circuito 𝑅𝐶, que también puede ser elegido mediante estos bits, en la siguiente
tabla se tienen los fraccionamientos del oscilador de acuerdo a los valores que tomen estos
bits o si se quiere utilizar el oscilador interno del ADC:

Fuente: Datasheet PIC16F877A pág 128.

El oscilador 𝑅𝐶 interno del convertidor tiene un 𝑇𝐴𝐷 (𝑡𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑐𝑜𝑛𝑣𝑒𝑟𝑠𝑖ó𝑛 𝑝𝑜𝑟 𝐵𝑖𝑡),
típico de 4 [𝜇𝑠], este reloj es recomendable para la operación en modo Sleep.

RECUERDE: El módulo ADC no trabajará adecuadamente con un 𝑇𝐴𝐷 , mayor que el


mínimo establecido por el fabricante, el cual es de 1.6 [𝜇𝑠].

Por ejemplo si se usa un cristal de:


𝐹𝑂𝑆𝐶 = 4 [𝑀ℎ𝑧]

Grupo N°1 4
Y se elige la opción:

𝐴𝐷𝐶𝑂𝑁1 𝐴𝐷𝐶𝑂𝑁0
𝐴𝐷𝐶𝑆2 𝐴𝐷𝐶𝑆1 𝐴𝐷𝐶𝑆0 𝐹𝑂𝑆𝐶⁄
0 0 0 2

Entonces:
𝐹𝑂𝑆𝐶 = 2 [𝑀ℎ𝑧]
Lo que equivale:
𝑇 = 0.5[𝜇𝑠]

Es decir, no cumplimos con las condiciones establecidas por el fabricante. Esto producirá
un mal funcionamiento del módulo ADC.

Ahora sí:

𝐴𝐷𝐶𝑂𝑁1 𝐴𝐷𝐶𝑂𝑁0
𝐴𝐷𝐶𝑆2 𝐴𝐷𝐶𝑆1 𝐴𝐷𝐶𝑆0 𝐹𝑂𝑆𝐶⁄
0 0 1 8
Entonces:
𝐹𝑂𝑆𝐶 = 1⁄2 [𝑀ℎ𝑧]
Lo que equivale:
𝑇 = 2 [𝜇𝑠]

Con lo cual ya se ha logrado un tiempo de conversión que sobrepasa los 1.6 [𝜇𝑠], mínimos
que se necesita, por lo que en este caso se elegiría esta opción para el tiempo de conversión
por Bit 𝑇𝐴𝐷 , con la combinación de Bits explicada previamente.

 Bits 5, 4 y 3 (𝐶𝐻𝑆2 , 𝐶𝐻𝑆1 , 𝐶𝐻𝑆0 ): bit de selección del canal analógico (Los canales
analógicos a usar deberán tener sus bits TRIS correspondientes seleccionados como
entradas). El PIC16F877A cuenta con 8 entradas analógicas, 5 de las cuales están en el
puerto A, 3 en el puerto E. Los pines de las entradas analógicas
(𝐴𝑁0 , 𝐴𝑁1 , 𝐴𝑁2 , 𝐴𝑁3, 𝐴𝑁4 , 𝐴𝑁5, 𝐴𝑁6 , 𝐴𝑁7), se seleccionan de acuerdo a los valores como
se muestra en la siguiente tabla:

𝑪𝑯𝑺𝟐 𝑪𝑯𝑺𝟏 𝑪𝑯𝑺𝟎 Canal Análogo de selección 𝑨𝑵𝒏


0 0 0 Canal 0 𝐴𝑁0
0 0 1 Canal 1 𝐴𝑁1
0 1 0 Canal 2 𝐴𝑁2
0 1 1 Canal 3 𝐴 𝑁3
1 0 0 Canal 4 𝐴𝑁4
1 0 1 Canal 5 𝐴𝑁5
1 1 0 Canal 6 𝐴𝑁6
1 0 0 Canal 7 𝐴𝑁7

 Bit 2 𝐺𝑂/𝐷𝑂𝑁𝐸
̅̅̅̅̅̅̅̅ : Poniendo este bit en 1 se inicia la conversión del canal seleccionado.
Este bit permanece en 1 durante la conversión y es limpiado automáticamente por el
convertidor al terminar la conversión, es decir lo pone a cero.
1= La conversión ADC está en marcha (mientras está a 1 se está realizando la conversión).

Grupo N°1 5
0 = La conversión ha finalizado. (El bit se pone a cero automáticamente por hardware
cuando la conversión ADC finaliza) el resultado de la conversión aparece en
𝐴𝐷𝑅𝐸𝑆𝐻 𝑦 𝐴𝐷𝑅𝐸𝑆𝐿 .
 Bit 1: no es utilizado, se lee como cero.
 Bit 0 𝐴𝐷𝑂𝑁: bit de puesta en marcha.

1 = El convertidor ADC está operativo


0 = El convertidor ADC está apagado y no consume corriente.

Fuente: Datasheet PIC16F877A pág 129.

2. 𝑨𝑫𝑪𝑶𝑵𝟏 (𝒅𝒊𝒓𝒆𝒄𝒄𝒊ó𝒏 𝟗𝑭𝒉):

 Bit 7 𝐴𝐷𝐹𝑀 : Selecciona el formato del resultado de la conversión ADC.

𝐴𝐷𝐹𝑀 = 1 Pone en el registro 𝐴𝐷𝑅𝐸𝑆𝐻 (1𝐸ℎ), los seis bit de mayor peso a “0”
(Justificación a derecha).
𝐴𝐷𝐹𝑀 = 0 Pone en el registro 𝐴𝐴𝐷𝑅𝐸𝑆𝐿 (9𝐸ℎ), los seis bit de mayor peso a “0”
(Justificación a izquierda).

 Bit 6 𝐴𝐷𝐶𝑆2: junto con los bits 7 y 6 (𝐴𝐷𝐶𝑆1 , 𝐴𝐷𝐶𝑆0) del registro 𝐴𝐷𝐶𝑂𝑁 se utiliza para
obtener el tiempo de conversión adecuado del ADC, el que tiene que ser mayor a 1.6 [𝜇𝑠].
 Bits 5 y 4: no son utilizados, se leen como cero.
 Bits 3, 2, 1, 0 (𝑃𝐶𝐹𝐺3, 𝑃𝐶𝐹𝐺2 , 𝑃𝐶𝐹𝐺1 , 𝑃𝐶𝐹𝐺0): Seran utilizados, como entradas analógicas,
sin embargo, se puede elegir entre todas las entradas analógicas o solo algunas, también
si se quiere utilizar un voltaje de referencia (𝑉𝑅𝐸𝐹+ , 𝑉𝑅𝐸𝐹−, 𝑉𝐷𝐷+, 𝑉𝑆𝑆 ) diferente al que
trabaja el pic, para esto será necesario configurar los bits de acuerdo a la siguiente tabla:

Fuente: Datasheet PIC16F877A pág 130.

Grupo N°1 6
3. 𝑨𝑫𝑹𝑬𝑺𝑯 𝒚 𝑨𝑫𝑹𝑬𝑺𝑳:

En los registros 𝐴𝐷𝑅𝐸𝑆𝐻 y 𝐴𝐷𝑅𝐸𝑆𝐿 es en donde se guarda el número binario que


representa el valor de la señal analógica convertida. Hacen un total de 16 bits, pero el
número de la conversión solo está formado por 10 bits en este caso, por lo que 6 bits
no representan nada. Luego, mediante este bit 𝐴𝐷𝐹𝑀 se elige si los 10 bits donde se
guarda este número son los 10 más significativos o los 10 menos significativos.

Por ejemplo:

000000xxxxxxxxxx donde las x pueden ser 0 o 1, siendo este caso la justificación a


la derecha cuando el bit 7 𝐴𝐷𝐹𝑀 del registro 𝐴𝐷𝐶𝑂𝑁1 es 1.

xxxxxxxxxx000000 donde las x pueden ser 0 o 1, siendo este caso la justificación a


la izquierda cuando el bit 7 𝐴𝐷𝐹𝑀 del registro 𝐴𝐷𝐶𝑂𝑁1 es 0.

Gráficamente:

Fuente: Datasheet PIC16F877A pág 134.

Diagrama circuital del modelo análogo de entrada:


1. Adquisición A/D

Fuente: Datasheet PIC16F877A pág 132.

Grupo N°1 7
De la impedancia de la fuente 𝑅𝑆 , se toma una muestra a través del interruptor 𝑅𝑆𝑆 , por
tanto 𝑅𝑆 afecta directamente al tiempo de carga del capacitor 𝐶𝐻𝑂𝐿𝐷 . El fabricante ha
definido una impedancia de 10 [𝑘Ω], es decir, cuando disminuye dicha impedancia
también disminuye el tiempo de adquisición. Antes de realizar, la conversión debe
seleccionarse el canal de entrada analógica.
Según el fabricante el tiempo de adquisición 𝑇𝐴𝐶 se da por la siguiente ecuación:

𝑻𝑨𝑪 = 𝑇𝐸𝐴𝑀𝑃 + 𝐻𝐶𝐶𝑇 + 𝛿

Donde:
𝑇𝐴𝐶 : Tiempo de Adquisición.
𝑇𝐸𝐴𝑀𝑃 : Tiempo de Establecimiento del Amplificador.
𝐻𝐶𝐶𝑇 : Tiempo de carga del capacitor.
𝛿: Coeficiente de Temperatura.

2. Selección del reloj del convertidor A/D

Se define por TAD al tiempo de conversión por bit. El convertidor A/D requiere un mínimo
de 12 TAD para la conversión de los 10 bits, la señal de reloj para la conversión A/D se
selecciona por software mediante los bits ADCS1:ADCS0
Para realizar conversiones correctas el reloj del convertidor A/D debe seleccionarse para
asegurar un tiempo mínimo de TAD de 1,6 mS.
La tabla siguiente muestra los tiempos de T AD dependiendo de la señal de reloj
seleccionada para la conversión A/D:

3. Configuración de los pines del puerto analógico


Los registros ADCON1 y TRIS controlan la configuración de los pines del puerto del
convertidor A/D. Cuando se desea configurar una entrada como analógica, debe
configurarse como entrada los bits correspondientes del registro TRIS. Si el bit del TRIS
correspondiente se pone a cero (salida), el valor digital de la salida se convertirá.
4. Conversiones A/D
Si se pone a cero el bit GO/#DONE durante la conversión, se aborta la conversión actual.
El par de registros no se modificarán parcialmente con los bits que se hayan completado
hasta el momento. Es decir, los registros ADRESH: ADRESL seguirán conteniendo el
valor de la última conversión completa (o el último valor que se haya escrito en
ADRESH: ADRESL) después de abortar la conversión A/D, es requerido el TAD de
espera para realizar la próxima adquisición comience. Después de 2 TAD de espera, la
adquisición en cauce se comienza automáticamente.
En la siguiente figura se presenta los ciclos TAD del convertidor A/D. Después de poner
el bit GO a uno, la primera vez el segmento tiene un TCY mínimo y un TAD máximo.

Grupo N°1 8
5. Funcionamiento del convertidor A/D en el modo sleep

El módulo del convertidor A/D puede trabajar durante el modo Sleep. Para ello se debe
poner como fuente de reloj el modo RC (ADCS1.ADCS0 = 1l). Cuando la fuente de
reloj es el RC interno, el módulo A/D espera un ciclo de máquina antes de empezar la
conversión. Esto permite eliminar el ruido de la conversión digital, Cuando la
conversión finaliza el bit GO/#DONE se pone a cero y el resultado se carga en, la
pareja de registros ADRESH: ADRESL. Si la interrupción por final de conversión A/D
está habilitada, el dispositivo se despierta. Si la interrupción no está habilitada, el
módulo A/D se apagará aunque el bit ADON (ADCON0 <0>) permanezca a uno.

6. Efectos del Reset


Cuando se fuerza un Reset se reestablecen todos los registros, esto obliga a apagar el
convertidor A/D y se aborta cualquier conversión en curso. El valor de los registros
ADRESH: ADRESL no es modificado por un Power-on Reset.

7. Registros asociados al convertidor A/D

RECUERDE:
- El condensador de carga 𝐶𝐻𝑂𝐿𝐷 no se descarga después de cada conversión.
- El voltaje de referencia no tiene efecto en la ecuación ya que se cancela.
- La impedancia máxima recomendada para fuentes analógicas es de 2.5 [𝑘Ω], esto es
requerido para conocer el pin específico de fuga o pérdida.
- Cuando se ejecuta un Reset se reestablecerán todos los registros, esto obliga a apagar
el convertidor ADC y por tanto, abortar cualquier ejecución en curso.

Grupo N°1 9
- El módulo ADC tiene como característica especial el ser capaz de seguir en
funcionamiento mientras el dispositivo se encuentra en modo 𝑆𝑙𝑒𝑒𝑝.

Parámetros del Módulo de Conversión


A continuación se dan a conocer las especificaciones más importantes de modulo A/D,
los valores mínimos y máximos de este:

Fuente: http://microcontroladores-mrelberni.com/analogico-digital-pic/

Para el proceso de conversión analógico digital PIC sin tomar en cuenta la interrupción
que este puede producir, el fabricante recomienda que se sigan una serie de pasos los
cuales son:

1. Configurar que pines serán utilizados como entradas analógicas, si se quiere una
tensión de referencia (𝑉𝑅𝐸𝐹+ , 𝑉𝑅𝐸𝐹−, 𝑉𝐷𝐷+ , 𝑉𝑆𝑆 ), diferente a la tensión de trabajo del PIC,
lo cual como se ha comentado líneas arriba se hace con los bits 3, 2, 1 y 0
(𝑃𝐶𝐹𝐺3, 𝑃𝐶𝐹𝐺2 , 𝑃𝐶𝐹𝐺1, 𝑃𝐶𝐹𝐺0) del registro 𝐴𝐷𝐶𝑂𝑁1.

2. Elegir cual será el reloj a utilizar para obtener el tiempo de conversión adecuado, que
tendrá que ser mayor a 1.6 [𝜇𝑠]. Esto se logra mediante los bits 7 y 6 (𝐴𝐷𝐶𝑆1 , 𝐴𝐷𝐶𝑆0) del
registro 𝐴𝐷𝐶𝑂𝑁0 junto con el bit 6 (𝐴𝐷𝐶𝑆2) del registro 𝐴𝐷𝐶𝑂𝑁1.

3. Seleccionar cual será la entrada analógica a leerse, lo cual se hace mediante los bits 5,
4 y 3 (𝐶𝐻𝑆2 , 𝐶𝐻𝑆1 , 𝐶𝐻𝑆0 ) del registro 𝐴𝐷𝐶𝑂𝑁0.

4. Activar el conversor analógico digital PIC poniendo a 1 el bit 0 (𝐴𝐷𝑂𝑁 ) del registro
𝐴𝐷𝐶𝑂𝑁0.

5. Esperar el tiempo de adquisición (𝑇𝐴𝐷 ) necesario para que el condensador del módulo
conversor analógico digital PIC se cargue en forma adecuada, al tiempo calculado
previamente de 20 [𝜇𝑠].

̅̅̅̅̅̅̅̅ ) del registro 𝐴𝐷𝐶𝑂𝑁0 para que comience la conversión


6. Poner a 1 el bit 2 (𝐺𝑂/𝐷𝑂𝑁𝐸
de la tensión almacenada en el condensador (𝐶𝐻𝑂𝐿𝐷 ) del conversor analógico digital PIC
y se guarde este valor en forma binaria en los registros 𝐴𝐷𝑅𝐸𝑆𝐻 𝑦 𝐴𝐷𝑅𝐸𝑆𝐿 .

7. Esperar a que la conversión analógica digital termine mediante la lectura del bit 2
̅̅̅̅̅̅̅̅ ) del registro 𝐴𝐷𝐶𝑂𝑁0, la conversión habrá terminado cuando el valor de este
(𝐺𝑂/𝐷𝑂𝑁𝐸
bit se ponga a 0.

Grupo N°1 10
8. Leer los registros 𝐴𝐷𝑅𝐸𝑆𝐻 𝑦 𝐴𝐷𝑅𝐸𝑆𝐿 , ya que es donde se ha guardado el número binario
que representa el valor de la señal analógica.

Nota: si se requiere hacer otra lectura se empezará a partir del paso 3.

BIBLIOGRAFIA
 Valdes F.,Pallás R., MICROCONTROLADORES Fundamentos y aplicaciones
con PIC, Marcombo, España, 2007
 Datasheet PIC 16F877A

Grupo N°1 11

Das könnte Ihnen auch gefallen