Está en la página 1de 13

Comunicacin Digital

ING. Jose de Jesus Rugeles

UNIVERSIDAD MILITAR NUEVA GRANADA INGENIERIA EN TELECOMUNICACIONES COMUNICACIN DIGITAL CONVERSIN ANALOGA/DIGITAL Luis Eduardo Ramrez - 1400885 e-mail: u1400885@umng.edu.co Gabriel Alejandro Gantiva - 1400775 e-mail: u1400775@unimilitar.edu.co RESUMEN En esta prctica observaremos un tema muy importante en las comunicaciones, como lo es la conversin anloga digital. La salida de los sensores, que permiten al equipo electrnico interaccionar con el entorno, es normalmente una seal analgica, continua en el tiempo. En consecuencia, esta informacin debe convertirse a binaria (cada dato analgico decimal codificado a una palabra formada por unos y ceros) con el fin de adaptarla a los circuitos procesadores y de presentacin. Un convertidor analgico-digital (CAD) es un circuito electrnico integrado cuya salida es la palabra digital resultado de convertir la seal analgica de entrada. La conversin a digital se realiza en dos fases: cuantificacin y codificacin. Durante la primera se muestrea la entrada y a cada valor analgico obtenido se asigna un valor o estado, que depende del nmero de bits del CAD. El valor cuantificado se codifica en binario en una palabra digital, cuyo nmero de bits depende de las lneas de salida del CAD. Estos dos procesos determinan el diseo del circuito integrado.

I. INTRODUCCIN
El trabajo que a continuacin se presenta se ha desarrollado para la aplicacin de un conversor anlogo digital. En esta prctica se podr observar como mediante un dispositivo electrnico que contenga un conversor anlogo digital (PIC 16f887), se realizaran las diferentes fases para la conversin de una seal analgica a digital. As mismo despus de obtener a la salida del dispositivo la seal digital, utilizaremos el max232 para realizar la conexin con el computador, mediante el conector RS232. Para as con ayuda de matlab reconstruir la seal original en tiempo real.

II. OBJETIVOS
Seleccione un dispositivo que contenga un conversor A/D. Analice las hojas tcnicas de dispositivo e identifique los parmetros que permiten ajustar el nmero de bits, los voltajes de referencia, el tiempo de muestreo y el tiempo de conversin, etc. Disee un programa que le permita tomar muestras de una seal y enviar los datos a un computador travs del puerto serial RS232. (Los parmetros de la comunicacin serial y la forma de onda y su frecuencia la debe acordar con el profesor). Configure uno de los terminales de salida del microcontrador como una salida digital que le permita medir el tiempo transcurrido entre el inicio y la finalizacin de la conversin A/D.

PALABRAS CLAVE: Conversor A/D. Pic 16f887. Matlab. RS232. MAX232.

Comunicacin Digital

ING. Jose de Jesus Rugeles

Analice las seales tanto de entrada como de salida del proceso con ayuda del osciloscopio y estime el nmero mximo de bits / segundo y el nmero mximo de caracteres / segundo que se pueden obtener con la configuracin establecida. Disee un programa ya sea en Matlab o LabView que le permita reconstruir la forma de onda de la seal ingresada al conversor analgico digital.

cuantificacin llevan consigo un error y una limitacin de resolucin del circuito. La eleccin del CAD en un diseo electrnico depender de la adaptacin de sus rasgos a los requerimientos de la aplicacin.

Principios operativos de los CADs.


En un CAD de N bits hay 2N estados de salida y su resolucin (porcin ms pequea de seal que produce un cambio apreciable en la salida) se expresa como 1/2N (una parte en el nmero de estados). Con frecuencia la resolucin se expresa a partir del margen de entrada del convertidor para definir el intervalo de cuantizacin o espacio de 1 LSB (Least Significant Bit; bit menos significativo).

III. MARCO TERICO


