Anda di halaman 1dari 28

Conversor analgico-digital

De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda Un conversor (o convertidor) analgico-digital (CAD), (o tambin ADC del ingls "Analog-to-Digital Converter") es un dispositivo electrnico capaz de convertir una entrada analgica de voltaje en un valor binario, Se utiliza en equipos electrnicos como ordenadores, grabadores de sonido y de vdeo, y equipos de telecomunicaciones. 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.

Contenido
[ocultar]

1 Funcionamiento 2 Tipos de conversores usuales 3 Vase tambin 4 Enlaces externos

[editar] Funcionamiento
Estos conversores poseen dos seales de entrada llamadas Vref+ y Vref- y determinan el rango en el cual se convertir una seal de entrada. El dispositivo establece una relacin entre su entrada (seal analgica) y su salida (digital) dependiendo de su resolucin. Esta resolucin se puede saber, siempre y cuando conozcamos el valor mximo que la entrada de informacin utiliza y la cantidad mxima de la salida en dgitos binarios. A manera de ejemplo, el convertidor anlogo digital ADC0804 tiene la capacidad de convertir una muestra analgica de entre 0 y 5 voltios y su resolucin sern respectivamente: Resolucin = valor analgico / (2^8) Resolucin = 5 V / 256 Resolucin = 0.0195v o 19.5mv. Resolucion = LSB Lo anterior quiere decir que por cada 19.5 milivoltios que aumente el nivel de tensin entre las entradas nomencladas como "Vref+" y "Vref-" que ofician de entrada al conversor, ste aumentar en una unidad su salida (siempre sumando en forma binaria bit a bit). Por ejemplo:

Entrada - Salida 0 V - 00000000 0.02 V - 00000001 0.04 V - 00000010 1 V - 00110011 (5 V-LSB) - 11111111

Definicin. Convertidor analgico digital o CAD, acrnimo de Analogue to Digital Converter, circuito electrnico que convierte una seal analgica en digital. Se utiliza en equipos electrnicos como ordenadores o computadoras, grabadores digitales de sonido y de vdeo, y equipos de comunicaciones. La seal analgica, que vara de forma continua en el tiempo, se conecta a la entrada del dispositivo y se somete a un muestreo (cuantificacin discreta, o asignacin de un valor numrico a una determinada intensidad de la seal) a una velocidad fija, obtenindose as una seal digital a la salida del mismo. Esta seal se puede volver a convertir en analgica mediante un convertidor digital analgico. Caractersticas generales de los convertidores A-D. Un CAD muestrea una seal analgica y la convierte en un valor digital de 'n' bits. Usualmente ser necesario acondicionar la seal de entrada del convertidor A-D, bien sea atenuando bien sea amplificndola. Este muestreo est definido por la funcin de transferencia. En la siguiente figura se muestra una funcin de transferencia ideal de un convertidor de 8 bits de precisin.

Fig. 2.1. Funcin de transferencia ideal. Una funcin de transferencia ideal es aquella que no contiene errores y es lineal. En la figura 2.1 se observa que para un valor digital de salida 00h o 00000000b, el valor de entrada analgica vara entre 0 y 1 LBS. Un LBS equivale idealmente a:

Por ejemplo, en un convertidor con precisin de 8 bits que mida una tensin a fondo de escala (tensin de referencia) de 5 voltios:

En algunos convertidores, el primer punto de transicin es 0,5 LBS y no 1 LBS, como en la figura 2.1 En la siguiente figura se muestra esta situacin.

Fig. 2.2. Primer punto de transicin en 0,5 LBS. En la siguiente figura se muestra la funcin de transferencia ideal de un convertidor A-D genrico de slo 3 bits.

Fig. 2.3. Curva de transferencia para un CAD ideal de 3 bits. La precisin intrnseca del proceso de conversin depende del nmero 'n' de bits del convertidor. Para n = 3 es posible generar 8 combinaciones binarias, mientras que si n = 4 tendremos 16 combinaciones, y as sucesivamente. n 5 6 7 8 9 10 11 Combinaciones 32 64 128 256 512 1024 2048

