Вы находитесь на странице: 1из 40

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

CONVERSIN ANALGICA DIGITAL Y DIGITAL ANALGICA


1. INTRODUCCIN
El desarrollo de los microprocesadores, microcontroladores y procesadores digitales de
seal (DSP), han permitido realizar tareas que durante aos fueron hechas por sistemas
electrnicos analgicos. Por otro lado, como el mundo real es anlogo, una forma de enlazar
las variables analgicas con los procesos digitales es a travs de los sistemas llamados
conversores de analgico digital (ADC Analogue to Digital Converter) y conversores
digital analgico (DAC Digital to Analoque Converter).
Un conversor, (o convertidor) de seal analgica a digital (ADC), es un dispositivo
electrnico capaz de convertir una seal analgica de voltaje en una seal digital con un
valor binario. La seal analgica, que vara de forma continua en el tiempo, se conecta a la
entrada del dispositivo y se somete a un muestreo a una velocidad fija, obtenindose as
una seal digital a la salida del mismo.
En el conversor digital-analgico (DAC) se parte de muestras en formato digital (valores
discretos), y stas se deben convertir en una seal analgica (valores continuos). El
conversor D/A asocia a cada valor binario un nivel de tensin previamente establecido, y
genera muestras de tensin utilizando dichos niveles, aplicando un intervalo de tiempo
constante entre muestras.

2. CARACTERSTICAS DE UN CONVERSOR DIGITAL A ANALGICO DAC


2.1. Resolucin
En la figura 1 se muestra el smbolo del circuito del DAC de 4 bits, as como sus
caractersticas de entrada-salida. Hay cuatro entradas digitales, lo que indica que se trata
de una DAC de 4 bits. Por cada entrada digital se requiere una seal elctrica que represente
ya sea un 1 lgico o un 0 lgico. 0 es el bit menos significativo (least significant bit, LSB).
3 es el bit ms significativo (most significant bit, MSB). En la figura 1(b), se grafica el voltaje
de salida analgico en funcin de 16 posibles palabras de entrada digitales. Tambin se
muestra el valor de correspondiente a diversas palabras digitales.

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

FIGURA 1: (a) Smbolo de circuito y (b) caractersticas de entrada-salida.

La resolucin se define de dos maneras:


1. La resolucin en la cantidad de valores de salida analgicos que se puede obtener
con un DAC. En el caso de un DAC de n bits:
= 2
(1)
2. Tambin se define la resolucin como la relacin del cambio de voltaje en la salida
que se produce como consecuencia de un cambio 1 LSB en las entradas digitales.
Para calcular la resolucin de acuerdo con esta ltima definicin, se necesita contar con dos
tipos de informacin que pueden obtenerse en hojas de informacin: el voltaje de salida a
escala total, , y la cantidad de entradas digitales, n. Se define a como el voltaje
que se obtiene cuando todas las entradas digitales son 1. Por tanto, la resolucin es:

= 21

(2)

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

En la figura 1 (b) hay n = 4 entradas digitales. Por lo tanto, tendr 24 = 16 valores de


salida, del 0 al 15. Observe que = 15 cuando la palabra de entrada digital es 1111.
El valor decimal del numero binario 1111 es (24 1) = 16 1 = 15. Por lo tanto, la
resolucin es igual a 15 V/15 = 1 V/ LSB.
Ejemplo 1
Un DAC de 8 bits tiene un rango de voltaje de salida de 0-2.55 V. Defina de dos
maneras su resolucin.
Solucin: (a) De la ecuacin (1):
: 2 = 28 = 256
El voltaje de salida puede tener 256 valores distintos (incluido el cero).
=

2,55
2.55
10
=
=
=
23 1
28 1
255
1

2.2. Ecuacin de entrada-salida


En el caso de un DAC, mediante una funcin de transferencia o ecuacin de entrada-salida
se da respuesta a la pregunta: en qu medida se modifica el voltaje de salida analgico
como respuesta un cambio en una palabra digital de entrada? Para obtener esta ecuacin
se multiplica la resolucin por el cambio que se produce en los LSB. Expresado lo anterior
en forma de ecuacin:
=

(3)

En la que es el voltaje de salida analgico, la resolucin esta expresada en la ecuacin (2)


y D es el valor decimal de la entrada digital.
Ejemplo 2
Suponga que la palabra de entrada digital de una DAC de 4 bits cambia de 0000 a
0110. Calcule el voltaje de salida final del DAC.
Solucin: El valor decimal de 0110 es 6. Este valor representa a D, la palabra de
entrada digital. De la explicacin anterior, cuando = 4, = 15 . Aplicando
la ecuacin (2) se obtiene:
=

15

=1
1

24

Utilizando ahora la ecuacin (3), se obtiene:


= (1 / ) 6 = 6
3

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Ejemplo 3
Un DAC de 8 bits tiene una resolucin de 10 mV/LSB. Calcule: a) ; b) . En
ambos casos el cdigo de entrada es de 10000000.
Solucin: (a) se presenta cuando la palabra digital es 11111111. El numero
11111111 tiene un valor decimal de 255. Por lo tanto, D = 255 y aplicando la
ecuacin (3) se obtiene:
= =

10
225 = 2.55

(b) El valor decimal equivalente a 10000000 es 128. Por lo tanto D = 128 y


= =

10
128 = 1.28

3. CARACTERSTICAS DE UN CONVERSOR ANALGICO A DIGITAL ADC


3.1. Ecuacin de entrada-salida
En la figura 2 (b) se grafica la salida digital de un ADC ideal de 4 bits en funcin de un voltaje
de entrada analgico. Al igual que en el caso de los DAC, la resolucin de un ADC se define
de dos maneras. Primera: la resolucin es la cantidad mxima de cdigos digitales de salida.
Esta manera de definir la resolucin del ADC es similar a la del DAC y a continuacin se
repite:
= 2

(4)

La resolucin tambin se define como la relacin del cambio necesario en el valor del voltaje
de entrada, , para producir un cambio en la salida digital de 1 LSB. Si se conoce el valor
del voltaje de entrada a escala total, , necesario para producir una salida digital en la
que todos los dgitos sean 1, la resolucin se calcula de la siguiente manera:
=

2 1

(5)

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