La salida de los sensores, que permiten al equipo electrnico interaccionar con el entorno, es normalmente una seal analgica, continua en el tiempo. En consecuencia, esta informacin debe convertirse a binaria (cada dato analgico decimal codificado a una palabra formada por unos y ceros) con el fin de adaptarla a los circuitos procesadores y de presentacin. Un convertidor analgico-digital (CAD) es un circuito electrnico integrado cuya salida es la palabra digital resultado de convertir la seal analgica de entrada. La conversin a digital se realiza en dos fases: cuantificacin y codificacin. Durante la primera se muestrea la entrada y a cada valor analgico obtenido se asigna un valor o estado, que depende del nmero de bits del CAD. El valor cuantificado se codifica en binario en una palabra digital, cuyo nmero de bits depende de las lneas de salida del CAD. Estos dos procesos determinan el diseo del circuito integrado. En la prctica, el proceso de conversin est sujeto a numerosas limitaciones resultado de los procesos de fabricacin. Las ms relevantes son el tiempo de conversin y la finitud del nmero de estados de salida. La conversin involucra un tiempo y, en consecuencia, supone una incertidumbre que limita la velocidad mxima de la entrada. Los valores discretos del proceso de

La figura 1 representa la respuesta de un convertidor A/D de 3 bits a una entrada analgica senoidal de 1 kHz de frecuencia, valor medio 5 V y valor cresta a cresta de 10 V, coincidentes con el margen de entrada. En ella se observan los 23=8 estados de la salida, correspondientes a los cdigos binarios desde el 000 al 111. Cada intervalo de cuantizacin tiene una anchura de 10 (V)/8 (estados)=1,25 V.

Fig. 1. Digitalizacin de una seal analgica por un convertidor A/D de 3 bits. Se observan los 8 estados de cuantizacin de 1,25 V de anchura y los lmites de cada intervalo de cuantizacin en ordenadas.

Comunicacin Digital

ING. Jose de Jesus Rugeles

La figura 2 representa la respuesta del convertidor con un bit ms. Se observa en ella el aumento de la resolucin, ahora con 16 estados, que permite aproximar la seal digitalizada a la analgica original. El intervalo de cuantizacin es en este caso la mitad, y la resolucin es el doble.

Fig. 2. Digitalizacin de una seal analgica por un convertidor A/D de 4 bits (16 estados).

instantes detiempo fijos y equiespaciados (periodo de muestreo) determinados por el circuito demuestreo y retencin (Sample and Hold, S&H circuit). Si la informacin que porta la seal no experimenta cambios bruscos se puede muestrear a frecuencia baja sin temor a perder informacin crucial de la seal. Sin embargo, segn muestra la figura 4, si la seal de inters flucta con velocidad, una velocidad de muestreo baja conlleva prdida de informacin cuando se trata reproducir la seal original a partir de las muestras (cuantificacin). En estos casos es necesario muestrear con mayor velocidad para asegurar la reproduccin fiel de la seal capturada.

El CAD es un dispositivo no lineal, por lo que no tiene sentido la consideracin de funcin transferencia. Su relacin entrada-salida viene dada por una caracterstica escalonada. La figura 3 representa caracterstica ideal de un CAD de 3 bits. En ella se consideran los puntos de decisin situados en el centro de cada intervalo de cuantizacin (1/2 LSB).

Fig. 4. Muestreo a baja frecuencia de la salida de un sensor de alta velocidad.

EL PROCESO DE CONVERSIN ANALGICODIGITAL El proceso de conversin analgico digital consta bsicamente de 4 etapas: Muestreo. Cuantizacin. Codificacin. Recodificacin Digital-Digital para transmisin.

Fig. 3. Curva de transferencia de un CAD de 3 bits con cuantificacin uniforme. Los puntos de decisin se sitan en la mitad de cada intervalo de cuantizacin. Se ha supuesto un FE=10 V. Muestreo de seales analgicas. Al muestrear una seal de entrada, el CAD almacena su valor analgico en

Fig. 5. Modelo conversin A/D.

Comunicacin Digital

ING. Jose de Jesus Rugeles

EL MUESTREO El muestreo (en ingls, sampling) consiste en tomar muestras peridicas de la amplitud de onda. La velocidad con que se toman esta muestra, es decir, el nmero de muestras por segundo, es lo que se conoce como frecuencia de muestreo y est en funcin del teorema de Nyquist, que indica que la frecuencia de muestreo (fs) ser el doble de la frecuencia mxima (fm) de la seal a muestrear, por ejemplo, si tenemos una seal de audio con un ancho de banda de 20 Hz a 22,500 Hz, su frecuencia mxima sera fm =22,500 Hz, por lo tanto su frecuencia de muestreo sera:

Fig. 7 Cuantizacion. Los valores preestablecidos para ajustar la cuantificacin se eligen en funcin de la propia resolucin que utilice el cdigo empleado durante la codificacin. Si el nivel obtenido no coincide exactamente con ninguno, se toma como valor el inferior ms prximo. En este momento, la seal analgica (que puede tomar cualquier valor) se convierte en una seal digital, ya que los valores que estn preestablecidos, son finitos. No obstante, todava no se traduce al sistema binario. La seal ha quedado representada por un valor finito que durante la codificacin, ser cuando se transforme en una sucesin de ceros y unos. As pues, la seal digital que resulta tras la cuantificacin es sensiblemente diferente a la seal elctrica analgica que la origin, por lo que siempre va a existir una cierta diferencia entre ambas que es lo que se conoce como error de cuantificacin, que se produce cuando el valor real de la muestra no equivale a ninguno de los escalones disponibles para su aproximacin y la distancia entre el valor real y el que se toma como aproximacin es muy grande. Un error de cuantificacin se convierte en un ruido cuando se reproduzca la seal tras el proceso de decodificacin digital.

Fig. 6 Muestreo LA CUANTIFICACIN Bsicamente, la cuantificacin lo que hace es convertir una sucesin de muestras de amplitud continua en una sucesin de valores discretos preestablecidos segn el cdigo utilizado. Durante el proceso de cuantificacin se mide el nivel de tensin de cada una de las muestras, obtenidas en el proceso de muestreo, y se les atribuye a un valor finito (discreto) de amplitud, seleccionado por aproximacin dentro de un margen de niveles previamente fijado.

Comunicacin Digital

ING. Jose de Jesus Rugeles

Tipos de cuantificacin Para minimizar los efectos negativos del error de cuantificacin, se utilizan distintas tcnicas de cuantificacin: Cuantificacin uniforme o lineal. Se utiliza un bit rate constante. A cada muestra se le asigna el valor inferior ms prximo, independientemente de lo que ocurra con las muestras adyacentes. Cuantificacin no uniforme o no lineal. Se estudia la propia entropa de la seal analgica y se asignan niveles de cuantificacin de manera no uniforme (bit rate variable) de tal modo que, se asigne un mayor nmero de niveles para aquellos mrgenes en que la amplitud de la tensin cambia ms rpidamente. Cuantificacin logartmica: Se hace pasar la seal por un compresor logartmico antes de la cuantificacin. Como en la seal resultante la amplitud del voltaje sufre variaciones menos abruptas la posibilidad de que se produzca un ruido de cuantificacin grande disminuye. Antes de reproducir la seal digital, esta tendr que pasa por un expansor. Cuantificacin vectorial En lugar de cuantificar las muestras obtenidas individualmente, se cuantifica por bloques de muestras. Cada bloque de muestras ser tratado como si se tratara de un vector, de ah, el nombre de esta tipologa. LA CODIFICACIN La codificacin consiste en la traduccin de los valores de tensin elctrica analgicos que ya han sido cuantificados (ponderados) al sistema binario, mediante cdigos preestablecidos. La seal analgica va a quedar transformada en un tren de impulsos digital.

Fig. 8 Codificacion.

ASPECTOS GENERALES DE LA CODIFICACIN El cdec es el cdigo especfico que se utiliza para la codificacin/decodificacin de los datos. Precisamente, la palabra Cdec es una abreviatura de Codificador-Decodificador. Parmetros que definen el cdec Nmero de canales: Indica el tipo de seal con que se va a tratar: monoaural, binaural o multicanal Frecuencia de muestreo: La frecuencia o tasa de muestreo se refiere a la cantidad de muestras de amplitud tomadas por unidad de tiempo en el proceso de muestreo. De acuerdo con el Teorema de muestreo de NyquistShannon, la tasa de muestreo slo determinar el ancho de banda base de la seal muestreada, es decir, limitar la frecuencia mxima de los componentes sinusoidales que forman una onda peridica. De acuerdo con este teorema, y siempre desde la perspectiva metemtica, una mayor tasa de muestreo para una seal no debe interpretarse como una mayor fidelidad en la reconstruccin de la seal. El proceso de muestreo es reversible, lo que quiere decir que, desde el punto de vista matemtico, la reconstruccin se puede realizar en modo exacto (no aproximado). La tasa de muestreo se determina multiplicando por dos el ancho de banda base de la seal a muestrear y, aadiendo un margen (un 10% en CDAudio, por ejemplo) para contemplar las limitaciones prcticas de los filtros no ideales (reales). Resolucin (Nmero de bits): Determina la precisin con la que se reproduce la seal original. Se suelen utilizar 8, 10, 16 o 24 bits por muestra. Mayor precisin a mayor nmero de bits. Bit rate: El bit rate es la velocidad o tasa de transferencia de datos. Su unidad es el bit por segundo (bps). Prdida: Algunos cdecs al hacer la compresin eliminan cierta cantidad de informacin, por lo que la seal