12

4096

El convertidor no tiene otro objeto que el de medir la seal de entrada de caracterstica fraccionaria y base decimal y atribuirle un valor entero de base binaria. Para efectuar esta operacin de conversin de una funcin continua en otra discontinua, es necesario establecer unos intervalos de validez, siendo el intervalo en que se sita en un instante dado la tensin de entrada, el que determina de forma unvoca el nmero binario generado por el convertidor. Resolucin. Este trmino expresa la variacin (incremento o decremento) de tensin necesaria para modificar el valor del bit de menor peso (LSB). Para un convertidor con salida codificada en binario es vlida la relacin siguiente. Resolucin = 1 LSB Puntos de transicin. Un punto de transicin es aquel valor analgico que produce un cambio en la salida digital desde un cdigo hasta el prximo. Un punto de transicin no es realmente un punto, sino una pequea regin de incertidumbre.

Fig. 2.4. Puntos y regiones de transicin. Por lo tanto, se define el punto de transicin como el valor estadstico de la mayora de las conversiones. Dicho de otra manera, es el voltaje de entrada en el que hay una incertidumbre de conversin del 50%. Anchura del escaln. Es la distancia (diferencia de voltaje) entre dos puntos de transicin consecutivos. Idealmente, debera ser igual a 1 LSB. Vase figura 2.5. Centro del escaln. Es el punto medio entre dos puntos de transicin consecutivos.

Fig. 2.5. Centro del escaln. Diferencia no lineal (DNL). Es la desviacin en la anchura del escaln comparado con 1 LBS. La diferencia se calcula para cada una de las transiciones. La diferencia ms larga es llamada diferencia no lineal (DNL). Vase figura 2.6.

Fig. 2.6. Diferencia no lineal (DNL). Error absoluto. Se define el error absoluto como la mxima desviacin entre un punto de transicin y su correspondiente en una funcin de transferencia ideal.

Fig. 2.7. Error absoluto. Probablemente, este sea el primer parmetro a evaluar en un convertidor A-D. Algunas veces, el error absoluto se describe como una suma de errores a fondo de escala, linealidad y offset. Monotonicidad. Idealmente, cuando el voltaje analgico de entrada se incrementa gradualmente desde cero hasta el fondo de escala, o viceversa, se producen todos los valores o cdigo digitales de salida. Es decir, cambiando la tensin de entrada analgica una cantidad desde un rango analgico que produce una salida digital, hasta el siguiente rango analgico, no se produce un cambio en el cdigo de la salida digital, sino ms de un cambio.

Fig. 2.8. Funcin de transferencia no monotnica. Conversin radiomtrica. Es el proceso de conversin A-D donde el resultado binario es una proporcin de la tensin de alimentacin o tensin de referencia. En algunos convertidores A-D, la conversin depende de una referencia absoluta, resultando la conversin absoluta. Tiempo de muestreo. Este tiempo depende del tipo de convertidor analgico digital empleado. En concreto, es el caso del convertidor del microcontrolador PIC 16C71, el tiempo de muestreo es el tiempo requerido para cargar el condensador del chip hasta el mismo valor que la tensin del terminal de entrada. El tiempo de muestreo depende de la magnitud del condensador y de la impedancia de la tensin analgica de entrada.

Error de cero u offset. Es la diferencia entre el primer punto de transicin medido y el primer punto de transicin ideal.

Fig. 2.9. Error offset. Error de fondo de escala. Es la diferencia entre el valor ideal a fondo de escala y el valor medido. Tambin se le llama, error de ganancia, porque este error cambia la inclinacin de la funcin de transferencia ideal creando as un factor de ganancia. Puede evitarse, multiplicando el valor de cada conversin por la inversa de la ganancia.

Fig. 2.10. Error a fondo de escala. Alinealidad integral (INL) o error relativo. Es la desviacin de un punto de transicin medido con su correspondiente en la curva de transferencia ideal. La diferencia mxima es la INL del convertidor A-D.