FIGURA 2: Smbolo de circuito y caractersticas de entrada-salida de un DAC de 4 bits.

La expresin ms sencilla de la ecuacin de entrada-salida de una ADC es la siguiente:


Cdigo de salida digital = equivalente binario de D

(6)

En la cual D es el valor decimal de la salida digital; o bien, D es igual a la cantidad de bits


presentes en la salida digital; D se calcula mediante la expresin:
=

(7)

Por ejemplo, observe la figura 2(b), en la cual en la cual = 4 y = 15 . La resolucin


= 15 /(24 1) = 1/. Si = 5V entonces D=5V/(1 V/LSB) = 5 LSB. El cdigo digital de
D= 5 es 0101.

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Ejemplo 4
La salida de un ADC de 8 bits est formada totalmente por unos cuando = 2.55 V.
Calcule: (a) su resolucin; (b) su salida digital. En ambos casos, = 1.28 V
Solucin: (a) De la ecuacin (4)
= 28 = 256
Y de la ecuacin (5):
=

2.55
10
=
8
2 1

(b) De la ecuacin (7):


1.28
= 128
10 /
De la ecuacin (6):
cdigo de salida digital = equivalente binario de 128 = 10000000

3.2. Error de cuantizacin o conversin


En la figura 2 (b) se puede observar que la salida binaria es 0101 para todos aquellos valores
de que estn entre 4.5 y 5.5 V. Es inevitable que haya incertidumbre sobre el valor exacto
de cuando la salida es de 0101. A esta incertidumbre se la conoce como error de
cuantizacin. Tiene un valor de 1/2LSB. Se logra una mejor resolucin aumentando la
cantidad de bits, con lo que el error de cuantizacin disminuye.

Ejemplo 5
Cunto vale el error de cuantizacin del ADC del ejemplo 4?
Solucin: En el ejemplo 4 se calcul el valor de la resolucin como 10 mV por LSB. El
error de cuantizacin es de 1/2LSB o 5 mV.

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

4. PROCEDIMIENTO PARA LA CONVERSIN DIGITAL A ANALGICA

4.1. Diagrama de bloques


En la figura 3 se muestra el diagrama de bloques de un DAC de tipo resistivo. El voltaje de
referencia, , se conecta a una red de resistencia. Mediante un cdigo digital de entra, el
cual pasa por un circuito de control, se accionan interruptores (uno por cada bit) conectados
a la red de resistencias. La salida, tanto en corriente como en voltaje, es una de las
representaciones analgicas del cdigo de entrada digital.

FIGURA 3: Diagrama a bloques y smbolo del circuito de un DAC bsico.

La autntica conversin digital-analgica se lleva a cabo en la red de resistencias. Por ello,


se empezar el estudio de los circuitos de un DAC por la red de resistencias estndar, al cual
se le conoce como red de escalera R-2R.
4.2. Red de escalera R-2R
Una red de escalera R-2R o tambin llamada escalera de resistencias (ver figura 4.a) es un
circuito electrnico formado por resistencias alternando dos valores posibles, donde un
valor debe ser el doble del otro. Los convertidores digital analgico (DAC) diseados
mediante una red de escalera R-2R hacen uso de la configuracin de las resistencias para
generar una seal analgica a partir de los datos digitales que se presenten en sus entradas.
7

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Varias configuraciones son posibles, pero en este documento slo se estudiar una red
escalera R-2R con salida de voltaje.
Para simplificar el anlisis y explicacin del funcionamiento de un red de escalera R-2R
considere el DAC de 3 bits mostrado en la figura 4.a. El circuito consta de una red de
interruptores (0 , 1 3 ), una referencia estable de tensin ( ) y la red de escalera R2R de precisin. La salida ( ) se conecta a un circuito aislador (amplificador operacional)
que permite conectarlo sin carga a la siguiente etapa. El valor de puede variar bajo el
rango mximo de voltaje del amplificador. El valor tpico de R est en el rango de 2.5 a
10 .

Figura 4: Circuito de un DAC de 3 bits (a) Red de escalera R-2R con posicin de los interruptores en
100 (b) Circuito equivalente de a (c) Circuito equivalente de b.
8

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Segn se observa en la figura 4.a., la posicin de los interruptores 0 , 1 3 corresponden


al cdigo binario 100 (D=4). El circuito puede ser simplificado a la forma equivalente
mostrada en la figura 4.b. El anlisis de la escalera se realiza evaluando los equivalentes de
Thevenin en el circuito; por ejemplo, se ha tomado en consideracin todos los elementos
que se encuentran al lado izquierdo del nodo B incluido la resistencia a tierra en ese nodo
(2R) y se obtiene el circuito mostrado en la figura 5. Se empieza a simplificar la resistencias
desde el lado ms izquierdo obteniendo el paralelo de 2R||2R=R que se repite en todo el
recorrido hasta llegar al nodo B. Desde cualquiera de los puntos A y B la resistencia
equivalente resulta ser R.

Figura 5. Reduccin del circuito utilizando equivalente Thevenin.

Siguiendo el mismo procedimiento explicado anteriormente se llega al nodo C y al final se


obtiene el circuito equivalente mostrado en la figura 4.c., excluyendo al amplificador
operacional. Entonces, el voltaje en el nodo C puede ser fcilmente calculado por el
procedimiento de anlisis conjunto de redes como
=

2
(3 )
2
2 + 3

(8)

El voltaje de salida del amplificador se obtiene entonces mediante


=

= 2 (
) = (
) = (
)4

4
2
8

(9)

Una nueva posicin de los interruptores del DAC de 3 bits se muestra en la figura 6.a., que
corresponden al cdigo binario 001 (D=1). El circuito puede ser simplificado a la forma
equivalente mostrada en la figura 6.b. Los voltajes de los nodos (A, B, C) formados por las
ramas de resistencias pueden ser fcilmente calculados de una manera similar y la salida de
voltaje se convierte en
=

= 2 (
) = (
) = (
)1

16
8
8

(10)

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Figura 6: Circuito de un DAC de 3 bits (a) Red de escalera R-2R con posicin
de los interruptores en 001 (b) Circuito equivalente de a.