Comunicacin Digital

ING. Jose de Jesus Rugeles

resultante, no es igual a la original (compresin con prdidas).

IV. RESULTADOS ESPERADOS


1. De acuerdo con la practica el dispositivo que se utilizo fue el PIC 16f887, el cual trae incorporado un conversor A/D. Consultando el datasheet se pudo observar su configuracin y algunas especificaciones importantes para el desarrollo de la prctica. En la imagen 1 se muestra la distribucin de los pines del PIC 16f887.

Imagen2. Asignacin baudios. 2. Despus de revisar las diferentes especificaciones en el datasheet del PIC utilizado se procedi a realizar el cdigo en PICc, con los diferentes parmetros. A continuacin se muestra el programa en PICc para cargar en el PIC 16f887. //Configuracin de bibliotecas #include <16F887.h> #device adc=8 // # bits que se van a usar del conversor #use delay(clock=4000000) #use rs232(baud=4800, xmit=pin_c6,rcv=pin_c7,PARITY=O,BITS =8) #fuses xt,nowdt,put //Declaracin de variables int nivel; //inicializacin del programa void main() { set_tris_a(0xff); set_tris_d (0x00); setup_adc(ADC_CLOCK_DIV_8); //Se configura el convertidor analgico a digital setup_adc_ports(all_analog); //configuramos todas las entradas anlogas while(TRUE) { set_adc_channel(0); //Escogemos el canal de la conversin output_toggle(pin_d0);//inactivo antes de la conversion nivel=read_adc(); //Leer el valor digital del conversor analgico digital

Imagen1. Distribucin pines. Despus de conocer la distribucin de pines y su funcionamiento, proseguimos a revisar la parte del datasheet, de conversin, donde se pudo averiguar el funcionamiento para los siguientes parmetros: Seal: cuadrada -1 a 3 voltios. Tasa de Baudios: 4800 Bits de datos: 8. Bit de parada: 1. Paridad: impar. Reloj: 4MHz.

Comunicacin Digital

ING. Jose de Jesus Rugeles

output_toggle(pin_d0);//activo encendido despues de conversion //voltaje= n*0.015625; //printf("\r\n"); //printf("%u",nivel); putc(nivel); delay_ms(2000); } }

La seal de entrada es una onda cuadrada de 0 a 5 voltios, ya que el PIC trabaja en ese rango de cuantizacion. En la imagen 5 se observa los caracteres que muestra la salida del PIC, gracias al comando putc, el cual hace q todo los datos que componen el nivel de cuantizacion se muestren en una sola trama.

3. Con el cdigo desarrollado se realizo la simulacin en proteus, para efectuar pruebas antes de hacer el montaje. En la imagen 3 se observa el montaje en proteus.

Imagen 5: Visualizacin caracteres en virtual terminal. Existe otro comando para la visualizacin de los caracteres. Este comando es printf el cual muestra el nivel de cuantizacion, pero carcter por carcter y lo que hace desperdiciar tramas. Imagen 3: montaje en proteus. Gracias a la simulacin se pudo visualizar la seal de entrada y salida en el osciloscopio y adems los caracteres que estaban saliendo gracias al comando putc. En la imagen 4 se obserava la seal de entrada y salida del pic. En la figura 6 se visualiza la salida del PIC, pero con el comando pritf.