Fig. 2.11. Alinealidad integral (INL). Error de cuantificacin. Debido a que un convertidor real posee una resolucin finita, se produce un cierto margen de incertidumbre en cualquier proceso de digitalizacin y que es igual a la semisuma del intervalo de conversin (nivel analgico entre dos escalones sucesivos de la grfica de transferencia ideal). Precisin. Determina el error mximo de transferencia, el cual viene dado como la suma de los errores de ganancia, offset, linealidad de transferencia y alinealidad integral, dentro del margen de temperatura de funcionamiento. Nota: Casi todos los trminos anteriormente empleados son traducciones del ingls, y quiz no se correspondan exactamente con los trminos empleados en otros textos. Caractersticas del convertidor A-D del PIC 16C71.

En la tabla siguiente, se muestran las caractersticas dadas por el fabricante Microchip para el convertidor A-D que incluye el microcontrolador PIC 16C71. Smbolo NR EABS EIL EDL EFS EOFF VREF VAIN Caracterstica Mnimo Resolucin Error absoluto Alinealidad integral (INL) Diferencia no lineal (DNL) Error de fondo de escala Error de cero Monotonicidad Tensin de referencia Tensin de entrada analgica Impedancia recomendada para la fuente de tensin analgica Corriente de conversin A-D Corriente de referencia 2,5 VSS0,3 Tpico Garantizada Mximo 8 <1 <1 <1 <1 <1 VDD+0,3 VREF+0,3 Unidad Bits LSb LSb LSb LSb LSb V V

ZAIN

0,5

10

IAD IREF

10

180 -

1000

A A

Tabla 3.1. Caractersticas del convertidor A-D. Modelo equivalente del convertidor. En la siguiente figura se muestra el modelo analgico de entrada del convertidor A-D del microcontrolador PIC 16C71.

Fig. 3.1. Modelo analgico del convertidor A-D. Leyenda: CPIN " Capacidad de entrada

VT " Tensin umbral ILEAKAGE " Corriente de fuga del terminal debida a varias uniones RIC " Resistencia de interconexin SS " interruptor de muestreo CHOLD " Condensador de muestreo VAIN " tensin analgica de entrada Para que el convertidor alcance la exactitud especificada, la carga del condensador (CHOLD) debe completarse hasta el nivel de tensin del canal analgico de entrada. La impedancia de la fuente de entrada RS y la impedancia del interruptor de muestro RSS afectan directamente al tiempo que requiere el condensador CHOLD para cargarse. La impedancia RSS depende de la tensin de alimentacin del microcontrolador VDD, en la siguiente figura se muestra esta situacin.

Fig. 3.2. Dependencia de RSS en funcin de VDD. La impedancia de la fuente RS afecta a la tensin de offset de la entrada analgica, debido a la corriente de fugas. La impedancia mxima recomendada para las fuentes analgicas es de 10 K . Funcionamiento del convertidor. En la siguiente figura se muestra el diagrama de bloque del convertidor A-D del microcontrolador PIC 16C71.

Fig. 3.3. Diagrama de bloques del convertidor A-D del PIC 16C71. Los pasos a seguir para convertir una seal analgica son los siguientes: Configurar el mdulo convertidor A-D. Configurar los terminales analgicos, digitales y la tensin de referencia (Registro ADCON1). Seleccionar el canal de entrada analgico (Registro ADCON0). Seleccionar el reloj de conversin (Registro ADCON0). Conectar el mdulo A-D (Registro ADCON0). Esperar el tiempo de adquisicin requerido. Comenzar la conversin. (Registro ADCON0) Esperar que la conversin termine. (Registro ADCON0) Leer el resultado de la conversin (Registro ADRES). Tiempo de muestreo.

El tiempo de muestreo del convertidor se divide en dos partes, el tiempo de adquisicin (paso 2) y el tiempo de conversin (paso 4).