De una manera similar, se pueden calcular las restantes salidas de voltaje para un DAC de 3
bits ingresando todas las posibles combinaciones binarias. En forma general y en trminos
del circuito real, la salida de voltaje para cualquier DAC est dada por

= ( )
2

(11)

Donde D es igual al valor decimal de la entrada digital y la resolucin del DAC est dada por
=

10

(12)

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Ejemplo 6
Las resistencias que forman parte de la red de escalera R-2R de un DAC de 4 bits tienen
valores de R = 10 k y de 2R = 20 k. vale 10 V. Calcular: (a) la resolucin de la
escalera; (b) su ecuacin de entrada-salida; (c) correspondiente a una entrada digital
dc 1111.
Solucin: (a) De la ecuacin (12):
=

10
= 4 = 0.625
2
2

(b) Aplicando la ecuacin (11) se obtiene:


= 0.625
(c) El valor decimal correspondiente al nmero binario 1111 es 15; por lo tanto, D = 15
= 0.625 15 = 9.375

4. PROCEDIMIENTO PARA LA CONVERSIN ANALGICA A DIGITAL


4.1. EL ADC de aproximaciones sucesivas.
En la figura 7 se muestra el diagrama a bloques de un ADC de aproximaciones sucesivas.
Consta de un DAC, un comparador y un registro de aproximaciones sucesivas (RAS). Se
necesita una terminal para voltaje de entrada analgica . La salida digital se obtiene
tanto en serie como en paralelo. Se necesita como mnimo tres terminales de control. Con
inicio de conversin se empieza la secuencia de la conservacin A/D y con fin de conversin
se indica cuando termina la conversin. Mediante una terminal de reloj externo se fija el
tiempo necesario para llevar a cabo cada conversin.
El convertidor de aproximaciones sucesivas se utiliza en aplicaciones donde se necesitan
altas velocidades de conversin. Se basa en realizar sucesivas comparaciones de forma
ascendente o descendente hasta encontrar un valor digital que iguale la tensin entregada
por el conversor D/A y la tensin de entrada.

11

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

FIGURA 7: Diagrama a bloques de un ADC de aproximaciones sucesivas de 3 bits.

4.2. Funcionamiento del circuito


Mediante un comando de inicio de conversin comienza el ciclo de conversin de analgico
al digital. El registro de aproximacin sucesiva (RAS) conecta una secuencia de nmeros
digitales, un nmero por cada bit, en las entradas de un DAC. Este procedimiento ya se
explic en la seccin 4.
El DAC convierte el nmero digital en una salida analgica . El voltaje de entrada
analgico, , Se compara con a travs de un comparador. El comparador informa al
registro de aproximaciones sucesivas si es mayor o igual que la salida del DAC, , y
ejecuta una comparacin por cada uno delos bits. En el caso de una salida de 3 bits, se hacen
tres comparaciones.
La comparacin empieza por el MSB y finaliza con el LSB, como se explicar. Al final de la
comparacin del LSB, el registro de aproximaciones sucesivas enva una seal que indica el
trmino de la conversin. El equivalente digital de se encuentran ahora en la salida
digital del registro de aproximaciones sucesivas.

4.3. Analoga de las aproximaciones sucesivas


Suponga que se cuenta con un DAC de 3 bits (que forma parte del ADC) cuya resolucin es
igual 1 V/LSB. Ahora se requiere convertir = 6.5 en una salida digital. La explicacin
de la lgica de control y comparacin que realiza el registro de aproximaciones sucesivas
(RAS) para realizar esta conversin se muestra en la figura 8. En este esquema el RAS aplica
el valor MSB de 100 al DAC mediante un pulso de reloj. Su salida, = 4 , se compara con
el valor de . El MSB (2 ) se define como 1 si > , caso contratio 2 = 0.
12

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Como se ha cumplido la primera condicin, el registro de aproximaciones sucesivas aplica


ahora un valor 110 (6 LSB) al DAC, donde 1 se define como 1 dado que = 6.5 y por
tanto es mayor que = 6 . Finalmente, el RAS aplica un valor 111 al DAC, dado que
= 6.5 es menor que el valor de = 7, 0 se vuelve cero.

Figura 8: Explicacin del funcionamiento del registro de aproximaciones sucesivas.


Las lneas gruesas representan la conversin correspondiente a = 6.5 .

13

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

4.4. Tiempo de conversin


En le figura 8 se indica que es necesario un pulso de reloj para que el registro de
aproximaciones sucesivas compare cada bit. Pero tambin se necesita un pulso de reloj
adicional para reiniciarlo antes de llevar a cabo una conversin. El tiempo necesario para
una conversin analgica-digital debe estar en funcin del periodo del reloj y de la
cantidad de bits . La relacin que guarda entre s es:
= ( + 1)

(13)

Segn la ecuacin 13 el tiempo de conversin ser tato ms largo cuanto mayor sea ,
si se mantiene la entrada de reloj constante.

Ejemplo 7
Mediante un reloj de 1 MHz se excita un ADC de aproximaciones sucesivas de 8 bits.
Calcule su tiempo de conversin.
Solucin: El tiempo correspondiente a un pulso de reloj es 1 s. De la ecuacin (13):
= 1(8 + 1) = 9

5. AMPLIFICADOR DE MUESTREO Y RETENCIN (SHA)


El muestreo ideal de una seal consiste en tomar su valor instantneo en un instante
especfico. En la prctica, tomar una muestra de tensin lleva un tiempo finito, que debe
ser suficientemente breve para que la incertidumbre en el valor de la tensin muestreada
sea imperceptible para el conversor A/D. El valor mximo permitido para el tiempo de
muestreo es tanto ms breve cuantos mayores sean la pendiente de la seal muestreada y
el nmero de bits del conversor A/D.
Si el ADC tuviera que digitalizar (cuantificar y codificar) la entrada en un tiempo tan breve
como el permitido para el muestreo, la resolucin posible sera muy pobre. Por esto, al ADC
le precede un amplificador de muestreo y retencin (sample and hold amplifier, SHA) o
tambin conocido como amplificador seguidor y retenedor, cuya estructura funcional se
muestra en la figura 9. Se puede describir como un interruptor de alta velocidad que se
cierra para cargar un condensador de retencin ( ) al valor de la tensin de entrada ( ),
precedido de un amplificador seguidor, para ofrecer alta impedancia de entrada, y con un
seguidor de salida, para no descargar el condensador mientras dure la conversin. El
amplificador de salida se conecta entre una seal de entrada analgica ( ), y la entrada
14

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