Imagen 6: Visualizacin caracteres en virtual terminal. 4. Despus de corroborar todas las pruebas en la simulacin, se procedi a realizar el montaje, segn las especificaciones del datasheet. En la imagen 7 se observa el montaje en protoboard con el PIC 16f887 y el max232.

Imagen 4: seal de entrada y salida del PIC

Comunicacin Digital

ING. Jose de Jesus Rugeles

Las distribuciones de los pines fueron las siguientes: Pin1: VDD=5v. Pin2: Seal de entrada. Pin11: VDD. Pin12: VSS. Pin 13 y 14: Reloj de 4MHz. Pin 25: Tx a Rx del max232. Pin26: Rx a Tx del max232. Pin19: Led para observar el tiempo de conversin.

a) En la imagen 9 se puede observar el tiempo de bit, segn los parmetros establecidos.

Imagen 9: tiempo de bit. El tiempo de bit terico es igual a (1/baudios) 1/4800. Esto da un valor de 208.3uS. Dando como error el 4%. Imagen 7: Montaje en protoboard. 5. Con el montaje realizado y funcionando, se conecto por medio del max232 al computador para visualizar los caracteres en el programa hrcules. Ya mostrados los caracteres y comprobar que el montaje estaba funcionando, se conecto una sonda del osciloscopio a la salida del max232 y se realizaron las siguientes mediciones a la seal visualizada. La imagen 8 muestra los caracteres que se visualizan en el hrcules, debido al comando putc. b) En la imagen 10 se observa el tiempo de la trama, con la misma tasa de transmisin, 8 bits de datos, 1 bit de parada y paridad impar.

Imagen 10: tiempo trama. El tiempo de la trama es igual al tiempo de bit por el nmero de bits. tT= (208,3x10-6)*11bits= 2,29mS. El porcentaje de error en este caso es de 0,5% c) En la imagen 11 se observa el tiempo de conversin de este PIC. Que se obtuvo al poner un led en el pin 19 del PIC y hacer unas modificaciones en el programa del PIC y en el montaje.

Imagen 8: Visualizacion en programa hercules.

Comunicacin Digital

ING. Jose de Jesus Rugeles

Imagen 13: caracteres. Imagen 11: tiempo de conversin. d) Despus de esto, en el programa se cambia el comando putc por el comando printf para visualizar todos los caracteres q se envan dentro de una trama, y visualizar la trama de cada uno. Esto se observa en la imagen 12.

tiempo

trama

cuatro

En este caso para obtener el dato terico del tiempo de las 4 tramas, se toma el tiempo de una sola trama (2,29mS) y se multiplica por el nmero de tramas, en este caso 4 tramas. Esto da un tiempo de 9,16mS. Comparndolo con el valor obtenido en la prctica, esto da un error de 0,6%. e) Despus de esto en el programa se le coloco un comando delay, para tener un retardo entre las tramas. Esto se puede observar en las imgenes 14 y 15.

Imagen 12: trama 4 caracteres. En la imagen 13 se observa el tiempo de la trama de los cuatro caracteres.

Imagen 14: tiempo retardo.

Comunicacin Digital

ING. Jose de Jesus Rugeles

Imagen 15: tiempo retardo igual a 2s. 6. El siguiente objetivo y el ms importante de la prctica, es reconstruir la seal de entrada mediante un programa. En este caso se escogi el programa matlab para la reconstruccin de la seal. Para la reconstruccin en matalab se tubo que variar los parmetros tanto en el programa del PIC como en matlab, ya que en el datasheet del PIC 16f887 describi que para un reloj de 4MHZ la tasa de transmisin de 4800 baudios se tenia una velocidad demasiado lenta, la cual en matlab no se poda visualizar o mostraba una seal totalmente diferente a la seal de entrada, fuera cual fuera la seal de entrada, mostraba siempre la misma. Por medio del siguiente cdigo se obtuvo la reconstruccin de la seal de entrada en tiempo real. Los parmetros que se cambiaron fueron los siguientes: Tasa de transmisin: 19200 8 bits de datos. 1 bit de parada. Paridad: none. Esto se hizo para optimizar el diseo y que la trama fuera mas pequea y el uso del ancho de banda sea menor. clear all; close all; clc; delete(instrfind(('Port'),('COM1')));