Fig. 3.4. Tiempo de muestreo. El tiempo de adquisicin es el tiempo que tarda en cargarse el condensador (CHOLD) al nivel de la tensin de entrada del canal analgico. Segn especificaciones del fabricante, despus de cada conversin la carga del condensador (CHOLD) no es descargada. El tiempo de conversin es el tiempo que tarda en convertir la tensin almacenada en el condensador en su correspondiente cdigo digital mediante aproximaciones sucesivas. Para asegurar un error de 1/2 LBs, se emplean 512 pasos; este es el error mximo permitido para el convertidor A-D es su resolucin especfica, vase tabla 3.1. Tiempo de adquisicin. Segn datos del fabricante el tiempo de adquisicin TAD para el tipo de reloj seleccionado en el programa es de 8 s por bit. El tiempo estimado por el fabricante para la conversin de un byte es de 9,5 TAD, es decir, 76 s, a los que hay que aadir una pausa de 2 TAD hasta la prxima conversin, haciendo un total de 92 s. Para ms informacin, consultar el manual del microcontrolador PIC 16C71 suministrado gratuitamente por el propio fabricante. Adquisicin de magnitudes fsicas mediante microcontrolador. Anexo 5. Convertidores A-D. .

Mdulo 3 : Convertidor Anlogo Digital

Introduccion

Un convertidor anlogo digital tiene como entrada un nivel de voltaje (valor analgico) y produce en su salida un nmero binario de n bits proporcional al nivel de la entrada (valor digital). Los convertidores de seal anlogo a digital abrevian ADC o A/D. Uno de los parmetros que definen al A/D es la resolucin como la mnima variacin de voltaje en la entrada que produce cambio del valor digital en la salida. Por ejemplo un 10 convertidor de 10 bits tiene un total de 2 valores (1024 valores de 0 a 1023). Si tenemos 10V a la entrada la resolucin seria de 9,765mV. En este caso el voltaje es de 10V a 0V pero pueden variar. Por ejemplo si tenemos de 10v a 5v la resolucin ser: Resolucin= (10v 5v)/1024=4.88 mV Una formula para el calculo ser: Resolucin= (Vref2-Vref1)/1024 donde las tensiones de referencia son 10V y 5V. 1. Descripcin General El mdulo convertidor Anlogo Digital (A/D) del PIC 16F877 tiene 8 canales de entrada. La conversin de la seal analgica aplicada (a uno de los canales) se plasma en nmero binario de 10 dgitos. El mdulo A/D posee voltajes de referencia que pueden ser seleccionados para emplear las tensiones VDD, VSS del microcontrolador o puede emplear tensiones aplicadas a los pines RA2 o RA3 (incluso es posible establecer combinaciones de los anteriores valores). Para operar el modulo ADC contamos con 4 registros: Registro de resultado de byte alto de la conversin A/D (ADRESH). Banco 0, 0x1E Registro de resultado de byte bajo de la conversin A/D (ADRESL). Banco 1, 0x9E Registro 0 de control del mdulo A/D (ADCON0). Banco 0, 0x1F Registro 1 de control del modulo A/D (ADCON1). Banco 1, 0x9F El detalle del registro ADCON0 se muestra a continuacin:

Y el detalle del registro ADCON1 se muestra a continuacin:

El registro ADCON1 configura las funciones de los pines de entrada al mdulo. Como se aprecia se puede configurar los pines del puerto A como entradas analgicas inclusive la lnea RA3 puede funcionar como el votaje de referencia. Los registros ADRESH:ADRESL contienen el resultado de la conversin (10 bits). Cuando se ha completado una conversin el resultado es almacenado en ADRESH:ADRESL y adems el bit GO/-DONE (registro ADCON bit 2) se pone a 0-lgico y el bit ADIF (registro PIR1 bit 7) se pone como 1-lgico. El registro PIR1 ocupa la posicin 0x0C del banco 0. He aqu parte del registro que volveremos a tocar en el mdulo de interrupciones:

El diagrama de bloques del mdulo A/D es:

Despus que el mdulo A/D ha sido configurado, es necesario esperar un periodo de tiempo para que la seal sea adquirida (antes de las conversiones empiecen). Cada uno de los canales de entrada tiene su correspondiente bit de configuracin en los registros TRIS y estos han de ser puestos como entradas. Una vez que el periodo de adquisicin ha terminado la conversin A/D puede empezar. Los siguientes pasos muestran la secuencia de uso:

1. Configure el mdulo A/D: (lo cual significa)


Configurar los pines de entrada de los canales analgicos a usar. Configure los voltajes de referencia. (en el registro ADCON1) Seleccione el canal de entrada al mdulo A/D (en el registro ADCON0) Seleccione el clock de conversin A/D (en el registro ADCON0) Ponga a funcionar el mdulo A/D (en el registro ADCON0) Configure la interrupcin del A/D si lo desea: ADIF=0 -lgico (bit que indica si se produjo una conversin) ADIE=1-lgico (habilitador de interrupcin del modulo analgico) PEIE=1 lgico (habilitador de interrupcin de perifricos) GIE=1-lgico (Habilitador general de interrupciones) Espere por el tiempo de adquisicin (es el tiempo que se demora en trabajar el bloque de sampling and hold) Comienzo de la conversin GO/-DONE=1-lgico (en el registro ADCON0) Esperar a que la conversin se complete. Para saber si la conversin termino podemos: Revisar el bit GO/-DONE esperando que sea de nuevo 0 -lgico O esperar al flag de ADIF sea 1-lgico (puede emplearse como interrupcin) Leer el resultado del A/D en el par de registros (ADRESH:ADRESL). No debemos olvidar colocar el bit ADIF a 0-lgico (si se requiere) Para la siguiente conversin, regrese al paso 1 o paso 2 dependiendo si solo se usa uno o mas canales.

1.

1. 2. 3.

4. 5.

2. Requerimientos para la adquisicin A/D Para que el modulo convertido A/D trabaje apropiadamente la carga del capacitor que muestrea la seal anloga debe ser la mxima .

Como se muestra en la figura, la impedancia de la fuente (Rs) y la impedancia del switch interno (Rss) afecta el tiempo requerido para la carga del capacitor. La mxima impedancia recomendada para la fuente analgica es de 10 K ohmios. Cuando la impedancia es menor el tiempo de adquisicin es menor y por tanto la respuesta es mejor. Luego que el canal de entrada es seleccionado (o ha sido cambiado) no olvide esperar un tiempo a que la adquisicin del dato sea hecha antes de que la conversin propiamente dicha empiece.

Para calcular el mnimo tiempo requerido en la adquisicin podemos usar la ecuacin:

3. Seleccin del clock de conversin Analgica Digital Existe otro parmetro que es importante mencionar y es el tiempo de conversin de A/D POR BIT (definida como TAD). La conversin A/D requiere un mnimo de 12 T AD por 10 bits de conversin, La fuente para el clock en la conversin A/D se selecciona por software. Hay 7 posibles valores para la seleccin del T AD: 2Tosc 4Tosc 8Tosc 16Tosc 32Tosc 64Tosc Oscilador RC interno que tiene el modulo A/D (crea un retardo de 2us a 6 us).

Para el correcto funcionamiento del mdulo el clock de conversin debe ser seleccionado para asegurar un TAD de 1.6 us como mnimo. La siguiente tabla muestra el resultado de varios T AD calculados para diferentes clock aplicados al microcontrolador.

4. Configuracin de los pines de los puertos para que trabajen de forma analgica Los registros ADCON1 y TRIS controlan la operacin de los pines de los canales A/D. Los pines que se empleen como entradas deben ser configurados en los registros TRIS como 1lgico. Si en el registro TRIS se coloca a 0-lgico (como lnea de salida) el mdulo A/D convertir el voltaje presente a la salida del pin. La operacin de conversin del A/D es independiente del estado de los bits CHS2:CHS0 y de los bits de los registros TRIS Nota