del ADC. Los convertidores que integran un amplificador de muestreo y retencin se


denominan, en ingls, sampling converters.

Figura 9: Estructura funcional de un amplificador de muestreo y retencin. En los SHA


integrados en microcontroladores no suele haber ninguno de los dos seguidores de tensin.

Cuando el SHA est en la fase de muestreo, idealmente debera comportarse como un


amplificador de ganancia unidad. Cuando est en la fase de retencin, la tensin en los
bornes del condensador debera mantenerse constante; sin embargo, la corrientes de
entrada del amplificador de salida y las corrientes de fuga del interruptor y del propio
condensador, lo van descargando lentamente.
En la transicin de retencin a muestreo, el condensador tarda un cierto tiempo en cargarse
al valor de la retencin de entrada, denominado tiempo de adquisicin. Este tiempo ser
tanto ms breve cuanto menor sea el valor de , por lo que hay un compromiso entre el
tiempo de adquisicin y la velocidad de descarga. Si el tiempo de conversin del ADC es
suficientemente breve, este compromiso se puede resolver utilizando el llamado modo de
seguimiento y retencin (tranck and hold): en lugar de tomar una muestra rpidamente y
retener su valor durante un tiempo relativamente largo, se cierra un interruptor durante un
tiempo largo que permite al condensador cargarse y seguir la fluctuaciones de la tensin de
entrada, en un instante dado, se abre el interruptor y se digitaliza la tensin del
condensador durante un tiempo relativamente breve.
El tiempo que se tarda el interruptor en abrirse desde que se da la orden hasta que la
tensin en el condensador se desconecta de la entrada, se denomina tiempo de apertura
y conlleva una incertidumbre en el instante en el que se toma realmente la muestra, porque
no es un tiempo constante si no sujeto a fluctuaciones errticas (y breves). El valor de las
incertidumbres del tiempo de apertura de los amplificadores SHA comerciales es inferior a
50 ns.

15

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

6. MDULO DE CONVERSIN A/D EN LOS MICROCONTROLADORES PIC

6.1. Arquitectura del mdulo de conversin A/D


Los microcontroladores PIC de Microchip pueden incorporar un mdulo de conversin de
seal analgica a seal digital. Los PICs de gama media tienen convertidores A/D de
aproximaciones sucesivas, normalmente de 10 bits. Para el estudio de estos conversores se
va a tomar como referencia el PIC16F877A cuya estructura interna simplificada se muestra
en la figura 10. Los componentes principales de este mdulo son:

Multiplexor analgico de 8 canales de entrada.


Amplificador de muestreo y retencin SHA (sin seguidor de entrada ni salida).
Convertidor A/D de aproximaciones sucesivas, de 10 bits.
Registros para controlar el modulo (ADCON0 y ADCON1) y para almacenar el
resultado de conversin A/D (ADRESH y ADRESL)

Figura 10: Arquitectura del mdulo conversor A/D del PIC16F877A.

El nmero de entradas analgicas o canales depende del PIC en particular. Para el


PIC16F877A se tiene 8 entradas analgicas, disponibles en los terminales del puerto
paralelo A (RA0/AN0, RA1/AN1, RA2/AN2/VREF-, RA3/AN3/VREF+ y RA5/AN4) y los tres
terminales de puerto E para las entradas analgicas AN5, AN6 y AN7. La seleccin de canal
se realiza con los bits CHS2:CHS0 del registro ADCON0, segn se muestra en la tabla 1.
16

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

CHS2:CHS0

CANAL

000

Canal 0, (RA0/AN0)

001

Canal 1, (RA1/AN1)

010

Canal 2, (RA2/AN2)

011

Canal 3, (RA3/AN3)

100

Canal 4, (RA5/AN4)

101

Canal 5, (RE0/AN5)

110

Canal 6, (RE1/AN6)

111

Canal 7, (RE2/AN7)

Tabla 1: Bits de seleccin del canal

El amplificador de muestreo y retencin SHA est compuesto bsicamente por un


condensador (sin amplificadores de entrada ni salida), que empieza a cargarse en cuanto se
selecciona en el multiplexor el canal deseado. La tensin en el condensador sigue la
evolucin de la tensin de entrada (modo track and hold), y cuando se da una orden el
condensador se desconecta de la entrada analgica y empieza la conversin
El resultado de una conversin A/D se deposita en los registros ADRESH y ADRESL. Dentro
del espacio de 16 bits conformado por este par de registros, los 10 bits resultantes de una
conversin se pueden depositar justificados a la izquierda o a la derecha segn el estado
del bit ADFM del registro ADCON1, tal y como muestra la figura 10. Si el bit ADFM = 0 el
resultado queda justificado a la izquierda, por lo que en ADRESH quedan los 8 bits ms
significativos de la conversin y los 6 bits menos significativos de ADRESL son ledos como
'0', caso contrario si ADFM = 1 el resultado queda justificado a la derecha, con los 8 bits
menos significativos en ADRESL y los 6 bits ms significativos de ADRESH son ledos como
'0'.
La tensin de referencia para la conversin A/D puede ser la tensin de alimentacin del
microcontrolador ( ) o una tensin externa que se aplique entre los terminales
AN3/VREF+ y AN2/VREF-. La seleccin se hace por software, con bits PCFG3:PCFG0 del
registro ADCON1. Entonces la resolucin de este ADC viene dada por
=

+ +
=
=

2 1
210 1
1024

(14)

En el caso de que + = = 5 y = = 0 entonces la resolucin es:


=

5 0
= 4.8 /
1024

17

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

de esta forma si la lectura hecha por el microcontrolador es de D = 512 LSB (valor decimal
de la salida digital del ADC), la tensin analgica leda es:
= = 4.8

512 = 2.4576

Las tensiones a convertir siempre son positivas.


Como ya se mencion los bits PCFG3:PCFG0 configuran los terminales del microcontrolador
utilizados por el mdulo de conversin A/D como entradas analgicas del mdulo o como
terminales digitales de los puertos paralelos correspondientes. A modo de ejemplo, la tabla
3 muestra los valores que toman los bits en un PIC16F877A.