PS=serial('COM1'); set(PS,'Baudrate',19200); % se configura la velocidad a 19200 Baudios set(PS,'StopBits',1); % se configura bit de parada a uno set(PS,'DataBits',8); % se configura que el dato es de 8 bits, debe estar entre 5 y 8 set(PS,'Parity','none'); % se configura sin paridad %set(PS,'Terminator','CR/LF');% c carcter con que finaliza el envo %set(PS,'OutputBufferSize',2000); % n es el nmero de bytes a enviar %set(PS,'InputBufferSize' ,2000); % n es el nmero de bytes a recibir %set(PS,'Timeout',3); % 3 segundos de tiempo de espera fopen(PS); %warning('off','MATLAB:serial:fscanf;uns uccessfulRead'); tmax=10.0056; rate=34.0035; f= figure('Name','Captura de Muestras'); a=axes('XLim',[0 tmax],'YLim',[0 5]); lin=line(nan,nan,'Color','b','LineWidth',1); title('Capturas Muestras Tiempo Real') xlabel('Tiempo - s') ylabel('Voltaje - v') grid on; hold on; v=zeros(1,tmax*rate); i=1; t=0; tic while t<=tmax t=toc; %leer serial a=(fread(PS,1,'uchar')); v(i)=a(1)*5/256; %dibujar la seal x=linspace(0,i/rate,i); set(lin,'YData',v(1:i),'XData',x); drawnow %contador para seguir i=i+1; end clc; fprintf('%g s de captura a &g cap/s \n',t,1/t);

Comunicacin Digital

ING. Jose de Jesus Rugeles

fclose(PS); delete(PS); clear PS; En la imagen 16 se puede observar la seal reconstruida en tiempo real gracias al programa utilizado en matlab, con los cambios en los parmetros.

aprovechaba mas el ancho de banda al trabajar con el comando putc, ya que introduca todos los caracteres que componan el nivel de cuantizacion en una sola trama. Ante la atenuacin, la seal digital puede ser amplificada y al mismo tiempo reconstruida gracias a los sistemas de regeneracin de seales. Cuenta con sistemas de deteccin y correccin de errores que se utilizan cuando la seal llega al receptor, entonces comprueban la seal (uso de redundancia), primero para detectar algn error, y, algunos sistemas, pueden luego corregir alguno o todos los errores detectados previamente. Facilidad para el procesamiento de la seal. Cualquier operacin es fcilmente realizable a travs de cualquier software de edicin o procesamiento de seales. La seal digital permite la multiregeneracin infinita sin prdidas de calidad. Esta ventaja slo es aplicable a los formatos de disco ptico; la cinta magntica digital, aunque en menor medida que la analgica (que slo soporta como mucho 4 o 5 generaciones), tambin va perdiendo informacin con la multiregeneracin. http://www2.uca.es/grupinvest/instrument_electro/ppjjgdr/Elec tronics_Instrum/Electronics_Instrum_ Files/temas/T11_CAD.pdf. Fecha consulta: 20/09/12; 18:30. http://docencia.izt.uam.mx/sgm8/dicie mbre/adc.pdf. Fecha consulta: 20/09/12; 18:50. http://ww1.microchip.com/downloads/ en/devicedoc/41291f.pdf Fecha consulta: 20/09/12; 19:50.

Imagen 16: seal reconstruida. La parte de la reconstruccin de la seal en tiempo real se puede observar mejor en el video ya que se observa como se va reconstruyendo la seal a medida que vara el tiempo.

V. CONCLUSIONES
Con las especificaciones del dispositivo escogido, nos dimos cuenta que tenia un voltaje de referencia de 0 a 5 voltios. Se observo que las seales superiores o inferiores a este voltaje de referencia se cortaban y solo apareca hasta dicho voltaje. Para poder observar la seal asignada en matlab sin recortes por el voltaje de referencia. Se tomo un dispositivo operacional para subirla 1 voltio DC, y asi la seal toma valores de 0 a 4 voltios. En cuanto al programa del PIC, se pudo llegar a la conclusin de que se

VI. REFERENCIAS

Comunicacin Digital

ING. Jose de Jesus Rugeles

Comunicacin Digital

ING. Jose de Jesus Rugeles

También podría gustarte