1. Si el puerto A ha sido configurado como analgico y tratamos de leer el registro del


puerto (PORTA) lo que encontraremos sern 0-lgicos. Los pines configurados como salida digital sern ledos como entradas analgicas con el valor de voltaje presente en las lneas. Si hubiera niveles analgicos en cualquier pin definido como entrada digital (incluyendo los pines AN7:AN0). Pueden causar en el buffer de entrada un consumo de corriente que est fuera del rango de las especificaciones y por tanto daar el microcontrolador.

2.

5. Conversiones A/D Si iniciamos una conversin y colocamos a 0-lgico el bit GO/-DONE conseguimos abortar la conversin A/D que se este llevando a cabo en ese momento. El resultado de la conversin no aparecer en los registros ADRESH:ADRESL y se mantendr el ltimo valor convertido. Despus que la conversin A/D es abortada, la siguiente adquisicin en el canal seleccionado empieza automticamente. El bit GO/-DONE puede ser colocado a 1 para empezar la

conversin.

Como se aprecia en la figura despus que el bit GO es colocado a 1-lgico comienza la conversin y al inicio hay que desconectar el condensador lo cual demanda como mximo 1 TAD, luego vienen los 10TAD correspondientes a los 10 bits del A/D y se necesita un TAD mas para depositar el resultado en los registros ADRES, colocar el bit GO/-DONE de nuevo a 0lgico y el bit ADIF a 1-lgico. Nota. EL bit GO/-DONE y el bit ADON estn en el registro ADCON0 pero no debe ser activados a la vez, esto es en la misma instruccin. 6. Registros que almacenan el resultado de la conversin El par de registros ADRESH:ADRESL almacenan el resultado de la conversin A/D. Este par de registros ocupan 16 bits. EL mdulo A/D tiene la flexibilidad de colocar el resultado justificado a la derecha o a la izquierda de esos 16 bits (formato). El bit que selecciona el formato es el ADFM (registro ADCON1 bit 7). La figura muestra como el detalle de la justificacin.

Los bits extras (6 bits) son llenados con 0-lgicos. Si en un programa no se emplea el mdulo A/D es posible usar los registros ADREH :ADRESL como si fueran registros de propsito general (registros de 8 bits). 7. Operacin del mdulo A/D durante la operacin SLEEP El mdulo A/D puede seguir operando durante el modo SLEEP, esto requiere que el clock A/D sea la red RC (ADCS1:ADCS0=111). Cuando el clock RC es seleccionado, el mdulo A/D espera un cliclo de instruccin antes de empezar la conversin. Esto le permite a la instruccin SLEEP ser ejecutada eliminando todos los ruidos digitales producidos por el swticheo en la conversin. Cuando la conversin es completada, el bit GO/-DONE es colocado a 0-lgico y el resultado es cargado a los registros ADRES. Si est habilitada la interrupcin del mdulo A/D el microcontrolador se despierta o sale del modo SLEEP. Si las interrupciones del mdulo A/D no estn habilitadas, el mdulo A/D ser apagado pese a que el bit ADCON sigue aun en 1-lgico. Cuando se apaga el modulo A/D se tiene el mnimo consumo de corriente. Nota. Para que el mdulo A/D opere durante el modo SLEEP la fuente del clock A/D debe ser siempre el RC (ADCS1:ADCS0=11). Para permitir que la conversin ocurra durante el modo SLEEP asegurece de colocar la instruccin SLEEP inmediatamente despus de colocar el bit GO/-DONE a 1-lgico. 8. Efectos en el RESET Despus de un RESET el mdulo A/D esta apagado y si haba una conversin en curso sta es abortada. Todos los pines que entran al modulo A/D son configurados como entradas analgicas. El valor presente en ADRESH:ADRESL no se modifica despus de un RESET. Luego de encender el microcontrolador el valor presente en ADRESH:ADRESL es aleatorio (basura).