Tabla 2. Asignacin de funciones a los terminales de la entrada del puerto A y E en un


PIC16F877A mediante los bits PCFG3:PCFG0 del registro ADCON1. A: entrada analgica,
D: E/S digital, C/R: nmero de canales/nmero de voltajes de referencia.

Despus de un reset, los bits PCFG3:PCFG0 quedan en el valor 0, por lo que los terminales
del puerto A y E estn asignados al mdulo de conversin A/D y la tensin de referencia se
toma de la alimentacin de microcontrolador. Para asignar como digitales los terminales de
estos puertos, hay que programar la opcin correspondiente en el registro ADCON1.
Las conversiones A/D se realizan en sincronismo con una seal de reloj. Este reloj se obtiene
o bien del oscilador principal del microcontrolador ( ) mediante un divisor programable,
o bien de un oscilador RC interno de frecuencia de fija ( , entre 167 kHz a 500 kHz), no
representado en la figura 10. Con los bits ADCS1y ADCS0 del registro ADCON0 junto con el
18

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

bit ADCS2 del registro ADCON1 se selecciona la fuente del reloj y se programa el divisor de
frecuencia si la fuente es el oscilador principal del microcontrolador. Para que el ADC
funcione mientras el microcontrolador est en modo de bajo consumo (sleep), hay que
seleccionar el oscilador RC interno. En el tabla 3 se presentan las posibles configuraciones
para la seleccin de la seal de reloj.
ADCON1
ADCS2

ADCON0
ADCS1:ADCS0

FRECUENCIA DEL RELOJ

00

/2

01

/8

10

/32

11

00

/4

01

/16

10

/64

11

Tabla 3: Seleccin de la frecuencia del reloj para la conversin A/D.

Para iniciar una conversin A/D hay que activar el bit del control GO. Cuando ha terminado
. En realidad, GO y
estn realizados
la conversin, se activa el bit del estado
del registro ADCON0 (figura 10). El programador debe
en un mismo bit: el bit /
poner a 1 ese bit para iniciar una conversin A/D y cuando este bit toma el valor de 0, el
resultado de la conversin est disponible en ADRESH y ADRESL. Cuando finaliza una
conversin A/D, se activa tambin el bit ADIF del registro PIR para solicitar interrupcin. Si
el bit ADIE del registro PIE est activo y el sistema de interrupcin del microcontrolador est
habilitado (el bit GIE del registro INTON es 1), la solicitud de interrupcin se hace efectiva.

Resumen

Mediante los registros de funciones especiales ADCON0 y ADCON1 en un


PIC16F877A, se controla la operacin del mdulo de conversin A/D.

En canal de la entrada analgica se selecciona con los bits CHS2, CHS1 y CHS0 del
registro ADCON0 (ver tabla 1).

Los bits PCFG3:PCFG0 del registro ADCON1 permiten configurar los terminales del
microcontrolador utilizados por el mdulo de conversin A/D como entradas
analgicas del mdulo o como terminales digitales de los puertos paralelos A y E (ver
tabla 2)
19

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

En el registro ADCON0 el par de bits ADCS1:ADCS0 y en el registro ADCON1 el bit


ADCS2, permiten seleccionar la fuente del reloj del convertidor A/D y su frecuencia,
segn la tabla 3.

es el bit de control/estado para iniciar una conversin A/D y conocer si


/
ha finalizado.

El bit ADON = 1 habilita el funcionamiento del mdulo de conversin A/D del


microcontrolador.

En el registro ADCON1, el bit ADFM determina la justificacin (a la derecha o a la


izquierda) del resultado de la conversin A/D en los registros ADRESH y ADRESL.

6.2. Tiempos de una conversin A/D


La digitalizacin de una seal analgica se realiza en dos etapas sucesivas: el muestreo y
retencin, que tiene lugar en el circuito de igual nombre, y la conversin A/D. Cada una de
estas etapas de estas dura un tiempo determinado.
En los PIC de la gama media, el condensador de retencin es de 120 pF y el tiempo que
demora su carga con respecto a la tensin de entrada es el tiempo de adquisicin ( ).
Una vez transcurrido ese tiempo puede comenzar la conversin en el convertidor A/D de
10 bits, que dura un tiempo (tiempo de conversin). La figura 11 muestra esos
tiempos.

Figura 11: Tiempos relacionados con la digitalizacin de una seal analgica en el


mdulo de conversin A/D. : tiempo de adquisicin, : tiempo de conversin
de un bit en el convertidor A/D, : tiempo de conversin A/D de un dato, :
tiempo de digitalizacin.

Segn el fabricante, el tiempo de adquisicin en los PIC de gama media est entre 10 s y
20 s, es decir,
10s 20s
20

(15)

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

La falta del seguidor de tensin de entrada mostrado en la figura 9 hace que dependa
mucho de la resistencia de la salida ( ) de la fuente de tensin de entrada. El fabricante de
los PIC recomienda que sea siempre menor que 10 k. Si = 10 , resulta que
= 20 , y para = 50 se obtiene = 10 .
En el convertidor A/D de 10 bits de los PIC de gama media, segn el fabricante, el tiempo
de conversin de un dato de 10 bits es 11.5 veces el tiempo de conversin de un bit:
= 11.5

(16)

Donde es el tiempo de conversin de un bit (ver figura 12).

Figura 12: Ciclos de conversin del ADC.

Para la operacin correcta del convertidor A/D, el fabricante recomienda:


> 1.6

(17)

Para = 1.6 , el tiempo de conversin A/D de 10 bits es = 18.4 .


El valor de es igual al periodo del reloj del convertidor A/D. Dado que el reloj del
convertidor A/D se puede obtener del oscilador principal del microcontrolador (tabla 3), el
valor de la frecuencia de este oscilador debe establecerse de modo que se cumpla la
condicin expresada en (9.26). La tabla 4 seala el valor mximo de la frecuencia del
oscilador principal del microcontrolador PIC16F877A en las diferentes configuraciones
posibles.
Las notas de la tabla 4 indican que:
1. La fuente RC tiene un tpico de 4 s, pero puede variar entre 2 s y 6 s.
2. Estos valores violan el mnimo tiempo requerido de .
3. Para conversiones ms rpidas se recomienda utilizar otra fuente de reloj.
21

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

4. En PICs con frecuencias superiores a 1 MHz, el modo RC slo es recomendable en


modo SLEEP.
ANCON1 Y ANCON0
ADCS2:ADSCS1:ADCS0
000

2/

2/

(para = . )
1.25 MHz

100

4/

4/

2.5 MHz

001

8/

8/

5 MHz

101

16/

16/

10 MHz

010

32/

32/

20 MHz

110

64/

64/

20 MHz

X11

2 a 6

(Nota 1)
(Nota 1)
Tabla 4: Valor (mximo) que debe tener la frecuencia ( ) del oscilador principal
del PIC16F877A para que el tiempo de adquisicin (mnimo) por bit ( ) sea de 1.6
s, en las diferentes configuraciones.

La suma de los tiempos de adquisicin y conversin constituye el tiempo de digitalizacin


( ) de la seal analgica,
= +

(18)

Puede calcularse que, en los PIC, el menor valor de est entre 20.4 s y 38.4 s.
Si una seal analgica se digitaliza peridicamente con un periodo , denominado periodo
1

de muestreo, la frecuencia de muestreo es = . debe ser mayor o igual que la

duracin del proceso de digitalizacin. Se recomienda esperar un tiempo igual a 2


segundos antes de comenzar una nueva conversin A/D. Por tanto:
( + 2 )

(19)

En trminos de la frecuencia de muestreo, esta expresin se convierte en


1
+2

22

(20)

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Ejemplo 8
Calcule del tiempo de digitalizacin para una conversin A/D de 10 bits en un
PIC16F877A con un oscilador principal de 4 MHz
Solucin: Si la frecuencia del oscilador principal es OSC = 4MHz , teniendo en cuenta
la tabla 4, se selecciona la configuracin dada por los bits ADCS2:ADCS0 = 001, con lo
cual resulta =

= 4 = 2.0 que cumple con la condicin expresada en la

expresin 17. El tiempo de una conversin A/D de 10 bits es entonces


= 11.5 = 11.5 2.0 = 23
Si se considera el peor tiempo de adquisicin, es decir, = 20 , que corresponde
al caso que la resistencia de salida del sistema medio sea la ms alta posible (10k), el
tiempo de muestreo resultante es
= + = 20 + 23 = 43
Si la conversin A/D se realiza peridicamente, el muestreo de la seal analgica debe
hacerse a una frecuencia menor o igual que
22222 .

Hz, de donde resulta que

( + )

Si se considera el mejor tiempo de adquisicin, es decir, = 10 , que corresponde


al caso en que la resistencia de salida del sistema medio sea de 50 , el tiempo de
muestreo resultante es
= + = 10 + 23 = 33
En estas condiciones, si la conversin A/D se realiza peridicamente, la frecuencia de
muestreo debe ser inferior a 28 571 Hz.

6.3. Proceso de conversin del mdulo ADC


El mdulo de conversin A/D se puede atender utilizando las tcnicas de entrada por
consulta o espera, o por interrupcin. Los pasos que hay que seguir para medir la tensin
analgica en un canal de entrega son:
1. Configurar el mdulo de conversin A/D:
a. Configurar los terminales de los puertos A y E como entradas analgicas,
referencias de tensin, o entradas o salidas digitales, colocando los valores
apropiados en los bits PCFG3:PCFG0 de ADCON1 y en los registros TRISA y
TRISE.
23

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

b. Configurar el formato del resultado de la conversin A/D con el bit ADFM del
registro ADCON1.
c. Seleccionar la procedencia del reloj del mdulo de conversin A/D y el valor
apropiado del tiempo de conversin por bit ( ) mediante los bits
ADSC1:ADSC0 de ADCON0 y el bit ADSC2 del registro ADCON1.
d. Seleccionar el canal analgico de entrada mediante los bits CHS2:CHS0 de
ADCON0.
e. Activar el modulo A/D mediante el bit ADON del registro ADCON0.
2. Si el modulo se atiende por interrupcin, configurar la interrupcin del mdulo de
conversin A/D.
a. Poner a 0 el indicador de interrupcin del convertidor A/D, que es el bit ADIF
del registro PIR.
b. Habilitar la interrupcin del convertidor A/D, poniendo a 1 el bit ADIE del
registro PIE.
c. Habilitar el sistema de interrupcin del PIC, poniendo a 1 el bit GIE del
registro INTCON.
3. Esperar el tiempo de adquisicin ( ) requerido.
del registro ADCON0.
4. Comenzar la conversin A/D al poner en 1 el bit /
5. Esperar que se complete la conversin A/D:
del
a. Si el tratamiento es por consulta o espera: cuando el bit /
registro ADCON0 vaya a 0 o el bit ADIF de registro PIR vaya a 1.
b. Si el tratamiento es por interrupcin: cuando se produce la interrupcin del
convertidor A/D.
6. Leer el resultado de la conversin en los registros ADRESH y ADRESL. Poner el bit
ADIF a 0 si fuese necesario.
7. Para realizar otra adquisicin, ir a los pasos 1, 2 o 3 en funcin de lo que se necesite.
Esperar al menos un tiempo igual a 2 antes de comenzar otra adquisicin (esto
no es necesario para el PIC16F877A debido a que el interruptor de muestreo se
cierra en cuanto se obtiene el resultado).

24

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

7. MANEJO DEL MDULO DE CONVERSIN A/D CON EN COMPILADOR C

En el compilador C las funciones para manejar el convertidor AD son las siguientes:


setup_adc (modo);
modo: para la configuracin del mdulo conversor A/D correspondientes a los bits
ADCS1:ADCS0 del ADCON0 y el bit ADCS2 del ADCON1. modo selecciona la fuente del reloj
y programa el divisor de frecuencia si la fuente es el oscilador principal del
microcontrolador, de acuerdo a la tabla 5. Las opciones para el PIC16F877A son:
ADCON1
ADCS2

ADCON0
ADCS1:ADCS0

FRECUENCIA DEL RELOJ

00

/2

ADC_CLOCK_DIV_2

01

/8

ADC_CLOCK_DIV_8

10

/32

ADC_CLOCK_DIV_32

11

00

/4

ADC_CLOCK_DIV_4

01

/16

ADC_CLOCK_DIV_16

10

/64

ADC_CLOCK_DIV_64

11

setup_adc (modo)

ADC_CLOCK_INTERNAL

ADC_CLOCK_INTERNAL

Tabla 5: Posibles valores de la funcin setup_adc (modo) del PIC16F877A.

Tambin existe la opcin ADC_OFF para indicar que no se utilizar el mdulo ADC del
microcontrolador.

setup_adc_ports (valor);
Esta funcin configura los pines del ADC para que sean analgicos, digitales o alguna
combinacin de ambos. Las combinaciones permitidas varan, dependiendo del
microcontrolador.
valor: definicin de las entradas analgicas correspondiente a los bits PCFG3:PCFG0 del
ADCON1 de acuerdo a la tabla 6.

25

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Tabla 6: Posibles valores de la funcin setup_adc_ports (valor) del PIC16F877A.

set_adc_channel (canal);
Especifica el canal a utilizar por la funcin read_adc ( ).
canal: seleccin del canal analgico correspondiente a los bits CHS2:CHS0 de ADCON0 (ver
tabla 7). El nmero de canal empieza en 0. Es preciso esperar un corto espacio de tiempo
(generalmente 10 ) despus de cambiar el canal de adquisicin, antes de que se puedan
obtener lecturas de datos vlidos.
CHS2:CHS0

CANAL

set_adc_channel (canal)

000

Canal 0, (RA0/AN0)

001

Canal 1, (RA1/AN1)

010

Canal 2, (RA2/AN2)

011

Canal 3, (RA3/AN3)

100

Canal 4, (RA5/AN4)

101

Canal 5, (RE0/AN5)

110

Canal 6, (RE1/AN6)

111

Canal 7, (RE2/AN7)

Tabla 7: Posibles valores de la funcin set_adc_channel (canal) del PIC16F877A.


26

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

valor = read_adc (modo );


Esta funcin lee el valor digital (entero de 16 bits) del conversor analgico digital. Deben
hacerse llamadas a setup_adc (modo), setup_adc_ports (valor) y set_adc_channel (canal)
en algn momento antes de la llamada a esta funcin.
Para utilizar esta funcin se debe incluir la informacin del tipo de conversor A/D que se
est utilizando, por ejemplo, para el PIC16F877A se debe aadir la directiva #device adc =
10.
modo es un parmetro opcional y admite tres modos de funcionamiento, segn se
describen en la tabla 8.
ADC_START_AND_READ

Si no se indica nada en modo, esta es la opcin por


defecto. Permite iniciar y leer el convertidor.

ADC_START_ONLY

Slo inicia la conversin.

ADC_READ_ONLY

Slo lee los registros del convertidor.

Tabla 8: Posibles modos de funcionamiento de la funcin read_adc (modo ).

Ejemplo 1: Realizar la lectura de una tensin analgica (5 V) dada por un potencimetro de


1 . Utilizar el canal AN0 (figura 13).

Figura 13: Lectura del voltaje de un potencimetro.

27

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

PROGRAMA:

7.1. Sensor de temperatura LM35


El sensor de temperatura LM35 es un sensor de alta precisin, cuya tensin de salida es
linealmente proporcional a la temperatura medida en grados Celsius (centgrados); adems
consume slo 60 A de la fuente de alimentacin.

28

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

El LM35 est diseado para funcionar en un rango de temperatura de -55 a +150 C. En el


LM35 se obtiene una tensin de salida de 10 mV por cada grado centgrado, es decir, 10
mV/C lo que da un rango de -0.55 V para los -55 C hasta los 1.5 V para los 150 C.

Figura 14: a) Conexiones bsicas del sensor LM35 y b) Conexin recomendada

Segn se muestra en la figura 14, el voltaje de alimentacin del sensor LM35 puede tener
un rango de variacin entre 4 V a 20 V. El valor de la resistencia 1 se elige en funcin de la
ecuacin 1 = /50 , por ejemplo, para una fuente de alimentacin de 5 V se tendra
un valor de 1 = 5 /50 = 100 .
El sensor LM35 est disponible en varios tipos de encapsulados hermticos, uno de los ms
utilizado es el paquete TO-92 que se muestra en la figura 15.

Figura 15: Sensor LM35 a) Distribucin de los pines, vista inferior b) Apariencia fsica

Junto con el sensor LM35 se suele utilizar una etapa de adaptacin para obtener un rango
de salida 0 a 5 V para poder ingresarlos al microcontrolador, este circuito est formado por
un inversor de ganancia unidad y un sumador (figura 16).

29

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Figura 16: Etapa de adaptacin para el sensor LM35.

La tensin de salida de la etapa de adaptacin en funcin de la tensin del LM35 (35) es:
=

6
6
35
4
5

debe ser 0 V para una entrada de -0.55 V y de 5 V para una entrada de 1.5 V. La tensin
de polarizacin ( ) del sumador es de -5 V. Con estos datos los valores si se selecciona
6 = 10 son 4 = 4100 y 5 = 37270 (estas dos ltimas se pueden estandarizar
a 4 = 4 y 5 = 36 ). De esta forma se obtienen 0.109 V para -55 C y 4.888 V para
150 C. Para la 2 se elige una funcin de lo sealado por el fabricante del LM35, tal y como
se ha indicado anteriormente.
La salida de la etapa de adaptacin se puede conectar al PIC y tan slo es necesario aplicar
el escalado en el software para determinar la temperatura (ver figura 17).

Figura 17: Nuevos rangos de funcionamiento del sensor LM35.


30

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

La pendiente de la recta de la figura 17 est dada por:


=

2 1 150 (55)
=
= 41
2 1
50

Si la pendiente de una recta y el punto (0 , 0 ) de la recta son conocidos, entonces la


ecuacin de la recta puede ser encontrada usando:
0 = ( 0 )
Si se toma como punto inicial 0 = 0 y 0 = 55, y se renombran las variables =
y = entonces la ecuacin de la recta de la figura 17 est dada por:
= 41 0 55
Utilizando la ecuacin anterior se puede determinar la conversin del voltaje 0 a su
correspondiente equivalencia de temperatura en grados centgrados.

Ejemplo 2: Realizar la lectura de un sensor de temperatura LM35 y mostrar en un LCD el


valor de la temperatura medida, haciendo uso del canal AN0 (figura 18).

Figura 18: Lectura de la temperatura de un sensor LM35.


31

Sistemas Microprocesados I

UPS

PROGRAMA:

32

Autor: Ing. Junior Figueroa

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

7.2. Ajuste de resolucin


En algunas aplicaciones es interesante acortar el rango de tensiones de medida de tal forma
que se aumenta la resolucin. Si por ejemplo se prev que la tensin a medir oscilar entre
1.5 V y 1.7 V se puede utilizar una de 1.5 V y una + de 1.7 V. La resolucin del
conversor A/D est dada por:
=

+ 1.7 1.5
=
= 0.195/
2 1
1023

La tensin que mide el PIC se calcula con:


= + 1.5

Ejemplo 3: Realizar la lectura de una seal analgica que oscila entre 1.5 V y 1.7 V. Realizar
las conexiones mostradas en la figura 19 con la finalidad de mejorar la resolucin del
conversor A/D. Utilizar el canal AN0 para el proceso de adquisicin y mostrar en un LCD el
valor de la tensin medida.

Figura 19: Lectura de un voltaje variable entre 1.5 V y 1.7 V.

La fuente PULSE est ubicada en la opcin Generator Mode al lado izquierdo de la ventana
principal del ISIS de Proteus. Para configurar los valores de tensiones mnima y mxima en
la fuente PULSE se da doble clic sobre el cono del circuito y se colocan los valores mostrados
en la figura 20.
33

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Figura 20: Ingreso de datos de la fuente PULSE.

PROGRAMA:

34

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

8. CONVERSIN D/A CON EN COMPILADOR C


En la mayora de los PIC no hay disponible ningn mdulo convertidor de seal digital a
analgica (DAC - Digital to Analog Converter) por lo que es necesario utilizar sistemas
externos para realizar dicha conversin.
Existen varias posibilidades, la ms obvia es utilizar un convertir DAC externo pero tambin
existen formas donde el PIC interviene de forma directa mediante elementos pasivos
externos, como por ejemplo, crear redes de resistencias externas para la conversin.

8.1 DAC externo


Todos los DAC funcionan a travs de comunicacin paralelo o serie (SPI o I2C). En este
apartado se trabajar con un DAC paralelo.

Ejemplo 4: Realizar la Conversin Digital Analgica (seal de -1.5 V a 1.5 V) haciendo uso de
un DAC externo de 8 bits. (figura 21).

35

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Figura 21: Uso de un DAC externo para generar un seal de -1.5 V a 1.5 V.

El DAC utilizado es un modelo genrico de ISIS, tan solo hay que fijar las tensiones de
referencia e introducir el dato por el puerto paralelo. En este caso se obtiene una seal de
-1.5V a +1.5 V utilizando un dato de 8 bits (de 0 a 255). En este DAC se puede modificar la
conversin mediante el men de la figura 22.

Figura 22: Cdigos de conversin.

36

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Los resultados segn el tipo de conversin se muestran en la siguiente tabla (para una
referencia de 1,5 V).

Tabla 7: Posibles valores de salida del DAC externo en funcin del modo de salida configurado.

PROGRAMA:

8.2. Redes de resistencia externa


Est basado en la teora de convertidores DA mediante red R-2R. El arreglo de resistencias
R-2R, permite hacer la conversin de un nmero binario a un valor proporcional de voltaje.
Este arreglo permite implementar un nmero indeterminado de bits, esto quiere decir que
con el arreglo R-2R, se pueden hacer conversiones de 8, 16, 32, 64, o un nmero n de bits
en funcin de la cantidad de pines disponibles en un microcontrolador. La implementacin

37

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

del convertidor R-2R, es de fcil desarrollo dado que consiste en un arreglo de conexiones
de resistencias, donde una es el doble de la otra, de ah su nombre R-2R.
Cabe resaltar que cuantos ms bits, posea la conversin mayor ser su resolucin y por
consiguiente mayor la calidad de la seal reconstruida. Las desventajas notables de este
arreglo son, el incremento del hardware requerido y el uso de una cantidad mayor de pines
de los puertos. En la siguiente grfica se puede apreciar la configuracin de las resistencias
para una conversin de 8 bits:

Figura 23: Circuito R-2R.

Este arreglo puede ser expandido con la misma arquitectura para conseguir hacer un
convertidor de mayor resolucin, aumentando el nmero de entadas D, o lo que es igual el
nmero de bits. Otra caracterstica de este tipo de conversin es que no requiere de
libreras especializadas, solo basta con colocar el valor numrico a convertir en un puerto,
y el valor anlogo har presencia en la salida.
El valor de R se fija a 10 k y las resistencias de 2R a 20 k. El programa de prueba puede
ser el del ejemplo anterior.

Ejemplo 4: Realizar la Conversin Digital Analgica (seal de 0 V a 5 V) haciendo uso de un


DAC de 8 bits formado por una red de resistencias R-2R. (figura 24).
Se obtiene un rango de 0 a 5 V (fondo de escala es 5/256, es decir 4.98 V) para un valor
digital de 8 bits (0 a 255).

38

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

Figura 24: Uso de una red R-2R para generar un seal de 0 V a 1.5 V.

PROGRAMA

39

Sistemas Microprocesados I

UPS

Autor: Ing. Junior Figueroa

9. BILIOGRAFA
[1] R. COUGHLIN, F. DRISCOLL, Amplificadores operacionales y circuitos integrados
lineales, Editorial Prentice Hall, Quinta Edicin, Mxico, 1999, 552 pginas.
[2] F. VALDS, R. PALLS, MICROCONTROLADORES FUNDAMENTOS Y APLICACIONES CON
PIC, Editorial Marcombo, Primera Edicin, Espaa, 2007, 340 pginas.
[3] E. GARCA, Compilador C CCS y Simulador Proteus para Microcontroladores PIC,
Editorial Marcombo, Segunda Edicin, Mxico, 2012, 340 pginas.
[4] CCS C, CCS C Compiler Manual, Edicin noviembre del 2013, 403 pginas.

40

Вам также может понравиться