ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES"

Transcripción

1 1 ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES SISTEMA DE ADQUISICIÓN Y MONITOREO DE SEÑALES ELÉCTRICAS, BASADO EN LA UTILIZACIÓN DE UNA FPGA, PARA ANÁLISIS Y CARACTERIZACIÓN DE SEÑALES EN EL RANGO DE FRECUENCIAS BAJAS AUTOR: Axel Alejandro Ontaneda Febres Tesis previa a la obtención del Título de Ingeniero en Electrónica y Telecomunicaciones DIRECTOR: Ing. Carlos Carrión LOJA ECUADOR

2 DECLARACIÓN DE AUTORÍA DEL TEMA DE TESIS Todos las conceptos, opiniones, versiones, resultados y conclusiones que constan en el presente trabajo investigativo, son de responsabilidad exclusiva de las autoras.. El Autor

3 3 INTRODUCCIÓN Las señales eléctricas presentes en nuestro medio nos pueden brindar y transmitir diferentes tipos de información, pero dependiendo del análisis que se haga a éstas señales se podrá adquirir o entender tal información. Es así, que en el dominio temporal se puede obtener información de la señal tal como su amplitud, periodo y fase, mientras que en el dominio de la frecuencia se obtiene la densidad espectral dependiendo de la frecuencia a la que oscile esta señal, y además permite conocer la relación entre esas componentes. Los osciloscopios y los analizadores de espectro, son sistemas que permiten hacer un análisis de la señal tanto en el dominio temporal como en el frecuencial, y además son herramientas muy utilizadas en electrónica y en telecomunicaciones, ya que les permite visualizar y entender las distintas señales eléctricas presentes en nuestro medio. Se trabajará los diseños de los sistemas de adquisición, monitoreo y procesamiento de señales a través de FPGAs (Field Programmable Gate Arrays) como su nombre lo indica, son reconfigurables y reprogramables, lo que permite integrar en un solo dispositivo varios programas o permitir actualizar el código presente en él, sin tener que utilizar otro hardware lo cual optimiza los recursos y herramientas. Debido a la gran utilización de éstas herramientas, se decidió involucrar en un sistema de adquisición y monitoreo de señales eléctricas, a través de un sistema electrónico basado en la utilización de una FPGA, para análisis y caracterización de señales, para esto se desarrollo algoritmos utilizando herramientas de diseño de sistemas digitales como lo son Xilinx 8.1i, MATLAB 7.1 y System Generator 8.1 de Xilinx, estos algoritmos pueden ser fácilmente descargados en las FPGAs. Para la implementación de dichos sistemas contamos con dos tarjetas como lo son la FPGA xc3s200 Spartan 3 y la tarjeta xc2vp30 XUP Virtex II Pro el uso de cada una de ellas depende de las características del diseño que pretendemos alcanzar.

4 4 OBJETIVO GENERAL Y OBJETIVOS ESPECÍFICOS Objetivo General El objetivo general de este trabajo es el diseño de un sistema de monitorización y análisis de señales eléctricas en el dominio del tiempo para el rango de frecuencia de 0 3 KHz, y el diseño de un sistema de análisis en el dominio de frecuencia en el rango de 0 12 KHz. A través de diseño de algoritmos hardware, capaces de adquirir señales, procesarlas y visualizarla en un sistema VGA con la utilización de una FPGA, se podrá observar importantes características de la señal como la de Amplitud, Periodo y el Espectro de la señal. Objetivos Específicos Diseñar la interfaz de acondicionamiento de la señal, para ingreso de la señal a diferentes escalas por medio de un circuito de adecuación, permitiendo la digitalización apropiada de la señal analógica, a través de un circuito de protección y una adecuada conversión analógica a digital. Diseñar los algoritmos para adquisición de señales, procesamiento de la señal y visualización a través de un monitor VGA. En el procesamiento de la señal se dará formato a los datos para la implementación de memorias de almacenamiento, con lo cual se permitirá tomar estos datos y hacer una representación eficiente en el monitor VGA. Diseñar los algoritmos necesarios, para la implementación de un sistema que permita extraer las características espectrales de una señal variante en el tiempo por medio del algoritmo FFT, este tendrá la capacidad de trabajar en un ambiente de Co-Simulación, para comprobar su funcionalidad en un entorno hardware.

5 5 Comprobar las funcionalidades de los diseños hardware con sistemas Osciloscopios y Analizador de Espectros, con el objetivo de validar los resultados. Además de validar este tipo de tecnología para la fabricación de estos sistemas de monitoreo. CONTENIDO DECLARACIÓN DE AUTORÍA DEL TEMA DE TESIS...I INTRODUCCIÓN...II OBJETIVO GENERAL Y OBJETIVOS ESPECÍFICOS...III CONTENIDO... IV LISTA DE FIGURAS... VI LISTA DE TABLAS... VII CAPÍTULO I: ANÁLISIS EN EL DOMINIO TEMPORAL Y EN EL DOMINIO DE LA FRECUENCIA INTRODUCCIÓN DOMINIO TEMPORAL AMPLITUD DE SEÑALES FASE DE SEÑALES DOMINIO DE LA FRECUENCIA TRANSFORMADA DE FOURIER ALGORITMOS DE LA FFT RADIX RADIX INSTRUMENTOS DE MEDICIÓN ARQUITECTURA DE UN FPGA CARACTERÍSTICAS TÉCNICAS DE LOS FPGA SPARTAN-3 Y VIRTEX II PRO CAPÍTULO II: IMPLEMENTACIÓN DE ALGORITMOS EN LA FPGA INTRODUCCIÓN DISEÑO DEL SISTEMA DE MONITORIZACIÓN DE SEÑALES EN EL TIEMPO ETAPA DE PROCESAMIENTO EN LA FPGA MÓDULO DE ADQUISICIÓN MÓDULO DE DE CONTROL... 19

6 MÓDULO DE VISUALIZACIÓN DE VGA DISEÑO DEL SISTEMA DE MONITORIZACIÓN DE SEÑALES EN FRECUENCIA MÓDULO DE FILTRADO Y DIEZMADO MÓDULO DE ENVENTANADO MÓDULO DE LA FFT MÓDULO DE VISUALIZACIÓN CAPÍTULO III: RESULTADOS RESULTADOS EN EL SMST CIRCUITO DE ATENUACIÓN Y ACONDICIONAMIENTO DIAGRAMA DE TIEMPOS EN EL MÓDULO DE ADQUISICIÓN VISUALIZACIÓN EN EL VGA E IMPLEMENTACIÓN RESULTADOS EN EL SMSF BLOQUE DE FILTRADO BLOQUE DE ENVENTANADO BLOQUE DE VISUALIZACIÓN E IMPLEMENTACIÓN EN EL FPGA CAPÍTULO IV: CONCLUSIONES Y RECOMENDACIONES CONCLUSIONES RECOMENDACIONES BIBLIOGRAFÍA ANEXOS... 50

7 7 LISTA DE FIGURAS FIGURA 1.1 DOMINIO DEL TIEMPO Y DE FRECUENCIA DE SEÑALES...2 FIGURA 1.2 AMPLITUD DE UNA SEÑAL ELÉCTRICA...4 FIGURA 1.3 FASE DE UNA SEÑAL ELÉCTRICA CON IGUAL FRECUENCIA...4 FIGURA 1.4 RADIX 4, BURST E/S...8 FIGURA 1.5 RADIX 4, RECURSOS MÍNIMOS...9 FIGURA 1.6 ARQUITECTURA DE LOS FPGA FIGURA 2.1 DIAGRAMA DE BLOQUES GENERAL DEL SMST FIGURA 2.2 DIAGRAMA DE BLOQUES DEL SMST EN EL FPGA FIGURA 2.3 DIAGRAMA DEL MÓDULO DE ADQUISICIÓN FIGURA 2.4 DIAGRAMA DEL MÓDULO DE CONTROL FIGURA 2.5 DIAGRAMA DEL MÓDULO DE VISUALIZACIÓN VGA FIGURA 2.6 DIAGRAMA DE BLOQUES GENERAL DEL SMSF FIGURA 2.7 DISEÑO DEL SMSF EN SYSTEM GENERATOR FIGURA 2.8 DISEÑO DEL BLOQUE DE FILTRADO Y DIEZMADO EN SYSTEM GENERATOR FIGURA 2.9 DISEÑO DEL BLOQUE DE ENVENTANADO Y SU CONFIGURACIÓN FIGURA 2.10 DISEÑO DEL BLOQUE DE FFT Y SU CONFIGURACIÓN FIGURA 2.11 CÁLCULO DE LA MAGNITUD DE LA FFT FIGURA 2.12 VISUALIZACIÓN DE UNA SEÑAL CON MATLAB FIGURA 3.1 SEÑALES DEL CIRCUITO DE ATENUACIÓN Y ACONDICIONAMIENTO FIGURA 3.2 DIAGRAMA DE TIEMPO PARA EL S2PCTRL EN EL MÓDULO DE ADQUISICIÓN FIGURA 3.3 VISUALIZACIÓN DE LA SEÑAL EN EL VGA FIGURA 3.4 VISUALIZACIÓN DE LA SEÑAL EN EL VGA Y OSCILOSCOPIO FIGURA 3.5 SMST-DISPOSITIVO TERMINADO FIGURA 3.6 FLUJO DE TRABAJO DE LOS FILTROS PARA UNA SEÑAL DE 2.5 KHZ FIGURA 3.7 FLUJO DE TRABAJO DE LOS FILTROS PARA UNA SEÑAL DE 4 KHZ FIGURA 3.8 GENERACIÓN DE LA VENTANA DE BLACKMAN EN SYSGEN FIGURA 3.9 TIPOS DE ENVENTANADOS EN DOMINIO DE TIEMPO Y FRECUENCIA FIGURA 3.10 VISUALIZACIÓN DE UNA SEÑAL: CON SYSGEN Y CON MATLAB FIGURA 3.11 GENERACIÓN DE LA CO-SIMULACIÓN FIGURA 3.12 DISEÑO IMPLEMENTADO EN EL FPGA CS2VP30 BAJO CO-SIMULACIÓN... 44

8 8 LISTA DE TABLAS TABLA 1.1 CARACTERÍSTICAS DE LOS DISPOSITIVOS TABLA 2.1 SEÑALES DE MAYOR IMPORTANCIA TABLA 2.2 MODOS DE OPERACIÓN DEL SMST TABLA 2.3 CARACTERÍSTICAS DE LOS FILTROS TABLA 3.1 MEDICIONES CON EL OSCILOSCOPIO COMERCIAL Y CON EL SMST BASADO EN EL FPGA. 37 TABLA 3.2 CARACTERÍSTICAS DE LAS VENTANAS ESPECTRALES TABLA 3.2 RECURSOS ESTIMADOS DE HARDWARE PARA EL DISEÑO DEL SMSF CAPITULO I Análisis en el Dominio Temporal y en el Dominio de la Frecuencia. En este capítulo se presentan las características principales de interés en ingeniería, tanto para señales en el tiempo como en frecuencia. Los principales factores que se pueden encontrar en una señal eléctrica (Amplitud, Frecuencia, Periodo) son descritos a continuación. 1.1 Introducción. Para visualizar fenómenos transitorios, así como formas de ondas en circuitos eléctricos y electrónicos se utiliza un osciloscopio. Un osciloscopio puede medir un gran número de fenómenos, provisto del transductor adecuado será capaz de darnos el valor de una presión, ritmo cardiaco, potencia de sonido, nivel de vibraciones en un vehículo, etc [1].

9 9 No obstante, a pesar de las posibles diferencias existentes, todos los osciloscopios presentan unos principios de funcionamiento comunes. Los de uso más generalizado son los que podríamos definir como osciloscopios básicos que son aquellos que presenta información de la amplitud y frecuencia de la señal. El análisis de una señal en el modo temporal o en el dominio del tiempo con ayuda de un osciloscopio permite conocer parte de la información contenida en una señal compleja, como es el caso de una señal modulada. En el modo temporal no se puede conocer las componentes de frecuencia que conforman a la señal compleja, pero si se puede visualizar características importantes de ella tales como la amplitud de la señal y su periodicidad. El Analizador de Espectros es un instrumento que se basa en el análisis en el dominio de la frecuencia y que permite ver en una pantalla en forma simple y rápida las frecuencias de las armónicas que componen una señal compleja, y además permite conocer la relación entre esas componentes, mediante bastones presentados en la pantalla, cuya amplitud es proporcional a la amplitud de los armónicos. Con éste instrumento se puede llegar a frecuencias muy altas con gran precisión, pudiéndose ver hasta señales de Gigahertz. La representación en el dominio de la frecuencia de una señal sinusoidal pura será un bastón único, tal como se muestra en al grafica de la figura 1.1.

10 10 Figura 1.1 Dominio del Tiempo y de Frecuencia de Señales. Fuente: U.T.N.-F.R.M., Mediciones con Analizador de Espectro de RF-TP6, Dominio Temporal. Existe un término general para describir un patrón que se repite en un determinado tiempo: señal periódica. Existen señales de sonido, señales oceánicas, señales cerebrales y por supuesto, señales de tensión conocida también como señales eléctricas. Un osciloscopio mide estas últimas [2]. El osciloscopio no es más que un instrumento para la visualización y medición de señales eléctricas en el dominio del tiempo. En otras palabras, se pueden ver formas de una señal en él. Una señal eléctrica siempre se presentará con el tiempo en el eje horizontal (X) y la amplitud en el eje vertical (Y). La forma de onda nos proporciona una valiosa información sobre la señal. En cualquier momento podemos visualizar la amplitud que alcanza y, por lo tanto, saber si el voltaje ha cambiado en el tiempo (si se observa, por ejemplo, una línea horizontal podremos concluir que en ese intervalo de tiempo la señal es constante). Con la pendiente de las líneas diagonales, tanto en flanco de subida como en flanco de bajada, se puede conocer la velocidad en el paso de un nivel a otro, pueden observarse también cambios repentinos de la señal (ángulos muy agudos) generalmente debidos a procesos transitorios [2]. Es así que en el dominio temporal los elementos más característicos de una señal eléctrica son: la amplitud, la fase y la frecuencia Amplitud de Señales [2]. Voltaje es la diferencia de potencial eléctrico entre dos puntos de un circuito. Normalmente uno de esos puntos suele ser tierra (GND, 0v), pero no siempre, por ejemplo se puede medir el voltaje pico a pico de una señal eléctrica (Vpp) como la diferencia entre el valor máximo y mínimo de esta. La palabra amplitud significa generalmente la diferencia entre el valor máximo de una señal y tierra. En la serie

11 11 de valores que experimenta una corriente alterna o una fuerza electromotriz senoidal, en el transcurso de un ciclo, el más alto posible valor es por ejemplo cuando el inductor corta el mayor número posible de líneas de fuerza. Este valor se denomina "Valor máximo" y es positivo a 90 º y negativo a 270 º eléctricos. Se llama valor instantáneo al valor de la corriente o del voltaje en un momento cualquiera. El valor máximo es un valor instantáneo, lo mismo que el valor de cero y cualquier otro comprendido entre estos dos. Desde el punto de vista práctico, es de gran importancia el "valor efectivo' o RMS, que es el valor que registran los instrumentos de medición para corriente alterna y se lo puede calcular multiplicando (también 1/ 2) por el voltaje pico de la señal. El valor RMS es el que produce el mismo efecto térmico (de calor) que el de una corriente directa. El valor medio de una señal alterna senoidal pura es cero, dado que el semi-ciclo positivo es igual y de signo contrario al semi-ciclo negativo. De ahí que cuando se habla de valor medio siempre se refiera al valor medio de una semi-onda. El valor medio de una senoide simétrica se define como la media algebraica de los valores instantáneos durante un semiperiodo. También podemos decir que el valor medio es una ordenada tal que el área del rectángulo a que da lugar es igual al área del semiperiodo [3]. Figura 1.2 Amplitud de una señal eléctrica. Fuente: Fase de una Señal [2].

12 12 La fase se puede explicar mucho mejor si consideramos la forma de la señal como senoidal. La señal senoidal se puede extraer de la circulación de un punto sobre un círculo de 360 º. Un ciclo de la señal senoidal abarca los 360 º. Cuando se comparan dos señales senoidales de la misma frecuencia puede ocurrir que ambas no estén en fase, o sea, que no coincidan en el tiempo los pasos por puntos equivalentes de ambas señales. En este caso se dice que ambas señales están desfasadas, pudiéndose medir el desfase con una simple regla de tres. Figura 1.3 Fases de una señal eléctrica con igual frecuencia. Fuente: Dominio en la Frecuencia [5]. El dominio de la frecuencia es un término usado para describir la señal en función de la variable independiente ω, en este caso en función de un valor frecuencial. Un gráfico del dominio temporal muestra la evolución de una señal en el tiempo, mientras que un gráfico frecuencial muestra las componentes de la señal según la frecuencia en la que oscilan dentro de un rango determinado y su gráfico se denomina espectro. Una representación frecuencial incluye también la información sobre el desplazamiento de fase que debe ser aplicado a cada frecuencia para poder recombinar las componentes frecuenciales y poder recuperar de nuevo la señal original. El dominio de la frecuencia está relacionado con la transformada de Fourier, las cuales permiten descomponer una señal en un número finito o infinito de frecuencias

13 Transformada de Fourier. La transformada de Fourier [5] se utiliza para pasar al dominio frecuencial una señal, para así obtener información que no es evidente en el dominio temporal. Se demuestra matemáticamente que una señal periódica se puede descomponer en una suma de senos y cosenos formando una base ortogonal, de esta forma, señales como la voz se pueden descomponer en un sumatoria de señales trigonométricas. El conjunto de constantes que multiplican a cada frecuencia forman el espectro de frecuencias Por otro lado, hay que mencionar que existen Analizadores de Espectro cuya característica principal es contar con dispositivos digitales tales como DSPs o FPGAs [6]. En los casos de estos dispositivos uno de los aspectos básicos de un Analizador es la utilización de un bloque que calcule los armónicos característicos de una señal mediante la Transformada de Fourier. En esta sección se presenta varios métodos para computar la Transformada Discreta de Fourier (DFT) eficazmente. En vista de la importancia de la DFT en varias aplicaciones de procesamiento digital de señales, tales como filtración lineal, análisis de correlación, y análisis del espectro, su cómputo eficaz es un tema que ha recibido la atención considerable por muchos matemáticos, ingenieros y científicos. Hablando matemáticamente la notación X(k), representa los coeficientes de Fourier de x(n). Básicamente, el problema computacional para la DFT [7] es calcular la secuencia {X(k)} de N números complejos estimados teniendo en cuenta otra secuencia de datos {x(n)} de longitud N, según la fórmula, X(k) = N 1 n 0 kn x ( n). W N, 0 k N-1 W N = e -j2π/n (I.1) En general, la secuencia de datos x(n) es también asumido como valores complejos. Similarmente, la Transformada Discreta de Fourier Inversa (IDFT) se vuelve:

14 14 x(n) = N 1 N n 1 0 X ( k). W nk N, 0 n N-1 (I.2) Así la DFT y la IDFT envuelven básicamente el mismo tipo de cálculo, por lo que el debate de los algoritmos computacionales eficientes para la DFT es aplicable al cálculo eficiente de la IDFT también. Observemos que para cada valor de k, el cálculo directo de X(k) involucra N multiplicaciones complejas (4N multiplicaciones reales) y N-1 adiciones complejas (4N-2 adiciones reales). Por consiguiente, para computar todos los N valores de la DFT requiere N 2 multiplicaciones complejas de N 2 - N adiciones complejas. El cálculo directo de la DFT es básicamente ineficiente principalmente porque no explota la simetría y las propiedades de periodicidad del factor de fase W N. En particular, estas dos propiedades son: Propiedad de Simetría: k N / 2 W N = k W N (I.3) Propiedad de Periodicidad: k N k W N = W N (I.4) Los algoritmos computacionalmente eficientes descritos en este sección, conocido colectivamente como algoritmos de la Transformada Rápida de Fourier (FFT), explotan estas dos propiedades básicas del factor de fase Algoritmos de la FFT [7]. Algunos de los algoritmos usados en la FFT serán mencionados a continuación. El núcleo de la FFT usa la descomposición de Radix-4 y de Radix-2 para computar la DFT. Para las dos soluciones de fase, el método de diezmado en el tiempo (DIT) es usado, mientras que el método de diezmado en frecuencia (DIF) es usado para la solución de streaming o transmisión continua. Cuando se usa Radix-4, la FFT consta de etapas de log 4 (N), con cada etapa contiene N/4 de Radix 4 butterflie 1. El tamaño de los puntos que no son potencia de 4 necesita una etapa de Radix-2 adicional para combinar los datos. 1 Butterflie: Variante de cálculo de Radix-4 y Radix-2 en forma de mariposa

15 15 Una FFT que usa Radix-2 tiene etapas de log 2 (N), con cada etapa que contiene N/2 de Radix-2 butterflie. La FFT inversa (IFFT) es computada conjugando los factores de fase. Con esta información, se hará la comparación de los dos distintos algoritmos empezando con el Radix-4 y luego con el Radix Radix-4 [8]. Con esta solución, el núcleo de la FFT usa un bloque de procesamiento de Radix-4 y la cual tiene dos procesos (Figura 1.4). Un proceso está cargando y/o descargando los datos. El segundo proceso es calcular la transformada. Los datos de E/S y el procesamiento no son simultáneos. Cuando la FFT es iniciada, los datos son cargados. Después de que una trama completa haya sido cargada, el núcleo computará la FFT. Cuando el cálculo ha terminado, los datos pueden ser descargados ahora. Durante el proceso de cálculo, los datos cargados y descargados no pueden tener lugar al mismo tiempo. Los datos que se cargan y los procesos de descargar pueden solaparse si los datos son descargados en dígito de orden inverso.

16 16 Figura 1.4 Radix 4, Burst E/S [9]. Fuente: Xilinx, Fast Fourier Transform v5, Radix-2 [8]. Esta arquitectura usa un bloque de procesamiento de Radix-2 (Figura I.5) y tiene una arquitectura Burst 2 E/S como en la versión de Radix-4. Después de que la trama de datos es cargado, el flujo de datos de entrada debe detenerse hasta que el cálculo de la transformada sea terminado. Entonces, los datos pueden ser descargados. Como con Radix-4, en la arquitectura Burst E/S, los datos pueden ser simultáneamente cargados y descargado si los resultados son presentados en bit en orden inverso. Esta solución soporta tamaños de punto N = y usa un mínimo de bloques de memoria. Tanto las memorias de datos como las memorias de factor de fase pueden estar en Bloques de Memoria o Memoria Distribuida (para tamaños de punto inferior o iguales a 1024). 2 Burst: Arquitectura cuyas entradas de datos son de transmisión continua

17 17 Figura 1.5 Radix 4, Recursos Mínimos [9]. Fuente: Xilinx, Fast Fourier Transform v5, Instrumentos de Medición. Los instrumentos más comunes de medición y visualización de señales ya sean en el dominio del tiempo como en el de la frecuencia, son los Osciloscopios y los Analizadores de Espectros respectivamente. Su funcionamiento puede ser de tipo analógico como digital, y llegando a visualizar señales de alta frecuencia (en orden de MHz para los Osciloscopios y en GHz para los Analizadores de Espectro). Entre las características principales de un osciloscopio es la capacidad de visualizar señales variantes en el tiempo, así como medir su nivel de voltaje (amplitud de la señal) y su periodicidad. Existen funciones adicionales especialmente para los osciloscopios digitales, como las funciones Hold, Triggering, Zoom y almacenamiento de datos en memoria. La función Hold sirve para congelar la señal en pantalla en un tiempo determinado para así poder ver cambios pequeños y no repetitivos de la señal a analizarse. En cambio, la función Triggering permite poder estabilizar la señal y tener así una adecuada visualización de la misma, esta función es muy útil para poder calcular la amplitud y frecuencia de la señal. La función de Zoom permite realizar una ampliación de la visión de la señal

18 18 en factores de 10:1 a 1:16 por lo general, variando de acuerdo a los fabricantes de cada osciloscopio. Por último, un módulo de memoria es utilizada para recopilar los datos de una señal, lo que permite almacenar/recuperar las señales para utilizarlas posteriormente, exportar al portapapeles y compartir dicha información con programas de computador, imprimir los resultados y sus parámetros [15]. En cambio, entre las características principales que cuenta un Analizador de Espectros es la visualización y medición de las componentes espectrales de una señal. Por lo general, su escala para medir la amplitud está dada en dbm o en escala logarítmica, existiendo analizadores con la capacidad de escoger entre estos tipos de escala. Otra característica es el ancho de banda, llegando a trabajar en rango de frecuencias del orden de KHz hasta los GHz, y además de contar con la capacidad del Zoom espectral para enfocarse en una determinada zona del espectro de una señal. Los analizadores de espectro modernos cuentan con la habilidad de poder interactuar con el PC para transferencia y almacenamiento de datos. Hablando ya de algunas de las aplicaciones prácticas más comunes para los Analizadores de Espectro se puede mencionar: medidas de potencia de canal, medidas en cables, medidas de Potencia TDMA, medidas de potencia y análisis escalar de redes entre otras [1]. 1.6 Arquitectura de un FPGA [10]. La mayoría de los FPGA 3 se basan en SRAM 4 y pueden por lo tanto ser programadas muy fácilmente. Debido que se basan en SRAM, los FPGA son volátiles, por lo tanto, deben ser programados cada vez que la energía es aplicada. Esto se logra con otra parte del circuito que recarga la configuración del bitstream, tal como una PROM 5. La configuración de bitstream guardado en la SRAM controla las conexiones hechas y también los datos para ser guardados en la look-up tables (LUTs). Las LUTs son esencialmente pequeños memorias que pueden computar funciones lógicas arbitrarias. Cada fabricante tiene un nombre distinto para su bloque básico, pero la unidad fundamental es la LUT. Xilinx tienen los Bloques de Lógica 3 FPGA: Field Programmable Gates Array 4 SRAM: Static Random Access Memory 5 PROM: Programmable Read-Only Memory

19 19 Configurable (CLBs) organizadas en una matriz. Los bloques de lógica configurables de un FPGA son en general localizados en un arreglo de estilo de isla. Cada bloque lógico en la matriz está conectado con los recursos de direccionamiento controlados por una matriz conmutada de interconexión. Con este diseño de estilo de isla, un gran rango de conexiones pueden ser hechas entre recursos. Una desventaja para esta estructura de direccionamiento flexible es que a diferencia de los CPLD 6, las rutas de señal no son fijas de antemano, lo que puede resultar en sincronización imprevisible. Cada CLB en un FPGA Xilinx abarca cuatro slices lógicos, que por turno contienen dos generadores de función de 4 entradas, acarreo lógico, compuertas de lógica aritmética, amplios multiplexores de funciones y dos elementos de almacenamiento. El LUT es capaz de implementar cualquier función Booleana definida arbitraria de cuatro entradas y los retrasos de propagación es por lo tanto constante sin considerar la función. Cada slice también contiene flip-flops y una cadena de acarreo rápido. La lógica de acarreo rápido dedicado permite que el FPGA realice circuitos de aritmética muy rápidos. La arquitectura de la familia Spartan 3 y XUP Virtex II Pro consta de cinco elementos funcionales programables fundamentales: Bloques de Lógica Configurable (CLBs) que contienen RAM basadas en Look-up Tables (LUTs) para implementar elementos de lógica y almacenamiento que pueden ser usados como flip-flops o cerrojos. Los CLBs pueden ser programados para efectuar una gran variedad de funciones lógicas como almacenamiento de datos. Bloques de entrada / salida (IOBs) la cuales controlan la circulación de los datos entre los pines de E/S y la lógica interna de los dispositivos. Cada IOB soporta la circulación de datos bi-direccionales más la operación de 3 estados. El bloque RAM provee almacenamiento de datos en forma de 18 Kbit en bloques de doble puerto. Bloques Multiplicadores que aceptan dos números binarios de 18 bits como entradas y calculan el producto. 6 CPLD: Complex Programmable Logic Device

20 20 Los bloques de Digital Clock Manager (DCM) proveen la auto calibración, completa soluciones digitales para distribuir, retrasos, multiplicaciones, divisiones y desplazamiento de fase de señales de reloj. Un anillo de IOBs rodea una matriz regular de CLBs. Cada columna está formada por algunos bloques de RAM de 18 Kbit; cada bloque es relacionado con un multiplicador dedicado. Los DCMs son coloca Figura 1.6 Arquitectura de los FPGA. Fuente: Digilent, Spartan-3 Starter Kid Board User Guide, La familia de Spartan 3 y de la XUP Virtex II PRO tiene como característica una rica red de conectores e interruptores que interconectan todos los cinco elementos funcionales, transmitiendo señales entre otros. Cada elemento funcional tiene asociada una matriz de conmutación que permite conexiones múltiples para el direccionamiento Características Técnicas de los FPGA Spartan 3 y Virtex II Pro. Sabiendo ya los cinco elementos funcionales programables fundamentales de las tarjetas Spartan 3 y Virtex II Pro, se puede hacer una diferenciación de las características técnicas de éstos FPGA tomando en cuenta los elementos más relevantes. En la tabla 1.1se indica las diferencias entre las dos distintas tarjetas.

21 21 Tabla 1.1 Características de los Dispositivos. CARACTERÍSTICAS SPARTAN-3 VIRTEX II PRO Modelo XC3S200 XC2VP30 Slices Array Size 24x20 80x46 RAM Distribuida 30 Kb 428 Kb Bloques Multiplicadores Bloques RAM 216 Kb 2448 Kb DCMs 4 8 PowerPC RISC Cores - 2 Multi-Gigabit Transceivers - 8 VGA/XSGA Si Si 10/100 Ethernet No Si Puerto Serial Si Si PS/2 KBD & MOUSE Si Si ADC/DAC Incorporados No Si Fuente: Digilent, Spartan-3 Starter Kid Board User Guide, Xilinx, Hardware Reference Manual XCPV2P, En base a la tabla 1.1 se puede observar que la tarjeta XUP Virtex II Pro es muy superior en cuanto a características de funcionamiento que la Spartan-3, pero en cambio las tarjetas de la familia Spartan son muy utilizadas por su fácil uso y su costos reducidos. Para la adquisición de señales eléctricas, el FPGA Virtex II Pro cuenta con el códec de audio AC97 el mismo que incorpora un ADC y un DAC que permite contar con todas las funcionalidades analógicas de un sistema de audio. En su defecto, la Spartan-3 no cuenta en sí incorporado un sistema I/O analógico y por tal motivo se debe anexar una tarjeta periférica externa como la tarjeta AIO1, la misma que cuenta con un ADC, un DAC, 4 amplificadores operacionales y un buffer [12]. De lo anterior, se colige que se eligió la tarjeta Spartan-3 por sus reducidos costos, para comprobar sus funcionalidades con respecto a los periféricos E/S externos y para comprobar el funcionamiento de algoritmos de procesamiento para la visualización de datos en el VGA. Por otro lado, se opto por la tarjeta Virtex II Pro, especialmente por sus características de capacidad y alto grado de procesamiento, y además porque en las pruebas preliminares, los resultados arrojan que la tarjeta Spartan-3 es insuficiente en recursos para soportar el algoritmo FFT.

22 22 CAPITULO II Implementación de algoritmos en la FPGA. En el presente capítulo se discutirá sobre la implementación del proyecto en el FPGA, algoritmos de control para el sistema de monitoreo temporal, y algoritmos para la extracción de características frecuenciales de una señal en el tiempo, con la explicación de cada uno de sus elementos y los dispositivos necesarios para el funcionamiento. 2.1 Introducción. Este capítulo presenta el diseño de un sistema de adquisición de señales para realizar un análisis en el dominio temporal el cual como aplicación final se empleará como un sistema de monitorización de señales en el tiempo para un FPGA Digelentic Spartan-3 serie XC3S200 [10]. Además se presenta un diseño de un sistema de adquisición de señales para realizar un análisis en el dominio de la frecuencia el cual se efectuará en la FPGA XUP Virtex II Pro serie XC2VP30 bajo el entorno de co-simulación [11]. 2.2 Diseño del Sistema de Monitorización de Señales en el Tiempo. Se ha diseñado un sistema de monitorización de señales en el tiempo (SMST) en el rango de frecuencia de 0 a 3 KHz para la tarjeta Spartan-3 XC3S200, el sistema cuenta con capacidades de adquisición de señales analógicas, conversión A/D, procesamiento de la señal y la generación de señales de video. Para la adquisición de señales analógica y para realizar la conversión de análogo a digital (A/D) se utilizará la tarjeta periférica AIO1 7 [12] la misma que se conecta al FPGA; los valores obtenidos de la conversión A/D se envían hacia la Spartan-3 XC3S200 y guardados en un módulo de memoria llevado a cabo en el FPGA; un controlador de video, también implementado en el FPGA, extrae estos valores y genera las señales de video apropiados que se envían al puerto VGA y 7 AIO1: Analog I/O up to 1MHz

23 23 usados para mostrar una imagen en un monitor conectado a la tarjeta FPGA. Una interacción básica con el usuario es posible a través de los botones e interruptores de la tarjeta Spartan-3 XC3S200. El diseño del sistema de monitorización de señales en el tiempo lleva a cabo los rasgos comunes de un osciloscopio convencional básico, tales como el ajuste en la tasa de muestreo, así como las funciones Hold y Triggering. Es así que el diseño reúne todos los requisitos para emular a un osciloscopio, y se ha verificado a través de la simulación y la implementación física. El diseño consta de métodos de diseños en VHDL 8, esquemático y librerías de Xilinx para el FPGA Spartan-3 XC3S200. Cabe mencionar que el uso de VHDL permite y ayuda a dar una descripción lógica de algún subsistema hardware el mismo que se pueda implementar en una FPGA o un algoritmo DSP corriendo en una FPGA. En este caso, permite hacer una descripción de la lógica que controlan a una sistema de monitoreo de señales en el tiempo basado en las características de funcionamiento de un osciloscopio. Hay que mencionar, que el diseño de este proyecto no necesariamente es exclusivo para el FPGA Spartan-3 XC3S200 ya que puede ser compatible con otros dispositivos de la familia Spartan o incluso para familias distintas como la Virtex. Los circuitos de acondicionamiento de la señal para la tarjeta periférica AIO1 se diseñaron con el uso de Workbench Multisim 9. La transferencia del diseño al FPGA se llevó a cabo con la herramienta Xilinx Impact 8.1i a través de un cable JTAG paralelo. Las señales analógicas se obtuvieron a través de una tarjeta de sonido de PC (especialmente por la versatilidad en el manejo de estas señales), utilizando un archivo sub-vi del software LabView 8.2 o por el software Cool Edit Pro 2.1, los cuales corren en Windows XP o con la utilización de un generador de señales con una señal máxima de 12 Vpp. El diseño del sistema se lo puede presentar en tres etapas: la etapa de adquisición y adecuación la cual se basa en hardware empleando circuitos electrónicos, una etapa de procesamiento la cual lo realiza el FPGA y su diseño se basa en la programación de la Spartan-3, y finalmente una etapa de visualización en la cual se conecta un monitor VGA estándar al FPGA para visualizar los datos. Esto se puede ver en la figura 2.1 donde se detalla el diagrama general para el SMST. 8 VHDL: Lenguaje de Descripción de Hardware de VHSIC

24 24 ETAPA DE ADQUISICIÓN Y ADECUACIÓN Adquisición de la señal Adecuación de la señal Conversión A/D ETAPA DE PROCESAMIENTO EN EL FPGA Módulo de Adquisición Módulo de Control Módulo de VGA_Display ETAPA DE VISUALIZACIÓN Figura 2.1 Diagrama de Bloques General del SMST Fuente: El Autor El Sistema de Monitoreo de Señales en el Tiempo tiene el siguiente flujo de trabajo: 1) Las señales que podemos ingresar al sistema como prueba pueden ser generadas a través de un generador de ondas, a través del envío por medio del PC de señales analógicas por medio de la tarjeta de sonido, o a través de la obtención de señales eléctricas de algún circuito como un generador de funciones; haciendo énfasis que el umbral de la señal es de 12 Vpp, y a una frecuencia máxima de 3 KHz. 2) La señal analógica se transfiere a la entrada del conector del circuito de adecuación vía cable de audio tipo jack to jack. 3) Las señales a la salida del circuito de adecuación son conectadas a la tarjeta periférica AIO1 para dirigirlas a las entradas del circuito conversor A/D (AD7823). 4) El circuito conversor A/D en la tarjeta periférica AIO1 recibe las señales de control apropiadas del FPGA y realiza la conversión digital, saliendo un bit a la vez (transmisión serial). Se utiliza la transmisión serial de datos especialmente para aprovechar los recursos de pines de la tarjeta. Un circuito de serial a paralelo llevado a cabo en el FPGA recoge estos bits y construyendo un byte que se guarda en una memoria de video que también reside en el FPGA (la conversión de serial a paralelo es necesaria para ganar velocidad de procesamiento de los datos dentro de la tarjeta FPGA). 5) Un controlador de VGA analiza la memoria de video y basado en los valores guardados allí genera las señales apropiadas que son enviadas al puerto VGA y crea una imagen en el monitor. 6) La interacción del usuario toma forma por vía de los interruptores y botones de la tarjeta Spartan-3 dónde el operador puede cambiar la tasa de muestreo de la señal analógica y puede escoger diferentes modos de operación. La etapa de adquisición y adecuación de la señal se la tratará más a fondo en el capítulo de resultados, en términos generales consta de un circuito cuyo objetivo

25 25 principal, por medio de tres escalas distintas, atenuar la señal a un nivel de voltaje apropiado, en el cual pueda trabajar el ADC presente en la tarjeta periférica AIO1 para una óptima digitalización de la señal Etapa de procesamiento en la FPGA Ahora se explicará el funcionamiento de la etapa de procesamiento en el FPGA y sus principales características. ETAPA DE PROCESAMIENTO EN EL FPGA MÓDULO DE ADQUISICIÓN MÓDULO DE CONTROL MÓDULO DE VISUALIZACIÓN VGA LEDs Figura 2.2 Diagrama de Bloques del SMST en el FPGA Fuente: El Autor. El gráfico superior indica el diagrama de bloques del Sistema de Monitorización de Señales en el Tiempo (SMST) programado internamente en el FPGA (Figura 2.2) donde se muestra la separación del diseño en tres módulos funcionales principales: Módulo de Adquisición: implementa la comunicación con el conversor AD7823 y suministra los valores digitalizados al módulo de Visualización. Módulo de Control: genera el muestreo de la señal requerido por el módulo de adquisición a la tasa especificada por el usuario; además controla la dirección de memoria de video dónde el valor digitalizado se escribirá y se conmutará entre los diferentes modos de funcionamiento. Módulo de Vga_display: lee la memoria de video y crea las señales de VGA requeridos por el monitor externo. Las señales de mayor importancia son descritas brevemente en la tabla 2.1.

26 26 Tabla 2.1 Señales de mayor importancia. Señales Modos Descripción mclk Imput Clock Entrada del Reloj Principal; 50MHz rst Asynchronous input Reinicio Principal del Sistema sclk Output Señal de Reloj al AD7823 convst Output Señal de Inicio de Conversión del AD7823 din Input Datos de Salida del AD7823 hs Output Señal de Sincronización Horizontal del VGA vs Output Señal de Sincronización Vertical del VGA red Output Señal Red VGA grn Output Señal Green VGA blu Output Señal Blue VGA ledg Output Señal Led gate led(7:0) Output Señales de Led an(3:0) Output Señal de Ánodo para un display de siete segmentos. ssg(7:0) Output Señal de un display de siete segmentos para un dígito. smpupbtn Asynchronous input Sample up button; incrementa la tasa de muestreo smpdownbtn Asynchronous input Sample down button; decremento de la tasa de muestreo hold Asynchronous input Señal Hold trigger_en Asynchronous input Señal Trigger enable Fuente: El Autor Módulo de Adquisición. El módulo de adquisición implementa una interface de comunicación con el conversor analógico a digital AD7823 que se encuentra en la tarjeta periférica AIO1. Está compuesto de dos partes, tal como es mostrado en Figura 2.3. El primer bloque es un controlador de conversión de datos de seriales a paralelos, diseñado en entorno gráfico esquemático llamado s2pctrl, este componente maneja las señales de control hacia el ADC como las señales de inicio de conversión llamada convst y la señal de reloj hacia el ADC llamada sclk, es síntesis le da la orden al ADC para que pueda enviar los datos al FPGA de manera que se pueda sincronizar el ADC con la frecuencia de trabajo del FPGA, debido a que ambos sistemas (ADC y FPGA) tienen un frecuencia de oscilación de reloj muy distintas. MÓDULO DE ADQUISICIÓN CONVERSOR DE SERIE A PARALELO s2pctrl ACUMULADOR DE BITS SR8CE Figura 2.3 Diagrama del Módulo de Adquisición. Fuente: El Autor.

27 27 El segundo bloque, es un registro de desplazamiento (shift register) estándar o también conocido como acumulador, se ha aprovechado el diseño optimizado de la librería de los programas de diseño microelectrónico de Xilinx para implementar este subsistema, de esta manera se puede optimizar y minimizar el tiempo de desarrollo de componentes para la implementación de un sistema complejo. Este elemento se conoce con el nombre genérico SR8CE que se usa para acumular los bits que vienen de la salida serial del circuito conversor y los almacena para formar un byte completo. El bloque conversor de serie a paralelo es principalmente implementado ya que cuando se requiera trabajar en la programación de los datos para su visualización en el VGA así como sus modos de operación (modos Hold y trigger) se necesitan que estos datos estén en formato de bytes, por lo que conjuntamente con el bloque acumulador se puede estableces este proceso. El bloque de control de serial a paralelo denominado s2pctrl está implementado en el archivo de programación VHD llamado s2pctrl.vhd Módulo de Control. Este módulo es el circuito de control principal del diseño, el cual conduce las señales de control y de dirección requeridos por los otros componentes, cumpliendo con los varios modos de operación seleccionados por el usuario. Esto es definido en el archivo de programación VHD fuente denominado osc_ctrl.vhd. Podemos decir que el propósito general del control del osciloscopio esta dado en: 1. Controlar la tasa de muestreo del conversor A/D. 2. Controlar que se muestre la señal. 3. Mostrar algunos parámetros del SMST y las modificaciones que realice el usuario. 4. Cambiar entre los modos de operación del SMST. Hay que indicar que el control del osciloscopio en su archivo fuente está compuesto por dos sub módulos: el primero ayuda a cambiar la tasa de muestreo del circuito A/D la cual está implementado en el archivo de programación VHD denominado sr_tuner.vhd, mientras que el segundo permite mostrar los valores en los displays de siete segmentos los cuales representan los microsegundos por

28 28 división en la pantalla necesarios para el cálculo de la frecuencia y el cual está implementado en el archivo fuente VHD nombrado como ssgdisp.vhd. MÓDULO DE CONTROL VARIAR TASA DE MUESTREO sr_tuner VISUALIZADOR EN DISPLAYS ssgdisp Figura 2.4 Diagrama del Módulo de Control. Fuente: El Autor. El módulo del circuito que controla la base de tiempo del Sistema de Monitorización de Señales en el Tiempo (SMST) está implementado en el archivo fuente VHD sr_tuner.vhd, en la que modificando la base de tiempo en efecto significa cambiar la tasa de muestreo, es decir especificando cuan a menudo la señal de muestreo se emite teniendo una interacción directa con el usuario ya que éste indica la variación de la tasa de muestreo en base a los botones pulsados en el FPGA, mientras se está instruyendo al módulo de adquisición para realizar una conversión adecuada de la señal. Este cambio de tasa de muestreo significa tener una mejor visualización de la señal, lo cual lleva a un adecuado cálculo de su amplitud así como de su frecuencia. Con respecto a los varios modos de operación (normal, hold, triggered) son implementados por un controlador de dirección de memoria, dónde el valor digitalizado proporcionados por el módulo de adquisición se supone que es escrito. La tabla 2.2 discute cuando los modos de operación aplican dada las señales hold, trigger_en y trigger, y cómo ellos afectan la dirección de memoria previamente mencionada. Cuando el Sistema de Monitorización de Señales en el Tiempo (SMST) está en el modo Hold (congelar la señal), la memoria de video no se refresca o actualiza. Éste congela el trazo de la señal en el monitor, porque el mismo contenido de la memoria de video se despliega una y otra vez, es decir que los valores digitalizados que llegan del módulo de adquisición no son guardados en la memoria de video. Con este modo de operación se tiene como finalidad hacer un análisis de la señal en un tiempo o evento determinado el cual no sea repetible.

29 29 Tabla 2.2 Modos de operación del SMST. Dirección Hold Trigger_en Trigger Acción Descripción < 639 X X X Address address+1 = X X address 640 = X address 0 = No cambia = address 0 X = No importa Fuente: El Autor. Modo Normal; la dirección es incrementada Modo Hold; actualización de la memoria de video que es prevenida especificando una dirección inválida Modo Normal; última entrada de memoria alcanzada, la dirección es reseteada. Modo Triggered, no hay señal de trigger; la dirección no es incrementada. Modo Triggered con señal de trigger; la dirección es reiniciada. Cuando el Sistema de Monitorización de Señales en el Tiempo está en el modo triggered, es susceptible a un evento específico asociado con la señal analógica. Cuando este evento ocurre, la señal trigger se afirma, resultando en que la dirección de memoria de video empieza a reiniciarse. El efecto del triggering es que el trazo de la señal analógica en la pantalla del monitor es estable, una inestabilidad eventual es el resultado de ruido que causa un triggerring prematuro.

30 30 Con estas funciones implementadas en el sistema de monitorización de señales en el tiempo se cumple con uno de los objetivos, el cual es el emular algunas de las funciones con las que cuenta un osciloscopio digital Módulo del Visualización VGA. El último bloque para el Sistema de Monitorización de Señales en el Tiempo es el módulo de visualización VGA, cuyo diagrama de bloque es mostrado en la figura 2.5, el cual ilustra que está compuesto de dos entidades: el bloque denominado memoria VGA ( vgamemory ) y el bloque denominado VGA. MÓDULO DE VISUALIZACIÓN VGA MEMORIA DEL VGA vgamemory VGA Figura 2.5 Diagrama del Módulo de Visualización VGA. Fuente: El Autor. La entidad llamada vgamemory (implementada en el archivo de programación fuente VHD llamado vga_mem.vhd ) representa un módulo de memoria de puerto dual dónde los valores obtenidos de la conversión A/D son almacenados para empezarse a mostrar en la pantalla. La capacidad de la matriz de memoria es 640 bytes siendo de este tamaño debido a que cada valor en la matriz de la memoria representa un pixel en la pantalla teniendo una resolución de 640x480 pixeles. Cada entrada en la memoria corresponde a una columna en la pantalla. El valor contenido en la entrada respectiva denota la coordenada vertical del pixel que se encenderá en la columna correspondiente; por ejemplo si el valor de índice 20 en la matriz de memoria es 42, significa que el pixel encontrado a la intersección de columna número 20 y la hilera número 42 se encenderá. El contenido de la entidad denominada vgamemory es escrito por el módulo de adquisición y luego el contenido de la memoria es leído por el controlador del VGA, cuya descripción se detallará posteriormente. En el diseño, el uso de la memoria de VGA es imprescindible debido que los valores que se guardan en ella

31 31 son usados para el funcionamiento de los distintos modos de operación del SMST como lo son normal, hold y triggered, ya que estos modos utilizan la dirección de memoria de los datos para poder visualizarlos en la pantalla. Hay que indicar que para la aplicación del SMST entre sus características de funcionamiento son la visualización y medición de señales en el rango de 0 a 3 KHz, esto se debe al módulo de memoria ya que la capacidad como se mencionó anteriormente, de 640 bytes no es suficiente para almacenar los valores digitalizados de señales de mayor frecuencia y en especial el poder visualizarlos en pantalla. Una forma de superar este inconveniente es aumentar la capacidad de la memoria, pero eso significaría aumentar la resolución en la pantalla, lo cual sería un problema para visualizar los datos en la Spartan-3 ya que su puerto VGA sólo soporta una resolución de 640x480 pixeles [10]. La entidad del VGA (implementada en el archivo fuente VHD denominado vga.vhd ) es un controlador de video que maneja las señales de video ( hs, vs, red, grn, blu ) [9] señaladas en la tabla 2.1 necesarios por un monitor externo. Basado en estas señales el monitor puede crear una imagen a color la cual se muestra en la pantalla. La implementación del VGA se extiende a un ya existente módulo de controlador de video, originalmente creado para la tarjeta Digilent Pegasus. Agrega señales para las coordenadas lógicas de un lugar en la pantalla ( x y y ) y reestructura las señales de color de video red, grn y blu, tal que ellos muestran una imagen diferente. Las coordenadas lógicas se obtienen substrayendo los contadores horizontales (hc) y verticales (vc), y los porches 9 horizontales (hbp) y verticales (vbp) respectivamente. La coordenada lógica horizontal (x) denota una columna en la pantalla. Su valor es llevado al controlador a través de la señal de direccionamiento y se usa para dirigirse la memoria de video. El valor obtenido desde la memoria representa la coordenada lógica vertical que denota una fila en la pantalla. Por lo tanto, el trazo de la señal en la pantalla consistirá en píxeles encendidos que tienen las coordenadas iguales que corresponden a los pares [x, data]. 9 Porche: Espacio alto comprendido desde el borde superior o lateral del monitor.

32 Diseño del Sistema de Monitoreo de Señales en Frecuencia. El intento de este proyecto es el desarrollo de un Sistema de Monitorización de Señales en Frecuencia (SMSF) para el FPGA XUP Virtex II Pro serie XC2VP30 el cual el diseño cuenta con módulos de filtrado de la señal, módulo de enventanado, un módulo con la Transformada Rápida de Fourier de 512 puntos y la exportación hacia el entorno de Matlab para su visualización. Para la aplicación del sistema de monitoreo de señales en frecuencia, fue diseñado con la ayuda de System Generator 8.1 (herramienta de diseño gráfico para algoritmos DSP corriendo en una FPGA). La transferencia de datos para el presente diseño se hará vía cable JTAG USB, la cual se compiló para que pueda correr bajo co-simulación y las señales de entrada fueron generadas con ayuda de Simulink y del Software Cool Edit Pro 2.1. El diseño del sistema de monitorización de señales en frecuencia cuenta con los rasgos básicos de un analizador de espectros, tales como filtrado de la señal, diezmado y enventanado, cálculo de la FFT y extracción de las componentes espectrales de la señal. Es así que el diseño reúne todos los requisitos para emular a un analizador de espectros para bajas frecuencias, en este caso en el rango de 0 a 12 KHz. Hay que mencionar que el presente proyecto es de uso pedagógico, por lo que fue diseñado para funcionar en la banda de frecuencia de audio (20 Hz hasta 20 KHz), pero por prestaciones del FPGA Virtex II Pro en cuanto a capacidad de procesamiento y almacenamiento bajo el entorno de co-simulación basándose en la utilización de la herramienta System Generator, se trabajará entre el rango de 0 hasta los 12 KHz en la cual se consume gran parte de los recursos de la FPGA tal como se verá más adelante en el capítulo de resultados. En el Sistema de Monitoreo de Señales en Frecuencia (SMSF) se puede desglosar y mostrar internamente la lógica de operación de un sistema emulador de un Analizador de Espectro, en el cual se presenta el siguiente flujo de trabajo, tal y como se muestra en la figura 2.6.

33 33 ADQUISICIÓN DE LA SEÑAL MÓDULO DE FILTRADO MÓDULO DE ENVENTANADO CÁLCULO DE FFT VISUALIZACIÓN DE LA SEÑAL Figura 2.6 Diagrama de bloques General del SMSF. Fuente: El Autor. 1) La señal de entrada será producida por un archivo de audio, la misma que podrá ser editada por el software Cool Edit Pro o puede ser generada bajo el entorno Simulink de Matlab. 2) Luego la señal de audio ingresará al bloque de filtrado, el que permitirá eliminar el ruido presente en la señal para que así tener una señal más pura. 3) La señal filtrada pasará posteriormente a un bloque de enventanado, el cual permitirá eliminar las discontinuidades al principio y al final de los bloques de la señal a analizarse para de esta forma eliminar componentes espurios que degradan la señal. 4) Luego de eliminar y atenuar componentes de frecuencia parásitas, la señal llega hasta el bloque de la Transformada Rápida de Fourier (FFT), la que nos dará las componentes características de la señal. 5) Finalmente la señal a la salida de la FFT se exportará hacia Matlab para su visualización la misma que se hará bajo el entorno de co-simulación con el FPGA. Figura 2.7 Diseño del SMSF en System Generator. Fuente: El Autor. En la figura 2.7 se puede observar que el diseño en System Generator está divido en cuatro módulos o bloques principales:

34 34 Filtrado: es en donde se intentará eliminar el ruido proveniente de la señal de audio a través de una serie de filtros. Enventanado: con la ayuda de la ventana de Blackman se pretende eliminar las discontinuidades al inicio y al final de los bloques de la señal a analizarse. FFT: en éste bloque se obtiene la Transformada Rápida de Fourier de 512 puntos para obtener el espectro de la señal de audio. Visualización: la señal a la salida del bloque de la FFT es llevada a Matlab para ser graficada y comparada frente a la herramienta de visualización Spectrum Scope de System Generator Módulo de Filtrado y Diezmado. Después de que la señal de audio sea generada por el PC llega al módulo de filtrado el mismo que está compuesto por una serie de filtros [13] tal como se muestra en la figura 2.8. Figura 2.8 Diseño del Bloque de Filtrado y Diezmado en System Generator. Fuente: El Autor. Podemos observar que el bloque de filtrado está compuesto por los siguientes tipos de filtros: Pasa Bajos: este filtro está diseñado para que su ciclo de trabajo sea hasta los 3 KHz, es decir frecuencias superiores las atenuará o eliminará.

35 35 Pasa Bandas: el filtro presenta ciclo de trabajo entre 3 KHz hasta los 7 KHz, frecuencias fuera de éste rango serán eliminadas o atenuadas. Pasa Altos: este filtro mantiene su ciclo de trabajo en frecuencias superiores a los 7 KHz, pero en el sistema general será controlado por el bloque de Diezmado que lo limitará hasta los 12 KHz. Bloque Diezmado: En el proceso de diezmado, y para evitar aliasing en la señal diezmada, hay que filtrar previamente la señal a diezmar por un filtro pasa bajo con frecuencia de corte en éste caso de 12 KHz y donde el factor de diezmado es de 2. En la tabla 2.3 se puede observar las características de cada uno de los filtros las cuales fueron diseñadas con la herramienta FDATool de System Generator. Tabla 2.3 Características de los Filtros con FDATool. Tipo Orden Fs (Hz) Fpass1 (Hz) Fpass2 (Hz) Fstop1 (Hz) Fstop2 (Hz) Pasa Bajos Pasa Bandas Pasa Altos Diezmado Fuente: El Autor. Hay que mencionar que los filtros están dispuesto es forma paralela tal como se observa en la figura 2.8, y las salidas de cada uno de los filtros son llevadas a un Multiplexor, el mismo que fue desarrollado su código en Matlab y exportado hasta System Generator por medio del bloque M-Code. Como se mencionó anteriormente, a la salida del Multiplexor se utiliza un bloque de diezmado, el mismo que está compuesto por un filtro pasa bandas con frecuencia de corte de Hz y el cual tiene un factor de diezmado de 2. La operación de diezmado modifican el número de muestras presentes en la señal, disminuyendo la velocidad de muestreo de la señal continua subyacente. Este tipo de operaciones son importantes en situaciones en las que, por ejemplo, existe un sobre-muestreo que hace posible deshacerse de parte de las muestras sin perder información. El filtro paso bajo presente en el diezmador tiene como misión evitar el posible aliasing causado por la reducción de la tasa de muestreo. Es decir, el descartar muestras puede no ser una operación invertible si la nueva velocidad de

36 36 muestreo no satisface el criterio de Nyquist, o lo que es lo mismo, si en frecuencia se produce solapamiento de espectros Módulo de Enventanado. Luego de que la señal haya sido filtrada y diezmada, su salida será multiplicada o aplicada a un bloque de enventanado, el mismo que utiliza la ventana de Blackman. El código para el enventanado se realizó en Matlab el cual es grabado en una variable g que es importando hacia System Generator por medio de una ROM tal como se muestra en la figura 2.9. Figura 2.9 Diseño del Bloque de Enventanado y su configuración. Fuente: El Autor. Ya sabemos que esta técnica es usada para obtener una mejor respuesta en el ancho del espectro de las muestras. La ventana de Blackman fue implementada, ya que permite la mejor adaptación [14] para el sistema de visualización de los resultados en Matlab en comparación con la ventana rectangular, la cual permitió diferenciar dos componentes espectrales en regiones cercanas, aunque como desventaja la ventana de Blackman cuenta con más carga computacional Módulo de la FFT.

37 37 Posteriormente que la señal salga del módulo de enventanado llega al módulo de FFT, en donde se realiza la Transformada Rápida de Fourier para obtener la respuesta espectral de las muestras tomadas de la señal de audio en el dominio de la frecuencia. La FFT descompone la DFT en pequeñas transformadas de N puntos, en donde N es el número de puntos por muestra. Con esto podemos indicar que entre mayor número de puntos exista en la FFT mayor será la exactitud de los armónicos en el dominio de la frecuencia de la señal a analizarse. En la figura 2.10 se muestra el módulo o bloque de la FFT y su configuración diseñado en System Generator con el Core FFTv3_1 de Xilinx. Figura 2.10 Diseño del Bloque de FFT y su configuración. Fuente: El Autor. El módulo FFT computa la transformada rápida de Fourier de 512 puntos en modo continuo; para ello se configura el Core FFTv3_1 de Xilinx como Radix-4 Streaming I/O. Se opta por no escalar la señal internamente en el procesador FFT y se extrae la señal vout para controlar el posterior cálculo de la magnitud. Se elige trabajar con el algoritmo Radix-4 ya que éste método brinda mayor exactitud en cuanto al cálculo y visualización de los datos para la FFT frente a otros algoritmos como Radix-2, aunque como desventaja representa mayor carga computacional.

38 38 Para el cálculo de la magnitud se emplea dos bloques Multiplicadores y un bloque AddSub en modo de Adición de la librería de System Generator para así poder calcular el módulo de la señal a la salida del bloque de la FFT, tal y como se observa en la figura Figura 2.11 Cálculo de la magnitud de la FFT. Fuente: El Autor. Hay que mencionar por otro lado que la resolución de frecuencia de la FFT de N puntos es: f r = N F S ; (II.1) donde F s es la frecuencia de muestreo y N el número de puntos de la FFT. Es así que la resolución de frecuencia de la formula II.1 para el presente diseño es de: f r = = 93,75 Hz Módulo de Visualización. Finalmente después de encontrar la magnitud de la FFT de la señal de audio, estos valores son exportados hacia Matlab a través del bloque To Workspace para poder ser graficados y comparados con el Spectrum Scope de System Generator. Cabe señalar que la implementación se realizará bajo co-simulación, es decir se hará la simulación en System Generator mientras al mismo tiempo estará trabajando el FPGA con el mismo tipo de información. En la figura 2.12 se muestra la visualización de una señal de audio senoidal de 2.5 KHz graficada en Matlab.

39 39 Figura 2.12 Visualización de una señal con Matlab Fuente: El Autor. Como un limitante para poder visualizar la señal por medio de Matlab, se debe esperar a que concluya la co-simulación en System Generator, para que los valores enviados al Workspace estén listos y puedan ser leídos por Matlab. Cabe mencionar que se puede visualizar la señal con el Spectrum Scope de System Generator en tiempo real cuando se está ejecutando la co-simulación.

40 40 CAPITULO III Resultados. En el presente capítulo se hará un análisis de los resultados obtenidos en las distintas etapas tanto del Sistema de Monitoreo de Señales en el Tiempo (SMST) como del Sistema de Monitoreo de Señales en Frecuencia (SMSF). 3.1 Resultados en el SMST. En vista que el diseño del SMST es en su mayor parte desarrollado en esquemático, y en este tipo de programación no cuenta con mayores herramientas para la simulación, se centrará en éste capítulo en los resultados del diseño de hardware y en los resultados obtenidos en la visualización en el monitor o VGA Circuito de Atenuación y Acondicionamiento. Como se mencionó en el capítulo II, el circuito de atenuación y de acondicionamiento de la señal es muy importante, ya que permite atenuar y adecuar la señal que proviene de la tarjeta de sonido del PC o del generador de funciones a un nivel óptimo de voltaje, para así obtener una señal digitalizada real por medio del ADC. Este circuito fue desarrollado y simulado con el programa Multisim de Electronics Workbench, el cual es presentado en el Anexo E con su respectivo sustento matemático. El circuito de atenuación está compuesto por tres bloques, el primer bloque que es un conjunto de amplificadores operacionales en paralelo en modo inversor que permite realizar distintas atenuaciones para diferentes valores de voltaje de la señal de entrada representando de ésta forma la escala del Sistema de Monitoreo de Señales en el Tiempo por medio del switch1, el segundo bloque está compuesto por un operacional en modo inversor con entradas múltiples el cual suma la señales provenientes del bloque atenuador para formar una sola señal. Finalmente el último bloque consta de dos resistencias y cuatro diodos los cuales actúan como un limitador de voltaje, el mismo que impide un excesivo voltaje hacia el bloque de adecuación y así evitar dañar el ADC, siendo la señal de salida OUTC1.

41 41 El circuito de acondicionamiento se comporta como un atenuador no inversor con múltiples entradas [5] (en este caso con dos entradas) con la ayuda del amplificador operacional, el cual suma la señal que viene del circuito de atenuación OUTC1 con una señal continua VCC33 que es de 3.3 V, que proviene de la tarjeta AIO1, el mismo que controla a través del potenciómetro el nivel de desplazamiento vertical de la señal o shift up, para así adecuarla para el ADC. (a) (b) Figura 3.1 Señales del circuito de atenuación y acondicionamiento: (a) a la entrada del circuito de atenuación, (b) a la salida del circuito de acondicionamiento Fuente: El Autor. En las figuras 3.1 se observa las señales tanto a la entrada del circuito de atenuación para una señal de 8 V como a la salida del circuito de acondicionamiento ya adecuada, el mismo que es llevada por ADIN+ y ADIN- hacia el ADC en la tarjeta periférica AIO1 conectada a la Spartan Diagrama de Tiempos en el Módulo de Adquisición. Como se indicó en el capítulo II el módulo de Adquisición es el encargado de dar las señales de control para el AD7823, y está compuesto internamente por dos sub-módulos: un bloque denominado s2pctrl y otro bloque llamado SR8CE.

42 42 Para mantener el AD7823 en el Modo 1 de operación (Muestreo de Alta Velocidad), las señales de control generados por el controlador de serie a paralelo denominado s2pctrl deben tener el tiempo mostrado en la figura 3.2. Al recibir la señal de de muestreo llamado sample desde el módulo de control del osciloscopio, el bloque s2pctrl pone la señal de inicio de conversión denominado convst en bajo y lo guarda allí menos de 1µs; de esta manera el AD7823 no se impulsa a bajo después de la conversión. El flanco de bajada de la señal de inicio de conversión convst inicia el proceso de la conversión que típicamente toma entre 4 µs para completar. Después del final de la conversión, el módulo s2pctrl puede empezar a extraer el resultado bit a bit desde el interno shift register del AD7823. Esto se hace habilitando la señal de reloj del ADC sclk de 12.5 MHz y diciéndole al bloque acumulador de bit denominado SR8CE que desplace a los bits que aparecen en la señal de ingreso de datos din, así volviendo a montar el resultado de la conversión. Después de 8 períodos de la señal de reloj sclk, la señal de fin de conversión rdy se pone en bajo, notificando al módulo de control de osciloscopio que el resultado del muestreo está disponible. La señal de muestreo sample va a alto y así también lo hace la señal rdy. Figura 3.2 Diagrama de tiempo para el s2pctrl en el módulo de adquisición. Fuente: El Autor Visualización en el VGA e Implementación. Una vez finalizado el proyecto e implementado en el FPGA Spartan-3 XC3S200, se puede observar que al conectar el FPGA al VGA se visualiza en la pantalla la señal tal como se muestra en la figura 3.3. Cabe mencionar que el tipo de conector o interfaz hacia el monitor debe de ser tipo VGA, ya que sólo este tipo de conector puede soportar el FPGA Spartan-3 XC3S200. Existen otros tipos de conectores tales como el XSGA el cual si soporta la tarjeta Virtex II Pro XC2VP30. Una interfaz externa inapropiada hacia el monitor dará como consecuencia una distorsión en los gráficos presentados en pantalla, brindando de ésta forma una medición y monitorización errónea de la señal de entrada.

43 43 Figura 3.3 Visualización de la señal en el VGA. Fuente: El Autor. Como se ve en la gráfica superior la señal se grafica sin ningún problema en el VGA, y es la representación de la señal enviada por la tarjeta de sonido del PC o con la utilización de un generador de funciones. En la figura 3.4 en cambio podemos observar las señales graficadas en el VGA después del procesado por parte del FPGA, y en un osciloscopio comercial conectado a la salida de la fuente de la señal a analizarse. Figura 3.4 Visualización de la señal en el VGA y Osciloscopio. Fuente: El Autor.

44 44 Cabe mencionar que el sistema de monitoreo de señales en el tiempo basado en FPGA no cuenta con una escala numérica visible en la pantalla para medir la amplitud y frecuencia tal como posee un osciloscopio digital comercial, pero gracias al circuito de atenuación el cual permite una señal de entrada con voltaje máximo de 12 Vpp, la escala presente en la pantalla del SMST representada por la cuadrícula será 3 V, 6V o 12 V, siendo que cada división en la escala simboliza 0.6V, 1.6V o 3.3 V implícitamente la cual dependerá de la escala seleccionada en el circuito de adecuación. Siendo así para poder calcular la amplitud de la señal, se debe multiplicar los 0.6 V (o el valor asignado por la escala del switch1) por el número de divisiones que la señal cubra en su valor máximo, obteniendo así un valor aproximado de su valor real. En cuanto al cálculo de la frecuencia, en los displays del FPGA se muestra una escala numérica en micro segundos la cual se multiplica por el número de divisiones que cubra un periodo de la señal, se calcula el inverso de éste valor y se obtendrá el valor de frecuencia en Hz. Así por ejemplo si en los displays se muestra 400 (dado en micro segundos) y el número de divisiones de un periodo en la cuadrícula de la pantalla es 2.5 tendremos que la frecuencia es: f = s * 2.5 = 1000 Hz (III.1) En la siguiente tabla se presenta mediciones con valores randómicos hechos por el osciloscopio comercial y por el SMST basado en FPGA, para así poder calcular la exactitud o el margen de error entre ambos dispositivos.

45 45 Tabla 3.1 Mediciones con el Osciloscopio comercial y con el SMST. Señal Aplicada Medición en Osciloscopio Comercial Medición en el SMST del FPGA Porcentaje de Error (Vpp) / FREC. (Vpp) (Hz) (Vpp) (Hz) (%Vpp) (%Hz) 0.25 V a 500 Hz % 0% 0.5 V a 1000 Hz % 0.67% 0.75 V a 2000 Hz % 0% 0.80 V a 2500 Hz % 0% 1.0 V a 2800 Hz % 0.73% 2.5 V a 1500 Hz % 0.50% 4 V a 800 Hz % 0.20% 5.2 V a 1200 Hz % 0.33% 7.2 V a 2000 Hz % 0% 8 V a 1000 Hz % 0.67% Fuente: El Autor. Con esta tabla se puede observar que la diferencia entre las señales producidas por el FPGA y por el osciloscopio comercial son muy aceptables, llegando a un margen de error para el cálculo de la amplitud del 0.75% y para la frecuencia de 0.31%, lo que brinda seguridad al usuario que los valores mostrados en la pantalla son reales o muy admisibles. En la figura 3.5 se muestra el dispositivo terminado. Figura 3.5 SMST-Dispositivo Terminado. Fuente: El Autor.

46 Resultados en el SMSF. En este proyecto se mostrará los resultados de cada uno de los módulos o bloques del Sistema de Monitorio de Señales en Frecuencia (SMSF), utilizando System Generator con la herramienta de visualización Scope Bloque de Filtrado. Como se indicó en el capítulo anterior el bloque de filtrado y diezmado está compuesto por un conjunto de filtros configurados en una arquitectura paralela, los cuales presentan distintas características, así como de distintas frecuencias de trabajo. A la salida de éstos filtros se conectan a un Multiplexor el cual permite que funcione un filtro a la vez dependiente de la señal de entrada, es decir cuando la señal sea menor o igual a 3 KHz el Multiplexor permitirá que pase la señal del filtro pasa bajos; si la señal está entre 3 KHz y 7 KHz se permitirá que pase la señal del filtro pasa bandas y si finalmente la señal es mayor a 7 KHz pasará el filtro pasa altos. Este funcionamiento se podrá observar en la figura 3.6 y figura 3.7. Figura 3.6 Flujo de Trabajo de los Filtros para una señal de 2.5 KHz. Fuente: El Autor.

47 47 Como se puede observar en la gráfica superior cuando se aplica una señal de 2.5 KHz actúa solamente el filtro pasa bajos y el Multiplexor sólo permite la salida de ese filtro. Figura 3.7 Flujo de Trabajo de los Filtros para una señal de 4 KHz Fuente: El Autor. Como se muestra en la figura 3.7 cuando se aplica una señal de 4 KHz se activa el filtro pasa bandas y a la vez el Multiplexor permite que pase la salida de éste filtro. De esta misma manera sucederá cuando se genere cualquier señal superior a los 7 KHz donde al final sólo se activará el filtro pasa altos y el Multiplexor dejará pasar la salida de ese filtro únicamente. La señal a la salida del multiplexor luego pasará a la etapa de diezmado y posteriormente pasará a multiplicarse por el bloque de enventanado.

48 Bloque de Enventanado. Luego de que la señal haya sido filtrada y diezmada se procede a multiplicar por el bloque de enventanado y como ya se indico es utilizada la ventana de Blackman. La generación del enventanado se lo realiza con la ayuda de Matlab y es exportando a SysGen por medio del bloque ROM, para que conjuntamente con un bloque contador denominado Count se carga la ventana en pasos de 512, esto debido a que el proyecto sacará posteriormente la FFT de 512 puntos. La generación del enventanado y del contador se puede observar en la figura 3.8. Figura 3.8 Generación de la Ventana de Blackman en SysGen. Fuente: El Autor. Cabe señalar como se acotó en el capítulo anterior, la ventana de Blackman fue utilizada en el desarrollo del presente proyecto ya que cumple con las características requeridas y además brinda una respuesta espectral mucho más eficientes. Por otro lado hay que mencionar que otras técnicas fueron probadas tales como la ventana de Hann y la ventana de Hamming [14], además del

49 49 enventanado Rectangular, pero la primera no presentó una adecuada respuesta en frecuencia y la segunda a pesar que cuenta con una respuesta similar a la de Blackman presenta una pequeña discontinuidad al final de su forma característica lo que implica tener un poco de distorsión en el dominio de la frecuencia. Todo esto se observa en la figura 3.9 donde se hace una comparación entre los distintos tipos de enventanado tanto en el dominio del tiempo como en el dominio de la frecuencia. Figura 3.9 Tipos de Enventanados en dominio de tiempo y frecuencia Fuente: El Autor. Tabla 3.2 Características de las Ventanas Espectrales. Atenuación en el lóbulo Ancho de Banda Máximo Rizado en Window de los lados (db) de la Transición Parabanda (db) Rectangular /N -21

50 50 Hann /N -44 Hamming /N -53 Blackman /N -74 Fuente: Tomado de Con lo observado en la grafica y en la tabla superior se determina que con la ventana de Blackman ayuda a eliminar las discontinuidades al inicio y al final de los bloques de la señal a analizarse y además presenta una mejor respuesta en el dominio de la frecuencia, ya que permite mayor atenuación en los lóbulos secundarios por lo que es el método más idóneo para utilizar en el presente proyecto Bloque de Visualización e Implementación en el FPGA. Una vez que la señal ha sido filtrada, diezmada, enventanada y adquirida la FFT se procede a llevar los datos desde System Generator a Matlab con la ayuda del bloque de Simulink To Workspace donde se tomará los datos para poder graficarlos y visualizarlos comparando con el Spectrum Scope de SysGen. En la figura 3.10 se puede observar la gráfica de una señal sinusoidal de 2.5 KHz visualizadas en Matlab y en System Generator respectivamente. Figura 3.10 Visualización de una señal: (a) con SysGen y (b) con Matlab. Fuente: El Autor. Como se puede observar entre las gráficas el armónico principal de la señal se encuentra en 2.5 KHz teniendo el mismo valor de amplitud, aunque si existe contraste con los niveles de atenuación, ya que con Matlab se llega un promedio de

51 51-65 db mientras que con System Generator se llega a una media de -55 db, lo que da a entender que el FPGA brinda mayor atenuación del ruido que la simulación en Matlab. Ahora que el diseño cumple con lo esperado se procede a implementarlo, mostrando en la tabla 3.3 los recursos ocupados por el sistema con la ayuda del bloque de System Generator Resource Estimator observando que el diseño está en los límites de los recursos de la tarjeta Virtex II Pro. Tabla 3.3 Recursos estimados de hardware para el diseño del SMSF. Componentes de la Recursos Recursos Porcentaje Virtex II Pro Disponibles Usados de Uso Slices % FFs % BRAMs % LUTs % IOBs % Emb. Mults % Fuente: El Autor. La implementación en la tarjeta se realiza mediante co-simulación. Es así que la gráfica 3.11 muestra los pasos para la co-simulación. Figura 3.11 Generación de la Co-simulación Fuente: El Autor.

52 52 Para generar el bloque de co-simulación, en el bloque System Generator determinamos las opciones siguientes: Compilation: Hardware Co-Simulation => xup_virtex_ii_pro. (Parámetros de la tarjeta Virtex II Pro). Part: Automáticamente al elegir xup_virtex_ii_pro en compilación se determina las partes de la FPGA, se obtiene: Virtex2P xc2vp30-7ff896 Target Directory: Se especifica el directorio donde se ubicara los archivos generados como resultado de la compilación. Por defecto se nombre como:./netlist Hardware Description Language: Especifica el lenguaje de descripción de hardware (HDL) que se usará para la compilación del diseño, pueden ser VHDL y Verilog; se escogerá VHDL. Simulink System Period: Define el periodo del sistema en simulink, en unidades de segundo. En el caso de este proyecto será: 1/48000 Una vez definidos los parámetros del bloque System Generator generamos la compilación del modelo realizado. Al cabo de unos minutos, se ha generado el bloque de co-simulación, el cual lo conectamos a las respectivas entradas y salidas para luego simular el modelo. Al simular el modelo ya con el bloque co-simulator, la tarjeta debe estar debidamente conectada al PC y encendida, para que, al realizar la simulación el modelo se compile dentro de la FPGA XC2VP30 y comprobar que el funcionamiento en la FPGA sea el mismo que en la simulación de Sysgen. Figura 3.13 Diseño Implementado en el FPGA cs2vp30 bajo co-simulación. Fuente: El Autor.

53 53 Capítulo IV CONCLUSIONES Y RECOMENDACIONES 4.1 Conclusiones. A partir de este trabajo se ha diseñado e implementado un Sistema de Monitoreo de Señales en el Tiempo (SMST), así como de un Sistema de Monitoreo de Señales en Frecuencia (SMSF) y utilizarlos en un Sistema de adquisición y monitoreo de señales eléctricas, a través de un sistema electrónico basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias de 0 a 3 KHz para el SMST y para frecuencias entre el rango de 0 hasta 12 KHz para el SMSF. Se ha implementado en distintos FPGAs, es así que con la utilización de la tarjeta Spartan-3 se realizó la aplicación del SMST con la utilización de un VGA para su visualización, mientras que con la tarjeta Virtex II Pro se realizó la aplicación bajo co-simulación del SMSF. Se ha logrado diseñar e implementar un circuito de atenuación y adecuación que permite una digitalización apropiada de la señal analógica proveniente de una fuente de señal externa por medio del conversor analógico a digital (ADC) presente en la tarjeta periférica AIO1 conectada en el FPGA Spartan- 3 para el Sistema Monitoreo de Señales en el Tiempo, con lo cual se puede ingresar señales de voltaje hasta de 12 Vpp. Se ha implementado en el FPGA una memoria lógica en el Sistema de Monitorización de Señales en el Tiempo, la cual permite almacenar los datos digitalizados de la señal analógica de entrada, para que posteriormente sea leída y sus valores sean representados en pantalla. El tamaño de la memoria es de 640 bytes y en base a esto, se tiene la limitante de que sólo se pueda visualizar señales hasta los 3 KHz debido que la memoria no cuenta con la capacidad de almacenar los valores digitalizados para señales de mayor frecuencia y visualizarlos en pantalla. La capacidad de la memoria tiene una relación directa con la resolución de la pantalla, que

54 54 para la Spartan-3 es de 640x480 pixeles, y en el caso de aumentar la capacidad de la memoria significa también aumentar la resolución de pantalla lo cual la tarjeta Spartan-3 no estaría en capacidad de soportar. La aplicación de estas memoria es realmente importante, debido a que se puede aplicar funcionalidades al diseño como por ejemplo el de congelar en pantalla la señal, o el de estabilizar una señal que es demasiado veloz para poder visualizar sus características correctamente. Se comprobó la fiabilidad del equipo del Sistema de Monitoreo de Señales en el Tiempo en base a la comparación de resultados de mediciones frente a un osciloscopio convencional, teniendo un error aproximado del 0.75% para la amplitud es decir una variación de 0.09V y de un 0.31% para la frecuencia es decir una variación de 9.3 Hz tal como se observa en la tabla 3.1, brindado al usuario la seguridad que el análisis y procesamiento de la señal se ha realizado de manera óptima. Se ha conseguido incluir en el Sistema de Monitoreo de Señales en el Tiempo las características básicas de un Osciloscopio Digital emulando en gran parte su funcionamiento, es así que el SMST cuenta con un rango de funcionamiento de 0 a 3 KHz el mismo que fue comprobado con un software de generación de tonos y con un generador de funciones como fuentes de señal, y con una señal de entrada de 12 Vpp debido al circuito de atenuación que cuenta con tres escalas (0-3V, 3-6V y 6-12V). Además posee las funciones Hold y Triggering que permite distintas visualizaciones de la señal en pantalla. Como limitante en el proyecto, no se pudo realizar una escala numérica en la pantalla para la visualización de la amplitud y frecuencia, debido que es forzoso un módulo de memoria adicional para programar los caracteres necesarios para mostrar en pantalla, pero esto implica que con este nuevo módulo de memoria se excede los recursos de la tarjeta Spartan-3 por lo que no se puede implementar. Se ha conseguido implementar un Sistema de Monitoreo de Señales en Frecuencia el mismo que cuenta con un rango de funcionamiento de 0 a 12 KHz debido a las características de la co-simulación y en cuanto se encuentra el diseño en los límites de los recursos de la tarjeta XUP Virtex II

55 55 Pro, tal como se puede observar en la tabla 3.3. Además cuenta con resolución de frecuencia de Hz y salida de 16 bits. Posee la capacidad de almacenar los datos analizados para una posterior visualización. Cabe mencionar que el SMSF incorpora las funciones principales de un Analizador de Espectro emulando así su funcionamiento, pero como una limitante en el sistema es debido a la co-simulación, que reparte los recursos de memoria del computador para el análisis tanto en System Generator de Matlab como en el FPGA, haciendo que el procesamiento de los datos sea lento así como su visualización. La implementación de estas herramientas tienen un gran contenido pedagógico, ya que se diseñaron los algoritmos necesarios para cumplir con los requerimientos básicos de un osciloscopio tales como la adquisición y procesamiento de las señales, visualización en la pantalla de la señal y de las funciones de Hold y Triggering, así como de un analizador de espectro; y ayudar a los profesionales en formación en la comprensión de el comportamiento de las distintas señales en el dominio del tiempo como en el de frecuencia. El uso de estas tecnologías son validas para la aplicación e implementación de sistemas electrónicos de medición y monitoreo básicos frente a equipos comerciales costosos. Pero a su vez, esta tecnología puede ser reemplazada o mejorada con otros sistemas electrónicos, tal es el caso de micro-controladores y pantallas GLCD que pueden reemplazar algunas aplicaciones tanto de los FPGAs como de monitores VGA. 4.2 Recomendaciones. El Sistema de Monitoreo de Señales en el Tiempo fue implementado en la tarjeta Spartan-3 la cual tiene buenas prestaciones y brinda un funcionamiento adecuado al momento de compilar y correr el diseño, pero sería recomendable el intentar actualizar el diseño para un FPGA más avanzado tal como la Virtex II Pro, la cual cuenta con mayores capacidades así como de mayor volumen de procesamiento y de velocidad. Además la Virtex II Pro cuenta con un conversor analógico a digital interno por lo cual la

56 56 tarjeta periférica AIO1 ya no sería necesaria lo que ayudaría a reducir el tamaño de Hardware, y además cuenta con un puerto XSGA que serviría para la visualización de la señal, como también posee una ranura de expansión de memoria RAM lo que ayudaría a aumentar la velocidad de procesamiento de los datos. Se debe emprender en la investigación de aplicaciones con el VGA para la familia Spartan y en especial para la Virtex, ya que fue esto uno de los mayores problemas y limitantes para el diseño y culminación del proyecto de tesis, debido que existe documentación de aplicaciones para la Spartan pero para el caso de la familia Virtex no es así, por lo que el diseño de aplicaciones para el VGA es complicado y difícil de implementar. El sistema de monitorización de señales en frecuencia se implementó bajo el método de co-simulación en la FPGA Virtex II Pro, y en base a aquello sería muy interesante el proponer la mejora del diseño, con la exportación de los datos a través del puerto serial de la tarjeta para que con la ayuda del PC se pueda hacer la reconstrucción de los datos y su visualización. Hay que aclarar que en el puerto serial su transmisión de datos no es muy rápida por lo que se puede transmitir hasta 9600 bps pero sería muchos más eficiente y rápido que el método de co-simulación. Finalmente, otra forma de mejorar el desempeño y las características del sistema de monitorización de señales en frecuencia es utilizando una nueva tarjeta ya sea el FPGA Virtex 5 SXT o la Xtreme DSP la cual cuenta con un módulo de RF el cual ayudaría a incrementar al ancho de banda de la señal a analizarse. Además estas tarjetas cuentan con mayor capacidad de procesamiento y rapidez lo que ayudaría para poder calcular la FFT de 1024 o 2048 puntos, así como lograr que los filtros tengan mejor respuesta de frecuencia y sean mucho más selectivos.

57 57 BIBLIOGRAFÍA [1] U.T.N.-F.R.M., Mediciones con Analizador de Espectro de RF-TP6, [2] [3] [4] [5] [6] KURT D. ROGERS (Binghamton University), Acceleration and Implementation of a DSP Phase-Based Frequency Estimation Algorithm, [7] Lyons Richard G., Understanding Digital Signal Processing, Prentice Hall Inc., [8] Jones Douglas L., Radix-4 FFT Algorithms, [9] Xilinx, Fast Fourier Transform v5, [10] Digilent, Spartan-3 Starter Kid Board User Guide, [11] Xilinx, Hardware Reference Manual XUPV2P, [12] Digilent, AIO1 Reference Manual, [13] Petrone Joseph (The Florida State University), Adaptative Filter Architectures for FPGA Implementation, [14] [15]

58 58 ANEXO A LISTA DE ACRÓNIMOS Y TÉRMINOS. ADC: Conversión Analógica a Digital, conocida también como A/D. AIO1: Analog I/O up to 1MHz. ALIASING: Efecto que causa que señales continuas distintas se tornen indistinguibles cuando se les muestrea digitalmente. DFT: Discrete Fourier Transform. DSP: Application Specific Integrated Circuit. FDCE: Flip-Flop type D with Clock Enable. FFT: Fast Fourier Transform. FPGA: Field Programmable Gates Array. HDL: Hardware Description Language. I/O: Imput / Output. IDFT: Inverse Discrete Fourier Transform. JTAG: Joint Test Action Group. LUT: Look-up Table. MSB: Bit de Mayor Significado. PROM: Programmable Read-Only Memory. RADIX: Algoritmo que permite calcular la FFT de una señal, y dependiendo si es Radix-4 o Radix-2 los datos calculados serán más precisos pero requerirá mayor carga computacional. ROM: Read Only Memory VHDL: Lenguaje de Descripción de Hardware de VHSIC. SMST: Sistema de Monitorización de Señales en el Tiempo. SMSF: Sistema de Monitorización de Señales en Frecuencia. SR8CE: Shift Register of 8 bits with Clock Enable. SRAM: Static Random Access Memory. XC3S200: FPGA de la Familia Spartan 3 serie 200. XC2VP30: FPGA de la Familia Virtex II Pro serie 30.

59 59 ANEXO B Práctica 1: Empleo de un Osciloscopio para el desarrollo de aplicaciones DSP Objetivo. Emplear el Sistema de Monitorización de Señales en el Tiempo (Osciloscopio) para el entendimiento y desarrollo de aplicaciones de procesamiento digital de señales y de telecomunicaciones así para el manejo de estos sistemas. Procedimiento. Se realizará pruebas para comprobar el correcto funcionamiento del Osciloscopio implementado en una FPGA. Con el propósito de verificar éste sistema, se emplearán señales conocidas en el dominio del tiempo la cual será generada por un Generador de Funciones y el resultado será comparado por la simulación de la misma señal utilizando el programa Electronics Workbench 9. El Osciloscopio cuenta con las características siguientes: Rango de frecuencia de 0 a 3000 Hz. Señal de entrada: 12 Vpp Máx. Conectividad con un monitor VGA. Osciloscopio. El osciloscopio no es más que un instrumento para la visualización y medición de señales eléctricas en el dominio del tiempo. En otras palabras, se pueden ver formas de una señal en él. Una señal eléctrica siempre se presentará con el tiempo en el eje horizontal (X) y la amplitud en el eje vertical (Y). La forma de onda nos proporciona una valiosa información sobre la señal. En cualquier momento podemos visualizar la amplitud que alcanza y, por lo tanto, saber si el voltaje ha cambiado en el tiempo. Es así que en el dominio temporal los

60 60 elementos más característicos de una señal eléctrica son: la amplitud, la fase y la frecuencia. Figura 1. Osciloscopio implementado en una FPGA. Pruebas de Funcionamiento del Osciloscopio Paso 1 Para comprobar el correcto funcionamiento del Sistema del Osciloscopio implementado en la FPGA Spartan-3 XC3S200 se utilizará señales conocidas tal cual como señales sinusoidales, señales rectificadas, y señales triangulares. Para la generación de las señales se empleará un Generador de funciones el mismo que llevará las señales al módulo de Adquisición del Osciloscopio. Hay que tener en cuenta que el osciloscopio cuenta con un límite en cuanto a la señal de entrada, la cual debe de estar entre 0 a 12 Vpp para la amplitud y de 0 a 3000 Hz para la frecuencia. El Osciloscopio basado en FPGA no cuenta con una escala numérica visible en la pantalla para medir la amplitud y frecuencia tal como posee un osciloscopio comercial, pero gracias al circuito de atenuación el cual permite una señal de entrada con voltaje máximo de 12 Vpp, la escala presente en la pantalla representada por la cuadrícula será 3 V, 6 V o 12 V, siendo que cada división en la escala simboliza 0.6 V, 1.6 V o 3.3 V implícitamente la cual dependerá de la escala seleccionada. Siendo así para poder calcular la amplitud de la señal, se debe multiplicar los 0.6 V (o el valor asignado por la escala del selector del osciloscopio) por el número de divisiones que la señal cubra en su valor máximo,

61 61 obteniendo así un valor aproximado de su valor real. En cuanto al cálculo de la frecuencia, en los displays del FPGA se muestra una escala numérica (representa los micro segundos en divisiones de la pantalla) por la que se debe multiplicar por el número de divisiones que cubra un periodo de la señal, se calcula el inverso de éste valor y se obtendrá el valor de frecuencia en Hz. Así por ejemplo si en los displays se muestra 400 y el número de divisiones de un periodo en la cuadrícula de la pantalla es 2.5 tendremos que la frecuencia es: f = s * 2.5 = 1000 Hz (1) Utilizando el programa Electronics Workbench simularemos como debe de ser la visualización de las señales en el VGA del Osciloscopio. Primero se generará una señal tipo seno de 1500 Hz con una amplitud de 1.5 V tal como se observa en la simulación de la figura 2. Mientras que en la figura 3 se ve los resultados obtenidos en el Osciloscopio implementado en el FPGA. Figura 2. Señal Senoidal de 1.5 V y 1500 Hz.

62 62 En la figura 3 en cambio se puede observar la señal en el VGA, verificando su correcta visualización. Figura3. Visualización en el VGA Se puede ver en la gráfica superior que la señal cubre en la cuadrícula 1.3 divisiones en el eje Y, lo cual por los 0.6 V que representa en este caso cada cuadrado obtenemos un valor total de 1.56 Vpp. El diseño cuenta con un margen de error de 0.09 V, por lo que se encuentra dentro de los valores establecidos. Para cálculo de la frecuencia, se debe seguir el procedimiento antes descrito, siendo la escala en el FPGA 400 tal y como se muestra en la figura 4. Figura4. Escala en displays del FPGA para el cálculo de la Frecuencia. Siguiendo con la ecuación 1, y observando que en la figura 3 el periodo de una señal cubre 1.65 divisiones en el eje X, la frecuencia de la señal es de 1515 Hz. El diseño consta con un margen de error de dentro de los valores aceptables. 9.3 Hz por lo que la frecuencia consta

63 63 Siguiendo con las pruebas, se generará una señal senoidal de 60 Hz con una amplitud de 4 Vpp, a la cual se lo conectará a un puente rectificador quien eliminará el valor del semiciclo negativo de la señal. Esto se puede ver en la figura 5, la cual representa una simulación de la señal con un puente rectificador. Figura 5. Gráfica de una señal rectificada Como se ve en la gráfica superior, al colocar un puente rectificador a una señal tipo seno de 4 Vpp, el puente sólo permite el paso de la señal en el semi ciclo positivo de la misma dando una onda de 2.5 Vp. En cambio, en la gráfica de la figura 6 se muestra la señal visualizada en el VGA. Figura 6. Gráfica de una señal rectificada en el VGA Se puede observar que el osciloscopio basado en una FPGA cumple con la correcta visualización, ya que cada cuadrado de la cuadrícula representa 1.6 V

64 64 siendo que el máximo valor de la onda es de 1.25 nos da una amplitud de 2.56 Vp y de una frecuencia de 60.2 Hz. Para finalizar se graficará una señal triangular de 1.2 KHz de 2.5 Vpp tal como se ve en la figura 7. Figura 7. Gráfica de una señal triangular. Ahora, se presenta la imagen de la señal triangular visualizada con el osciloscopio en un VGA. Figura 8. Gráfica de una señal triangular en el VGA. Como se puede observar la gráfica tiene una amplitud de 2.52 Vpp, ya que cada cuadrado representa 0.6 V en la cuadrícula y su amplitud máxima cubre 2.1

65 65 cuadrados de la misma. En cuanto al cálculo de la frecuencia, la escala en los displays del FPGA marca 40, y el número de divisiones que cubre un periodo de la señal es de 2.1, siendo la frecuencia de 1190 Hz. Práctica 2: Empleo de un analizador de espectro para el desarrollo de aplicaciones DSP Objetivo. Emplear el Sistema de Monitorización de Señales en Frecuencia (Analizador de Espectro) para el entendimiento y desarrollo de aplicaciones de procesamiento digital de señales y de telecomunicaciones así para el manejo de estos sistemas. Procedimiento. Se realizará pruebas para comprobar el correcto funcionamiento del Analizador de Espectro implementado en una FPGA. Con el propósito de verificar éste sistema, se emplearán señales conocidas en el dominio de la frecuencia El Analizador de Espectros tiene las características siguientes: Un bloque FFT de 512 puntos. Resolución de frecuencia de Hz. Un filtro Pasa Bajos (0Hz Hz). Un filtro Pasa Bandas (3000Hz Hz). Un filtro Pasa Altos (7000Hz Hz). Analizador de Espectro. El Analizador de Espectros es un instrumento que se basa en el análisis en el dominio de la frecuencia y que permite ver en una pantalla en forma simple y rápida las frecuencias de las armónicas que componen una señal compleja, y además permite conocer la relación entre esas componentes, mediante bastones presentados en la pantalla, cuya amplitud es proporcional a la amplitud de los armónicos.

66 66 Figura 9. Analizador de Espectros implementado en una FPGA. Pruebas de Funcionamiento del Analizador de Espectros Paso 1 Para comprobar el correcto funcionamiento del Sistema del Analizador de Espectro implementado en la FPGA Virtex II Pro XV2P30 se utilizará señales conocidas tal cual como señales sinusoidales, señales cuadradas, y señales triangulares. Para la generación de las señales se empleará el Software Cool Edit Pro 2.1 el mismo que se exportará hacia el entorno de System Generator de Matlab. Hay que tener en cuenta que el analizador de espectros fue implementado en el FPGA bajo el entorno de co-simulación, es decir que se realiza una simulación en el entorno de System Generator y se realiza al mismo tiempo el procesamiento de la señal en la tarjeta en tiempo real. Además el diseño cuenta con un límite en cuanto a la señal de entrada, la cual debe de estar entre 0 a 12 KHz. En cuanto al funcionamiento del Analizador de Espectro, se sabe que en el dominio del tiempo las señales se ven y muestran distinta información que en el dominio de la frecuencia, y como método para comprobar su correcto funcionamiento esta el introducir primeramente una señal pura de 5 KHz. Para una señal seno pura, su representación tanto en el tiempo como en el dominio de la frecuencia se ilustra en la figura 10.

67 67 Figura 10. Señal senoidal en el dominio temporal y frecuencial. Cuando se habla de señal senoidal pura, se refiere al hecho de que la onda no cuenta con ningunas otras componentes, lo cual se traslada al dominio de la frecuencia en que sólo se visualiza un solo componente de frecuencia la cual se denomina frecuencia fundamental. Sabiendo esto, en la gráfica 11 se visualiza la señal procesada por el Analizador de espectro en el FPGA. Figura 11. Señal senoidal de 5 KHz visualizado por el FPGA. Como se observa, la frecuencia fundamental de la señal se encuentra en 5 KHz, y no se visualiza armónicos secundarios. Hay que indicar que la escala vertical se representa en este caso en db, la cual es una función logarítmica en base a la amplitud de la señal en voltios en el dominio temporal.

68 68 Otra prueba es introduciendo una señal cuadrada de 1 KHz de frecuencia, cuya representación en el modo temporal y frecuencial se muestra en la figura 12. Figura 12. Señal cuadrada en el dominio temporal y frecuencial. Como se observa en la figura superior, una señal cuadrada además de contar con el armónico principal posee armónicos secundarios los cuales son múltiplos escalares de la frecuencia fundamental tal como se visualiza en la gráfica 12. Para comprobarlo, se ingresará al analizador de espectros tal señal, cuyos resultados se observan en la figura 13. Figura 13. Señal cuadrada de 1 KHz visualizado en db por el FPGA. En la gráfica superior se visualiza la señal cuadrada a 1 KHz graficada por el Analizador de espectros en escala logarítmica, pero en la figura 14 se presenta la misma señal pero esta vez en escala lineal.

69 69 Figura 14. Señal cuadrada de 1 KHz visualizado en escala lineal por el FPGA. La gráfica superior se observa que la representación espectral para una señal cuadrada de 1 KHz es similar a la explicada en la figura 12, presentando así la confiabilidad de los datos para el Analizador de Espectros implementado en una FPGA. Para finalizar, se ingresará una señal triangular de 1 KHz cuya representación en el modo temporal y frecuencial se muestra en la figura 15. Figura 15. Señal triangular en el dominio temporal y frecuencial. Como se observa en la figura superior, una señal triangular además de contar con el armónico principal posee armónicos secundarios al igual que en una señal cuadrada, aunque sus niveles de voltaje son menores como se visualiza en la gráfica 15. Para comprobarlo, se ingresará al analizador de espectros tal señal, cuyos resultados se observan en la figura 16.

70 70 Figura 16. Señal triangular de 1 KHz visualizado en db por el FPGA. En la gráfica superior se visualiza la señal triangular a 1 KHz graficada por el Analizador de espectros en escala logarítmica, pero en la figura 17 se presenta la misma señal pero esta vez en escala lineal. Figura 17. Señal triangular de 1 KHz visualizado en escala lineal por el FPGA. La gráfica superior se observa que la representación espectral para una señal triangular de 1 KHz es similar a la explicada en la figura 15, presentando así la confiabilidad de los datos para el Analizador de Espectros implementado en una FPGA.

71 71 ANEXO C DISEÑO ESQUEMATICOS TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas CONTENIDO: Diseño General del SMST en Esquemático REVISADO: DIBUJO: 1 FECHA: NÚMERO: 1/4 ESCALA: 1:1

72 72 TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas. CONTENIDO: Diseño del Módulo de Adquisición en Esquemático REVISADO: DIBUJO: 2 FECHA: NÚMERO: 2/4 ESCALA: 1:1

73 73 TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas CONTENIDO: Diseño del SR8CE del Módulo de Adquisición. REVISADO: DIBUJO: 3 FECHA: NÚMERO: 3/4 ESCALA: 1:1

74 74 TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas CONTENIDO: Diseño del Módulo de Vga Display REVISADO: DIBUJO: 4 FECHA: NÚMERO: 4/4 ESCALA: 1:1

75 75 ANEXO D CÓDIGO EN VHDL. CÓDIGO DEL S2PCTRL DEL MÓDULO DE ADQUISITION. -- Descripción -- 's2pctrl' es la parte de control del módulo de Adquisición. -- Esta implementa el protocolo de comunicación con el convertidor A/D. -- Además envía las señales de control al conversor A/D (convst, sclk) -- Recibe los datos (din) library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity s2pctrl is port (rst : in std_logic; mclk : in std_logic; sample : in std_logic; -- dice q está listo para la conversión convst : out std_logic; -- inicia la conversión sclk : out std_logic; load : out std_logic; sh_en : out std_logic; rdy : out std_logic); -- la conversión está lista end s2pctrl; architecture Behavioral of s2pctrl is signal cnt: std_logic_vector(7 downto 0) := (others => '0'); begin -- con la ayuda de "cnt" el controlador obedece el tiempo de las señales del convertidor A/D

76 76 process(mclk, sample,cnt) begin if (sample = '1') then cnt <= (others => '0'); -- está bien empezar elsif (mclk'event and mclk = '1') then cnt <= cnt + 1; end if; if (cnt = X"FF") then cnt(0) <= '0'; -- previene que el contador este en overflow (mantenerlo en X "FE") empezando una conversión sin el consentimiento de osc_ctrl -- ('cnt' debería ser reseteado solo por sample='1') end if; end process; sh_en <= '1' when (cnt >= X"D6" and cnt < X"F5") else '0'; --habilita el clock serial cuando es necesitado sclk <= cnt(1); -- los datos son recibidos desde el ADC en el flaco de subida de 'sclk' load <= not cnt(1); -- carga los bits en el registro convst <= '1' when (cnt = X"28" or rst = '1') else '0' when cnt = X"02"; -- convst es activado alrededor de 1 us rdy <= '1' when (sample = '1' or rst = '1') else -- rdy es reseteado cuando osc_ctrl reconoce la activación de 'rdy' (poniendo sample a '1') '0' when cnt = X"F5"; -- rdy es activado cuando la conversión esta lista y los datos están disponibles en el registro end Behavioral;

77 77 CÓDIGO DE LA FUNCIÓN SR_TUNER DEL MÓDULO DE OSC_CTRL. -- Descripción -- 'srate' representa el tiempo transcurrido entre dos muestras -- 'srate' es incrementado o decrementado exponencialmente cuando es presionado 'smpupbtn'/'smpdownbtn' -- 'srate' inicia en un valor específico (250 ns) luego este es incrementado (500, 1000, etc.) -- 'uspdiv' representa los 'microsegundos por división' en la pantalla del osciloscopio library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity sr_tuner is PORT( ssg : OUT STD_LOGIC_VECTOR (7 DOWNTO 0); an : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); srate : OUT STD_LOGIC_VECTOR (15 DOWNTO 0); dn : IN STD_LOGIC; up : IN STD_LOGIC; rst : IN STD_LOGIC; mclk : IN STD_LOGIC); end sr_tuner; architecture Behavioral of sr_tuner is COMPONENT rate2div PORT( srate : IN std_logic_vector(15 downto 0); uspdiv : OUT std_logic_vector(15 downto 0) ); END COMPONENT; COMPONENT ssgdisp PORT( rst : IN std_logic; mclk : IN std_logic;

78 78 xval : IN std_logic_vector(15 downto 0); ssg : OUT std_logic_vector(7 downto 0); an : OUT std_logic_vector(3 downto 0) ); END COMPONENT; COMPONENT btnpush PORT( mclk : IN STD_LOGIC; up : IN STD_LOGIC; dn : IN STD_LOGIC; en : OUT STD_LOGIC); END COMPONENT; signal ce : std_logic; signal load : std_logic; signal uord : std_logic; signal sr : std_logic_vector(15 downto 0); signal xval : std_logic_vector(15 downto 0); begin -- incrementa / decrementa el 'srate' de acuerdo a los botones de entrada (up/dn) process (mclk) begin if (mclk'event and mclk='1') then if (load='1') then sr <= X"00FA"; elsif (ce = '1') then if (up = '1') then sr <= sr(14 downto 0) & '0'; else sr <= '0' & sr(15 downto 1); end if; end if; end if; end process;

79 79 load <= rst or not sr(7); srate <= sr; uord <= up or dn; -- este proceso tiene cuidado que el valor de "srate" sea incrementado solamente una vez, cuando el botón es presionado process(mclk, uord) variable push_event : boolean := false; begin if (uord = '0') then ce <= '0'; push_event := false; elsif (mclk'event and mclk='1') then if (push_event = false) then ce <= '1'; push_event := true; else ce <= '0'; end if; end if; end process; -- esta unidad calcula el valor en 'microsegundos por división' para ser mostrado acorde a 'srate' srate2uspdiv: rate2div PORT MAP( srate => sr, uspdiv => xval ); -- el los 7 segmentos se muestra el valor de los 'microsegundos por división' ssg_display: ssgdisp PORT MAP( rst => rst, mclk => mclk, xval => xval,

80 80 ssg => ssg, an => an ); end Behavioral; CÓDIGO DE LA SUB FUNCIÓN RATE2 DEL MÓDULO DE OSC_CTRL. -- Descripción -- 'uspdiv' representa los 'microsegundos por división' en la pantalla del osciloscopio -- 'uspdiv' es una función lineal de 'srate': 'uspdiv' = 'srate' x periodos (mclk) x (número de píxeles entre dos líneas verticales) library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity rate2div is Port ( srate : in std_logic_vector(15 downto 0); uspdiv : out std_logic_vector(15 downto 0)); end rate2div; architecture Behavioral of rate2div is signal val : std_logic_vector(4 downto 0); begin -- el valor de uspdiv es traducido, en vez de ser calculado para optimización --'uspdiv' = 'srate' x periodo (mclk) x (número de píxeles entre dos líneas verticales) --'uspdiv' = 'srate' x 20 ns x 40 ns/div -- si 'srate'=250 ns (X"00FA") entonces 'uspdiv' = 250 ns x 20 ns x 40 ns/div = ns = 200 us val <= "00001" when srate=x"00fa" else "00010" when srate=x"01f4" else "00100" when srate=x"03e8" else

81 81 "01011" when srate=x"07d0" else "11001" when srate=x"0fa0"; uspdiv <= "00" & val & " "; end Behavioral; CÓDIGO DE LA SUB FUNCIÓN SSGDISP DEL MÓDULO DE OSC_CTRL. -- Descripción -- muestra los valores en los displeys de 7 segmentos library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity ssgdisp is Port (rst : in std_logic; mclk : in std_logic; -- clock principal de 50 MHz xval : in std_logic_vector(15 downto 0); -- número en hexadecimal para ser mostrado (4 dígitos) ssg : out std_logic_vector(7 downto 0); an : out std_logic_vector(3 downto 0)); end ssgdisp; architecture Behavioral of ssgdisp is -- contador en milisegundos (exactamente ms) el tiempo en que un dígito es mostrado en el 7 segmentos signal ms_cnt : std_logic_vector(15 downto 0); -- cuál digito es mostrado en un tiempo dado signal digcnt : std_logic_vector( 1 downto 0);

82 82 -- el valor hexadecimal de un digito signal hex : std_logic_vector(3 downto 0); signal dig : std_logic_vector(6 downto 0); begin -- ms_cnt es reseteado cada milisegundo => el periodo de ms_cnt(15) es 1 ms process (rst, mclk, ms_cnt) begin if (rst = '1') then ms_cnt <= (others => '0'); elsif (mclk'event and mclk = '1') then ms_cnt <= ms_cnt + 1; end if; end process; -- cada digito del número a ser mostrado (ej. xval) es activado en el 7 segmentos en 1 ms process(rst, ms_cnt(15)) begin if (rst = '1') then digcnt <= "00"; elsif (ms_cnt(15)'event and ms_cnt(15) = '1') then digcnt <= digcnt + 1; end if; end process; -- estos intervalos de 4-bit representan los digitos (hexa) de los numeros a ser mostrados hex <= xval(15 downto 12) when (digcnt = "00") else xval(11 downto 8) when (digcnt = "01") else

83 83 xval(7 downto 4) when (digcnt = "10") else xval(3 downto 0) when (digcnt = "11"); -- habilita el ánodo correcto a un tiempo apropiada an <= "1110" when (digcnt = "00") else "1101" when (digcnt = "01") else "1011" when (digcnt = "10") else "0111" when (digcnt = "11"); dig <= " " when hex = "0000" else 0 " " when hex = "0001" else -- 1 " " when hex = "0010" else -- 2 " " when hex = "0011" else -- 3 " " when hex = "0100" else -- 4 " " when hex = "0101" else -- 5 " " when hex = "0110" else -- 6 " " when hex = "0111" else -- 7 " " when hex = "1000" else -- 8 " " when hex = "1001" else -- 9 " " when hex = "1010" else -- A " " when hex = "1011" else -- B " " when hex = "1100" else -- C " " when hex = "1101" else -- D " " when hex = "1110" else -- E " " when hex = "1111" else -- F " "; ssg(6 downto 0) <= not dig; ssg(7) <= '1'; end Behavioral; -- Descripción CÓDIGO DEL VGA_MEM DEL MÓDULO DE VGA_DISPLAY.

84 84 -- memoria del video: cada entrada in la memoria representa una columna en la pantalla -- el valor de una entrada es la coordenada en y en la pantalla library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity vgamemory is Port (rst : in std_logic; rd : in std_logic; wr : in std_logic; r_addr : in std_logic_vector(9 downto 0); w_addr : in std_logic_vector(9 downto 0); dataout : out std_logic_vector(7 downto 0); datain : in std_logic_vector(7 downto 0)); end vgamemory; architecture Behavioral of vgamemory is type mem_type is array (639 downto 0) of std_logic_vector(7 downto 0); -- tamaño de la memoria: 640x8 signal mem: mem_type; begin -- proceso de lectura de la memoria process (rst,r_addr, rd, mem) begin dataout <= (others => '0'); if (rst = '0' and rd = '1') then dataout <= mem(conv_integer(r_addr)); end if; end process; -- proceso de escritura de la memoria

85 85 process (wr) begin if (wr'event and wr = '0') then mem(conv_integer(w_addr)) <= datain; end if; end process; end Behavioral; -- Descripción CÓDIGO DEL VGA DEL MÓDULO DE VGA_DISPLAY. -- vga es el controlador de las señales que se presentaran en la pantalla library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity vga is Port ( mclk : in std_logic; data : in std_logic_vector(7 downto 0); addr : out std_logic_vector(9 downto 0); rd : out std_logic; hs : out std_logic; vs : out std_logic; red : out std_logic; grn : out std_logic; blu : out std_logic); end vga; architecture Behavioral of vga is constant hpixels : std_logic_vector(9 downto 0) := " "; Valor de los píxeles en la línea horizontal

86 86 constant vlines : std_logic_vector(9 downto 0) := " "; Número de líneas horizontales en la pantalla constant hbp : std_logic_vector(9 downto 0) := " "; Porche trasero horizontal constant hfp : std_logic_vector(9 downto 0) := " "; Porche frontal horizontal constant vbp : std_logic_vector(9 downto 0) := " "; Porche trasero vertical constant vfp : std_logic_vector(9 downto 0) := " "; Porche frontal vertical constant xmax : std_logic_vector(9 downto 0) := " "; constant ymax : std_logic_vector(9 downto 0) := " "; signal hc, vc : std_logic_vector(9 downto 0) := " "; -- estos son los contadores horizontales y verticales signal clkdiv : std_logic := '0'; -- divisor del clock signal vidon : std_logic := '0'; -- dice si está o no listos los datos para mostrar signal vsenable : std_logic := '0'; -- habilita el contador vertical signal x, y : std_logic_vector(9 downto 0) := " "; -- coordenadas horizontales y verticales signal ycoord : std_logic_vector(9 downto 0) := " "; begin -- esto reduce los 50Mhz del clock a la mitad process(mclk) begin if(mclk = '1' and mclk'event) then clkdiv <= not clkdiv; end if; end process; -- corre el contador horizontal process(clkdiv)

87 87 begin if(clkdiv = '1' and clkdiv'event) then if hc = hpixels then -si el contador a llegado al final de contar píxeles hc <= " "; --resetea el contador vsenable <= '1'; --habilita el contador vertical para incrementar else hc <= hc + 1; --Incrementa el contador horizontal vsenable <= '0'; end if; end if; end process; hs <= '1' when hc(9 downto 7) = "000" else '0'; --pulso de sincronización horizontal process(clkdiv) begin if(clkdiv = '1' and clkdiv'event and vsenable = '1') then if vc = vlines then --Resetea cuando el numero de línea es leído vc <= " "; else vc <= vc + 1; --Incrementa el contador vertical end if; end if; end process; vs <= '1' when vc(9 downto 1) = " " else '0'; --Pulso de sincronización Vertical x <= hc - hbp; y <= vc - vbp; ycoord <= " " - (data * " "); grn <= '1' when (y = ycoord and vidon = '1') else '0'; -- traza la señal en la pantalla

88 88 red <= '1' when (y = X"00F0" and vidon = '1') else '0'; -- dibuja una línea la cual representa la señal de valor '0' -- dibuja las cuadrículas azules blu <= '1' when ((y = X"6F" or y = X"9A" or y = X"C5" or y = X"11B" or y = X"146" or y = X"171" or dibuja las líneas horizontales ((x = X"27" or x = X"4F" or x = X"77" or x = X"9F" or x = X"C7" or x = X"EF" or x = X"117" or x = X"13F" or x = X"167" or x = X"18F" or x = X"1B7" or x = X"1DF" or x = X"207" or x = X"22F" or x = X"257") -- dibuja las líneas verticales and y > X"6F" and y < X"171")) estas líneas representan el mínimo y the maximum of the signal and vidon='1' and clkdiv = '1') or -- these rows represent the minimum and the maximum of the signal ((x = X"7" or x = X"F" or x = X"17" or x = X"1F" or x = X"27" or x = X"2F" or x = X"37" or x = X"3F" or x = X"47" or x = X"4F" or x = X"57" or x = X"5F" or x = X"67" or x = X"6F" or x = X"77" or x = X"7F" or x = X"87" or x = X"8F" or x = X"97" or x = X"9F" or x = X"A7" or x = X"AF" or x = X"B7" or x = X"BF" or x = X"C7" or x = X"CF" or x = X"D7" or x = X"DF" or x = X"E7" or x = X"EF" or x = X"F7" or x = X"FF" or x = X"107" or x = X"10F" or x = X"117" or x = X"11F" or x = X"127" or x = X"12F" or x = X"137" or x = X"13F" or x = X"147" or x = X"14F" or x = X"157" or x = X"15F" or x = X"167" or x = X"16F" or x = X"177" or x = X"17F" or x = X"187" or x = X"18F" or x = X"197" or x = X"19F" or x = X"1A7" or x = X"1AF" or x = X"1B7" or x = X"1BF" or x = X"1C7" or x = X"1CF" or x = X"1D7" or x = X"1DF" or x = X"1E7" or x = X"1EF" or x = X"1F7" or x = X"1FF" or x = X"207" or x = X"20F" or x = X"217" or x = X"21F" or x = X"227" or x = X"22F" or x = X"237" or x = X"23F" or x = X"247" or x = X"24F" or x = X"257" or x = X"25F" or x = X"267" or x = X"26F" or x = X"277") and y > X"EC" and y < X"F4") or ((y = X"92" or y = X"89" or y = X"80" or y = X"77" or y = X"6F" or y = X"BD" or y = X"B4" or y = X"AB" or y = X"A2" or y = X"9A" or y = X"F0" or y = X"E8" or y = X"DF" or y = X"D6" or y = X"CD" or y = X"C5" or y = X"F8" or y = X"101" or y = X"10A" or y = X"113" or y = X"11B" or y = X"123" or y = X"12C" or y = X"135" or y = X"13E" or y = X"146" or y = X"14E" or y = X"157" or y = X"160" or y = X"169" or y = X"171") and x > X"13B" and x < X"143")else '0'; vidon <= '1' when ((hc < hfp) and (hc > hbp) and (vc < vfp) and (vc > vbp)) else '0'; -- habilita el spot en la pantalla rd <= '1' when (x > X"27" and x <= xmax and y > X"6F" and y <= ymax) else '0'; -- lee la señal de la memoria addr <= x; end Behavioral;

89 89 ANEXO E FUNDAMENTO MATEMÁTICO DEL CIRCUITO DE ATENUACIÓN Y ACONDICIONAMIENTO. CIRCUITO DE ATENUACIÓN. El circuito de atenuación descrito en los capítulos anteriores fue diseñado en base al software Electronics Workbench 9 y tiene como objetivo el atenuar las distintas señales procedentes de la tarjeta de sonido o del generador de funciones. Además permite crear una protección para el sobre voltaje permitiendo de esta forma cuidar el ADC presente en la tarjeta periférica AIO1. En la figura 5.1 se muestra el circuito de atenuación con sus respectivos valores de sus componentes. Figura 5.1 Circuito Atenuador.

90 90 El sustento matemático del circuito de atenuación se describe a continuación para la configuración de un operacional como un atenuador inversor tal como se ve en la figura 5.2 y está dado por la fórmula: Figura 5.2 Amplificador Inversor = * (V.1) En base a ésta ecuación se definirá los valores tanto para Rf y Ra. Cabe mencionar que el signo negativo de la ecuación (V.1) se debe que la señal de salida está desfasada con respecto a la señal que ingresa al circuito y no tiene relación a ningún valor de alguna resistencia. Para el primer módulo del circuito se tiene: ATENUADOR 1 En base a los requerimientos de diseño se tiene que Vo= 1V y Vi= 3V debido que para el atenuador 1 el rango de la señal de entrada va de 0 a 3V. En base a esto, la ecuación (V.1) se transforma en: (V.2) Tomando en cuenta la figura 5.1 la resistencia Rf= R1, Ra= R2 y Rc= R3. Asumiremos el valor de la resistencia Ra= 6.8 KΩ, por tanto Rf sería: *(6.8K) = KΩ 2.2 KΩ Siendo así, R1= 2.2 KΩ, R2= 6.8 KΩ. Como se ve Rc no tiene incidencia en la fórmula (V.1), por tanto se puede suponer cualquier valor siendo de esta forma, R3= 1 KΩ.

91 91 ATENUADOR 2 En base a los requerimientos de diseño se tiene que Vo= 1V y Vi= 6V debido que para el atenuador 2 el rango de la señal de entrada va de 3 a 6V. Tomando en cuenta la figura 5.1 la resistencia Rf= R4, Ra= R5 y Rc= R6. Asumiremos el valor de la resistencia Ra= 7.5 KΩ, y basándose en la ecuación (V.2) por tanto Rf sería: *(7.5 K) = 1.25 KΩ 1.2 KΩ Siendo así, R4= 1.2 KΩ, R5= 7.5 KΩ. Como se ve Rc no tiene incidencia en la fórmula (V.1), por tanto se puede suponer cualquier valor siendo de esta forma, R6= 1 KΩ. ATENUADOR 3 En base a los requerimientos de diseño se tiene que Vo= 1V y Vi= 12V debido que para el atenuador 3 el rango de la señal de entrada va de 6 a 12V. Tomando en cuenta la figura 5.1 la resistencia Rf= R7, Ra= R8 y Rc= R9. Asumiremos el valor de la resistencia Ra= 47 KΩ, y basándose en la ecuación (V.2) por tanto Rf sería: *(47 K) = 3.92 KΩ 3.9 KΩ Siendo así, R7= 3.9 KΩ, R8= 47 KΩ. Como se ve Rc no tiene incidencia en la fórmula (V.1), por tanto se puede suponer cualquier valor siendo de esta forma, R9= 1 KΩ. La salida de cada uno de los atenuadores va a un circuito sumador inversor de múltiples entradas (figura 5.3), la cual tiene como objetivo multiplexar a una sola señal y desfasar nuevamente 180 para así tener una correcta fase con respecto a la señal de entrada original

92 92 Figura 5.3 Amplificador Inversor con Entradas Múltiples La ecuación para un amplificador inversor con estradas múltiples está dada por la siguiente fórmula: = * (V.3) Basándose en la figura 5.1 Ra= R10, Rb= R11, Rc= R12, Rf= R13 y Rd= R14. Éste circuito no pretende amplificar o atenuar la señal, solo multiplexar a una sola señal y desfasar la señal para que concuerde con la señal de ingreso. Por otro lado, debido a la acción del switch 1 solo ingresa una señal a la vez es decir, por ejemplo cuando el voltaje es existente en la señal Va, el voltaje en Vb y Vc serán cero. Tomando en cuenta estas consideraciones podemos asumir que Ra= Rb= Rc= Rd= Rf= 1 KΩ, por lo tanto R10= R11= R12= R13= R14= 1 KΩ. Finalmente, se coloca el circuito de protección que consiste en el uso de dos resistencias y cuatro diodos, tal como se muestra en la figura 5.4. Figura 5.4 Circuito de Protección de sobre-voltaje

93 93 En base al gráfico, el circuito actúa como un limitador de voltaje en donde R1 y R2 permiten limitar el nivel de voltaje deseado. En si para éste circuito no hay una fórmula establecida, por lo que para obtener la respuesta del circuito que satisfaga el umbral de voltaje deseado se debe ajustar continuamente los valores de las resistencias aunque existe la premisa que R1 debe de estar en el orden de decenas de Ω y R2 en centenas de KΩ. El circuito para cumplir con las prestaciones planteadas debe permitir el paso de voltaje como máximo de 1.6 V, valores mayores a éste el circuito atenuará la señal automáticamente presentado una distorsión en su amplitud. Con estas premisas, tenemos que el valor para el R1 será de 100 Ω, y para R2 el valor de 68 KΩ. En cuanto a los diodos se utiliza unos de uso general tal como lo son los 1N4148. CIRCUITO DE ADECUACIÓN. El circuito de adecuación intenta desplazar verticalmente la señal proveniente del circuito de atenuación para una adecuada digitalización por parte del ADC presente en la tarjeta periférica. El circuito se muestra en la figura 5.5 con los valores de sus componentes. Figura 5.5 Circuito de Adecuación. El sustento matemático del circuito de adecuación se describe a continuación para la configuración de un operacional como un atenuador no inversor con múltiples entradas (figura 5.6) y está dado por la fórmula:

94 94 Figura 5.6 Amplificador no Inversor con Entradas Múltiples = * * (V.4) Donde de acuerdo con los requerimientos del sistema Vo= 3V debido que es el valor máximo que puede recibir el ADC para la conversión de la señal analógica a digital. Además se tiene que Va= VCC33= 3.3V que es el voltaje de alimentación que proviene de la tarjeta periférica conectada hacia el FPGA, el valor de Vb= 1V que proviene desde el circuito de atenuación. Por otro lado, se hará la suposición que el valor de Ra= 9.7 KΩ y Rb= 4.7 KΩ, convirtiéndose de esta forma la ecuación (V.4) en: (V.5) En base a la ecuación (V.5) y reemplazando los valores de Ra, Rb, Vo, Va y Vb, podemos encontrar al relación de valores entre Rf y Rc. ; Si asumimos que el valor de Rc= 6.8 KΩ, entonces por despeje de la formula anterior tenemos: KΩ KΩ 4.8 KΩ

95 95 Hay que indicar que el objetivo de éste circuito es el de variar el desplazamiento vertical de la señal o shift up, por lo que la resistencia Ra= 9.7 KΩ se derivará en dos resistencia en serie, con un potenciómetro de 5 KΩ el cual controlará el desplazamiento vertical y una resistencia de 4.7 KΩ, tal como se observa en la figura 5.5.

96 96 ANEXO F TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas CONTENIDO: Diseño del Sistema de Monitorización de Señales en Frecuencia en SysGen REVISADO: DIBUJO: 5 FECHA: NÚMERO: 1/3 ESCALA: 1:1

97 97 TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas CONTENIDO: Diseño del Módulo Filtrado y Diezmado en SysGen REVISADO: DIBUJO: 6 FECHA: NÚMERO: 2/3 ESCALA: 1:1

98 98 TITULO: Sistema de adquisición y monitoreo de señales eléctricas, basado en la utilización de una FPGA, para análisis y caracterización de señales en el rango de frecuencias bajas CONTENIDO: Diseño del Módulo Windowing, FFT y Magnitud en SysGen REVISADO: DIBUJO: 7 FECHA: NÚMERO: 3/3 ESCALA: 1:1

Última modificación: 1 de agosto de 2010. www.coimbraweb.com

Última modificación: 1 de agosto de 2010. www.coimbraweb.com Contenido DOMINIOS DEL TIEMPO Y DE LA FRECUENCIA 1.- Señales analógicas y digitales. 2.- Señales analógicas periódicas. 3.- Representación en los dominios del tiempo y de la frecuencia. 4.- Análisis de

Más detalles

Laboratorio 4: Uso de una FPGA

Laboratorio 4: Uso de una FPGA Laboratorio 4: Uso de una FPGA Objetivos: Conocer y comprender la estructura interna de una FPGA y su tarjeta de desarrollo que será usada en el laboratorio, y los cuidados y recomendaciones para evitar

Más detalles

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC. TESIS DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC. DIRECTOR DE TESIS.- Ing. Francisco Novillo AUTOR Walter Mestanza Vera. Egresado

Más detalles

Circuito RC, Respuesta a la frecuencia.

Circuito RC, Respuesta a la frecuencia. Circuito RC, Respuesta a la frecuencia. A.M. Velasco (133384) J.P. Soler (133380) O.A. Botina (13368) Departamento de física, facultad de ciencias, Universidad Nacional de Colombia Resumen. Se armó un

Más detalles

TRABAJO PRACTICO No 7. MEDICION de DISTORSION EN AMPLIFICADORES DE AUDIO ANALIZADORES DE ESPECTRO DE AUDIO

TRABAJO PRACTICO No 7. MEDICION de DISTORSION EN AMPLIFICADORES DE AUDIO ANALIZADORES DE ESPECTRO DE AUDIO TRABAJO PRACTICO No 7 MEDICION de DISTORSION EN AMPLIFICADORES DE AUDIO ANALIZADORES DE ESPECTRO DE AUDIO INTRODUCCION TEORICA: La distorsión es un efecto por el cual una señal pura (de una única frecuencia)

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Tema 11: Instrumentación virtual

Tema 11: Instrumentación virtual Tema 11: Instrumentación virtual Solicitado: Tarea 09: Mapa conceptual: Instrumentación Virtual M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom

Más detalles

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i. Filtros Digitales Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i. En electrónica, ciencias computacionales y matemáticas, un filtro

Más detalles

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Qué son los FPGAs? Matriz de bloques lógicos configurables (CLB) y una matriz de interconexión. Los bloques lógicos

Más detalles

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA Experimental III: Introducción a la Microfabricación y FPGA - Instituto Balseiro Mauricio Tosi Diciembre de 2013 Resumen

Más detalles

Asignatura: CONTROL CLÁSICO Y MODERNO Departamento de Electrónica Facultad de Ingeniería U.Na.M 2015 GUIA DE LABORATORIO Nº2

Asignatura: CONTROL CLÁSICO Y MODERNO Departamento de Electrónica Facultad de Ingeniería U.Na.M 2015 GUIA DE LABORATORIO Nº2 GUIA DE LABORATORIO Nº2 Universidad Nacional de Misiones MÉTODOS CLÁSICOS PARA MODELACIÓN DE SISTEMAS 1. Objetivo de la práctica. Modelación a través de la Respuesta en frecuencia Este laboratorio tiene

Más detalles

CAPITULO 4. Inversores para control de velocidad de motores de

CAPITULO 4. Inversores para control de velocidad de motores de CAPITULO 4. Inversores para control de velocidad de motores de inducción mediante relación v/f. 4.1 Introducción. La frecuencia de salida de un inversor estático está determinada por la velocidad de conmutación

Más detalles

Instituto Tecnológico de Massachussets Departamento de Ingeniería Eléctrica e Informática. 6.002 Circuitos electrónicos Otoño 2000

Instituto Tecnológico de Massachussets Departamento de Ingeniería Eléctrica e Informática. 6.002 Circuitos electrónicos Otoño 2000 Instituto Tecnológico de Massachussets Departamento de Ingeniería Eléctrica e Informática 6.002 Circuitos electrónicos Otoño 2000 Tarea para casa 11 Boletín F00-057 Fecha de entrega: 6/12/00 Introducción

Más detalles

En el presente capítulo se describe la programación del instrumento virtual y cómo

En el presente capítulo se describe la programación del instrumento virtual y cómo Capítulo 6. Instrumentación virtual En el presente capítulo se describe la programación del instrumento virtual y cómo éste controla el circuito de captura de señales, la llamada telefónica y escribe los

Más detalles

INSTITUTO TECNOLOGICO DE COSTA RICA INGENIRIA ELECTRONICA ELECTRONICA DE POTENCIA PROF. ING. JUAN CARLOS JIMENEZ TEMA: CIRCUITOS INVERSORES

INSTITUTO TECNOLOGICO DE COSTA RICA INGENIRIA ELECTRONICA ELECTRONICA DE POTENCIA PROF. ING. JUAN CARLOS JIMENEZ TEMA: CIRCUITOS INVERSORES INSTITUTO TECNOLOGICO DE COSTA RICA INGENIRIA ELECTRONICA ELECTRONICA DE POTENCIA PROF. ING. JUAN CARLOS JIMENEZ TEMA: CIRCUITOS INVERSORES Son sistemas que funcionan automáticamente, sin necesidad de

Más detalles

Introducción a la Teoría del Procesamiento Digital de Señales de Audio

Introducción a la Teoría del Procesamiento Digital de Señales de Audio Introducción a la Teoría del Procesamiento Digital de Señales de Audio Transformada de Fourier Resumen el análisis de Fourier es un conjunto de técnicas matemáticas basadas en descomponer una señal en

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

MEDICIÓN Y AJUSTE DE LOS SISTEMAS DE REFUERZO SONORO

MEDICIÓN Y AJUSTE DE LOS SISTEMAS DE REFUERZO SONORO MEDICIÓN Y AJUSTE DE LOS SISTEMAS DE REFUERZO SONORO POR QUÉ ES NECESARIO MEDIR? QUÉ CONOCEMOS AL MEDIR UN SISTEMA DE AUDIO? QUÉ PARÁMETROS PODEMOS AJUSTAR? TIPOS DE MEDICIONES DE UN SOLO CANAL DE DOBLE

Más detalles

DESCRIPCION DEL SITEMA MASTER.

DESCRIPCION DEL SITEMA MASTER. DESCRIPCION DEL SITEMA MASTER. ESTRUCTURA. El sistema MASTER (Sistema Modular para Control Adaptativo en Tiempo Real) se ha implementado en base a un computador compatible PC-AT, dotado de una tarjeta

Más detalles

PRÁCTICA NÚMERO 1. MANEJO DEL OSCILOSCOPIO Y DEL GENERADOR DE SEÑALES.

PRÁCTICA NÚMERO 1. MANEJO DEL OSCILOSCOPIO Y DEL GENERADOR DE SEÑALES. PRÁCTICA NÚMERO 1. MANEJO DEL OSCILOSCOPIO Y DEL GENERADOR DE SEÑALES. 1.1. Introducción Teórica. (a) El osciloscopio El osciloscopio es básicamente un dispositivo de visualización gráfica que muestra

Más detalles

Osciloscopio Funciones

Osciloscopio Funciones Uso del osciloscopio para determinar las formas de onda Uno de los procedimientos para realizar diagnósticos acertados, en las reparaciones automotrices, es el buen uso del osciloscopio. Este instrumento

Más detalles

Representación de señales de audio

Representación de señales de audio Representación de señales de audio Emilia Gómez Gutiérrez Síntesi i Processament del So I Departament de Sonologia Escola Superior de Musica de Catalunya Curso 2009-2010 emilia.gomez@esmuc.cat 28 de septiembre

Más detalles

9) UPS s: EN QUE CONSISTEN DE QUE Y COMO PROTEGEN

9) UPS s: EN QUE CONSISTEN DE QUE Y COMO PROTEGEN 9) UPS s: EN QUE CONSISTEN DE QUE Y COMO PROTEGEN En el mercado actual hay gran cantidad de diseños de UPS. Puede llegar a ser confuso determinar que tipo de equipo es el más conveniente para nuestra carga

Más detalles

Circuito RL, Respuesta a la frecuencia.

Circuito RL, Respuesta a la frecuencia. Circuito RL, Respuesta a la frecuencia. A.M. Velasco (133384) J.P. Soler (133380) O.A. Botina (133268) Departamento de física, facultad de ciencias, Universidad Nacional de Colombia Resumen. Se estudia

Más detalles

Capítulo 1 CAPÍTULO 1-INTRODUCCIÓN-

Capítulo 1 CAPÍTULO 1-INTRODUCCIÓN- CAPÍTULO 1-INTRODUCCIÓN- 1 1.1 INTRODUCCIÓN El Procesamiento Digital de Señales es un área de la ingeniería que ha estado creciendo rápidamente a través de las últimas décadas. Su rápido desarrollo es

Más detalles

Actividad 4: Comunicación entre PLC s vía Ethernet

Actividad 4: Comunicación entre PLC s vía Ethernet Actividad 4: Comunicación entre PLC s vía Ethernet 1.- Listado de materiales: PC con Tarjeta de red 3com o similar. 2 PLC Omrom CJ1M CPU11 ETN Estos autómatas llevan integrada la tarjeta de comunicaciones

Más detalles

CAPÍTULO 3 Programación en LabVIEW

CAPÍTULO 3 Programación en LabVIEW CAPÍTULO 3 Programación en LabVIEW 3.1 Conexión física de los elementos Para capturar todas las señales provenientes de los sensores se utilizó una tarjeta de adquisición de datos de National Instruments,

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN Procesamiento de Vídeo en Tiempo Real Utilizando FPGA J. G. Velásquez-Aguilar, A. Zamudio-Lara Centro de Investigación en Ingeniería y Ciencias Aplicadas, Universidad Autónoma del Estado de Morelos, Cuernavaca,

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs Técnicas de Programación Hardware: CAD para FPGAs y CPLDs Clase 4: FPGAs Por: Nelson Acosta & Daniel Simonelli UNICEN - Tandil - 1999 1 Implementación de Sistemas Procesador convencional. Economico, conjunto

Más detalles

Interoperabilidad de Fieldbus

Interoperabilidad de Fieldbus 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 201 Interoperabilidad de Fieldbus Generalidades Qué es interoperabilidad?

Más detalles

1. Representación de la información en los sistemas digitales

1. Representación de la información en los sistemas digitales Oliverio J. SantanaJaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2005 2006 1. Representación de la información en los sistemas digitales Durante Hoy Los digital tipo muchos

Más detalles

Preguntas teóricas de la Clase N 5

Preguntas teóricas de la Clase N 5 Preguntas teóricas de la Clase N 5 1) Respecto a la cadena de amplificación del sistema vertical (eje Y) de un osciloscopio de rayos catódicos (ORC) Qué entiende por: 1. Impedancia de entrada? Componentes

Más detalles

Unidad 1. La información

Unidad 1. La información Unidad 1. La información En esta unidad aprenderás: Los conceptos básicos de la informática. Cómo se representa la información dentro del ordenador. Las unidades de información. 1.1 Conceptos básicos Informática.

Más detalles

Gestión digital sencilla de controladores de fuentes de alimentación analógicas

Gestión digital sencilla de controladores de fuentes de alimentación analógicas COMENTARIO TECNICO Gestión digital sencilla de controladores de fuentes de alimentación analógicas Por Josh Mandelcorn, miembro del equipo técnico de Texas Instruments Normalmente, el control digital de

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Comparadores UNIDAD V

Comparadores UNIDAD V Comparadores UNIDAD V Tecsup Virtu@l Automatización Lógica Programable Índice MÓDULO 2: PROGRAMACIÓN AVANZADA Unidad V: COMPARADORES 1. Comparadores... 1 1.1 Introducción... 1 1.2 Objetivos... 1 1.3 Contenido...

Más detalles

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas AUTOMATIZACION GUIA DE TRABAJO 2 DOCENTE: VICTOR HUGO BERNAL UNIDAD No. 3 OBJETIVO GENERAL Realizar una introducción a los controladores lógicos programables OBJETIVOS ESPECIFICOS: Reconocer la arquitectura

Más detalles

5. Despliegue en la PC

5. Despliegue en la PC 5 DESPLIEGUE EN LA PC 62 5.1 Conexión a la PC por medio de la tarjeta de audio La adquisición de señales analógicas es un trabajo que cada vez se hace más necesario en todos los campos relacionados con

Más detalles

Nociones básicas sobre adquisición de señales

Nociones básicas sobre adquisición de señales Electrónica ENTREGA 1 Nociones básicas sobre adquisición de señales Elaborado por Juan Antonio Rubia Mena Introducción Con este documento pretendemos dar unas nociones básicas sobre las técnicas de medida

Más detalles

Práctica No. 6 del Curso Meteorología y Transductores. "Mediciones de valor medio y valor eficaz"

Práctica No. 6 del Curso Meteorología y Transductores. Mediciones de valor medio y valor eficaz Objetivo. Práctica No. 6 del Curso Meteorología y Transductores. "Mediciones de valor medio y valor eficaz" Graficar varias señales del generador de señales y comprobar en forma experimental el voltaje

Más detalles

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control CAPÍTULO V. CONCLUSIONES. La presente tesis pretende que los estudiantes observen la teoría de las acciones de control de forma virtual al mismo tiempo analicen físicamente los sistemas electrónicos cuando

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

Procesamiento digital de señales y radios definidas en software

Procesamiento digital de señales y radios definidas en software 1 2 2 3 4 5 5 6 Procesamiento digital de señales y radios definidas en software Marcelo Franco, N2UO www.qsl.net/n2uo En los últimos tiempos se han popularizado dos siglas entre los radioaficionados: DSP

Más detalles

Especificación para el Sistema de administración de datos y monitoreo en línea de baterías para sistema de UPS

Especificación para el Sistema de administración de datos y monitoreo en línea de baterías para sistema de UPS 1 Alcance Esta especificación define los requisitos mínimos para un Sistema de administración de datos y monitoreo predictivo en línea de baterías (BMDMS, por sus siglas en inglés Battery Monitor Data

Más detalles

Facultad: Ingeniería Escuela: Electrónica Asignatura: Sistemas de comunicación I Tema: Modulación de Amplitud Segunda Parte.

Facultad: Ingeniería Escuela: Electrónica Asignatura: Sistemas de comunicación I Tema: Modulación de Amplitud Segunda Parte. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Sistemas de comunicación I Tema: Modulación de Amplitud Segunda Parte. Objetivos Medir el porcentaje de modulación de una señal de AM. Medir y constatar

Más detalles

Metodologías de diseño de hardware

Metodologías de diseño de hardware Capítulo 2 Metodologías de diseño de hardware Las metodologías de diseño de hardware denominadas Top-Down, basadas en la utilización de lenguajes de descripción de hardware, han posibilitado la reducción

Más detalles

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas. Que es una FPGA? Las FPGA s (Field Programmable Gate Array) Son dispositivos lógicos de propósito general programable por los usuarios, compuesto de bloques lógicos comunicados por conexiones programables.

Más detalles

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola

Más detalles

USB (Universal Serial Bus)

USB (Universal Serial Bus) USB (Universal Serial Bus) USB es una interfaz para transmisión de datos y distribución de energía que ha sido introducida en el mercado de PC s y periféricos para mejorar las lentas interfaces serie (RS-232)

Más detalles

1.3 WWW.TRANSLIFT.COM.VE

1.3 WWW.TRANSLIFT.COM.VE Osciloscopio USB 40MS/s Manual del usuario 1.3 Especificaciones Osciloscopio Digital USB para PC 40MS/s Conexión USB ópticamente aislada. Analizador Lógico de 8 bits (No simultaneo con la función osciloscopio)

Más detalles

3rasJornadasITE-2015-FacultaddeIngeniería-UNLP PROCESAMIENTO DIGITALSOBRELAPLACABASELPC1769. Anderson,Jorge;Osio, Jorge;Kunysz,EduardoYRapalini;José

3rasJornadasITE-2015-FacultaddeIngeniería-UNLP PROCESAMIENTO DIGITALSOBRELAPLACABASELPC1769. Anderson,Jorge;Osio, Jorge;Kunysz,EduardoYRapalini;José 3rasJornadasITE-2015-FacultaddeIngeniería-UNLP PROCESAMIENTO DIGITALSOBRELAPLACABASELPC1769 Anderson,Jorge;Osio, Jorge;Kunysz,EduardoYRapalini;José UIDETCeTAD 48y1162ºPisoDepartamentodeElectrotecnia,josrap@ing.unlp.edu.ar

Más detalles

Introducción al PSPICE

Introducción al PSPICE Pspice incluye varios programas, entre ellos está Schematics que es un programa de captura con una interfase directa a otros programas y opciones de Pspice. Con este programa se pueden realizar varias

Más detalles

IV. Implantación del sistema.

IV. Implantación del sistema. IV. Implantación del sistema. Para hablar sobre el proceso de desarrollo del sistema de Recuperación de Información Visual propuesto, empezaremos hablando del hardware utilizado, las herramientas de software

Más detalles

Placa de control MCC03

Placa de control MCC03 Placa de control MCC03 Placa de control MCC03 La placa de control basada en el micro controlador PIC 16F874A de Microchip, es la encargada del procesar los datos que se introducen en el sistema y actuar

Más detalles

3.1. FUNCIÓN SINUSOIDAL

3.1. FUNCIÓN SINUSOIDAL 11 ÍNDICE INTRODUCCIÓN 13 CIRCUITOS DE CORRIENTE CONTINUA 19 Corriente eléctrica. Ecuación de continuidad. Primera ley de Kirchhoff. Ley de Ohm. Ley de Joule. Fuerza electromotriz. Segunda ley de Kirchhoff.

Más detalles

CONVERTIDORES DIGITAL ANALÓGICO Y ANALÓGICO - DIGITAL

CONVERTIDORES DIGITAL ANALÓGICO Y ANALÓGICO - DIGITAL CONVERTIDORES DIGITAL ANALÓGICO Y ANALÓGICO - DIGITAL CONVERTIDORES DIGITAL ANALÓGICO Las dos operaciones E/S relativas al proceso de mayor importancia son la conversión de digital a analógico D/A y la

Más detalles

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática

Más detalles

Capitulo I. Introducción

Capitulo I. Introducción Capitulo I. Introducción 1.1 Descripción del trabajo El ser humano, como todos sabemos tiene la necesidad de comunicarse, de ser escuchado y sobretodo interactuar con los demás seres vivos que lo rodean.

Más detalles

UNIDAD VI. También cuenta con diferentes escalas de amplitud para cada canal, así como también en la base de tiempo.

UNIDAD VI. También cuenta con diferentes escalas de amplitud para cada canal, así como también en la base de tiempo. UNIDAD VI 6.1 Plano X-Y, escalas. El osciloscopio es un medidor de indicación cartesiana x-y, es decir, grafica formas de onda en dos planos que pueden ser voltajes vs. tiempo, voltaje vs. voltaje, etc.

Más detalles

PLACAS FERTIRIEGO ELECTRÓNICA NUEVA

PLACAS FERTIRIEGO ELECTRÓNICA NUEVA PLACAS FERTIRIEGO ELECTRÓNICA NUEVA AVERÍAS FUENTE INTERCONEXIÓN INTERFACE C.E. INTERFACE ph LLAVE HARD RELÉS TARJETA DE 32 SALIDAS 7520 Página 1 de 20 # PLACA DE AVERÍAS 12V # AVERÍAS Página 2 de 20 CONEXIONES

Más detalles

Osciloscopios de Visualización de Dos Señales

Osciloscopios de Visualización de Dos Señales Osciloscopios de Visualización de Dos Señales 1- Osciloscopio de Doble Trazo. Los osciloscopios de Trazo múltiple permiten graficar dos ó más señales simultáneamente en la pantalla. A diferencia de un

Más detalles

CAPITULO 6 GUIA DE USUARIO

CAPITULO 6 GUIA DE USUARIO GUIA DE USUARIO 6 Guía de usuario 6.1 Introducción Esta guía tiene como objetivo familiarizar al usuario con el uso del demodulador sintonizable de AM así como indicarle el software y hardware necesarios

Más detalles

WINDOWS. Iniciando Windows. El mouse

WINDOWS. Iniciando Windows. El mouse Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible

Más detalles

Capítulo 5 Programación del algoritmo en LabVIEW

Capítulo 5 Programación del algoritmo en LabVIEW Programación del algoritmo en LabVIEW En este capítulo se describen las funciones que se emplearon para implementar el control PID wavenet en LabVIEW. El algoritmo wavenet fue implementado en LabVIEW para

Más detalles

I. RELACIONES Y FUNCIONES 1.1. PRODUCTO CARTESIANO { }

I. RELACIONES Y FUNCIONES 1.1. PRODUCTO CARTESIANO { } I. RELACIONES Y FUNCIONES PAREJAS ORDENADAS Una pareja ordenada se compone de dos elementos x y y, escribiéndose ( x, y ) donde x es el primer elemento y y el segundo elemento. Teniéndose que dos parejas

Más detalles

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de cualquier modelo en el software Algor. La preparación de un modelo,

Más detalles

Actividades con GeoGebra

Actividades con GeoGebra Conectar Igualdad - "Netbooks Uno a Uno" Actividades con GeoGebra Nociones básicas, rectas Silvina Ponce Dawson Introducción. El GeoGeobra es un programa que permite explorar nociones matemáticas desde

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM COMUNICACIONES 3

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM COMUNICACIONES 3 UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM COMUNICACIONES 3 ~ 1 ~ ÍNDICE Introducción...página 3 Prácticas LabVolt...página

Más detalles

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos MODULACIÓN TRANSMISION DIGITAL La amplia naturaleza de las señales analógicas es evidente, cualquier forma de onda está disponible con toda seguridad en el ámbito analógico, nos encontramos con una onda

Más detalles

5. Metodologías de diseño de un ASIC

5. Metodologías de diseño de un ASIC 5. Metodologías de diseño de un ASIC 5.1. Introducción 5.2. Gate Arrays 5.3. Standard Cells 5.4. Seas of Gates 5.5. Dispositivos programables FPGAs Dispositivos programables El diseño de circuitos integrados

Más detalles

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

3.1 DEFINICIÓN. Figura Nº 1. Vector

3.1 DEFINICIÓN. Figura Nº 1. Vector 3.1 DEFINICIÓN Un vector (A) una magnitud física caracterizable mediante un módulo y una dirección (u orientación) en el espacio. Todo vector debe tener un origen marcado (M) con un punto y un final marcado

Más detalles

OSCILOSCOPIO FUNCIONAMIENTO:

OSCILOSCOPIO FUNCIONAMIENTO: OSCILOSCOPIO El osciloscopio es un instrumento electrónico - digital o analógico- que permite visualizar y efectuar medidas sobre señales eléctricas. Para esto cuenta con una pantalla con un sistema de

Más detalles

SEWERIN. Pre Localización De Fugas de Agua

SEWERIN. Pre Localización De Fugas de Agua SEWERIN Pre Localización De Fugas de Agua Ventajas del sistema La Pre localización de fugas de agua consiste en la escucha de la red en varios puntos. Para ello se utilizan loggers que graban sus sonidos

Más detalles

Reprogramación de módulos de control

Reprogramación de módulos de control Reprogramación de módulos de control Componentes de un computador. 1)Bloque de Entrada: Se denomina bloque de entrada a todos los circuitos que se encuentran como receptores de las diferentes señales que

Más detalles

Adquisición de audio con un micrófono con fpga

Adquisición de audio con un micrófono con fpga Adquisición de audio con un micrófono con fpga Sergio Encina Charles Trujillo 1. Introducción En el presente trabajo es parte de un proyecto que busca medir la diferencia de llegada de un impulso sonoro

Más detalles

Capitulo 3. Desarrollo del Software

Capitulo 3. Desarrollo del Software Capitulo 3 Desarrollo del Software 3.1 Análisis del sistema 3.1.1 Organización de la autopista virtual Para el presente proyecto se requiere de simular una autopista para que sirva de prueba. Dicha autopista

Más detalles

Objetivo. Desarrollo. Práctica 6 Multiplexado. Sección 1 Estudio del comportamiento de un circuito sample and hold

Objetivo. Desarrollo. Práctica 6 Multiplexado. Sección 1 Estudio del comportamiento de un circuito sample and hold Autor: Pedro I. López Contacto: dreilopz@gmail.com www.dreilopz.me Licencia: Creative Commons Attribution 3.0 Unported (CC BY 3.0 http://creativecommons.org/licenses/by/3.0/) Fecha: Febrero 2012. En ninguna

Más detalles

EL LOGRO DE SU FORMACIÓN DEPENDE TAMBIÉN DE USTED INSTRUCTOR: ING. JULIO CÉSAR BEDOYA PINO ELECTRÓNICA DIGITAL 2014

EL LOGRO DE SU FORMACIÓN DEPENDE TAMBIÉN DE USTED INSTRUCTOR: ING. JULIO CÉSAR BEDOYA PINO ELECTRÓNICA DIGITAL 2014 EL LOGRO DE SU FORMACIÓN DEPENDE TAMBIÉN DE USTED INSTRUCTOR: ING. JULIO CÉSAR BEDOYA PINO ELECTRÓNICA DIGITAL 2014 CONTENIDO ELECTRÓNICA DIGITAL SISTEMA DE REPRESENTACIÓN TABLA DE CONVERSIÓN EJERCICIOS

Más detalles

Introducción a FPGAs. Contenido

Introducción a FPGAs. Contenido Introducción a FPGAs Dra. Claudia Feregrino cferegrino@inaoep.mx Contenido 1. FPGA 2. Arquitectura genérica 3. Celda lógica 4. Field Programmable 5. Cómo se programa un FPGA 6. Herramientas de diseño 7.

Más detalles

TEMA 9 Cicloconvertidores

TEMA 9 Cicloconvertidores TEMA 9 Cicloconvertidores 9.1.- Introducción.... 1 9.2.- Principio de Funcionamiento... 1 9.3.- Montajes utilizados.... 4 9.4.- Estudio de la tensión de salida.... 6 9.5.- Modos de funcionamiento... 7

Más detalles

Clase 20: Arquitectura Von Neuman

Clase 20: Arquitectura Von Neuman http://computacion.cs.cinvestav.mx/~efranco @efranco_escom efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Arquitectura de una computadora Elementos básicos de una

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama. Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

MANUAL DE FACTURACIÓN TOUCH SCREEN

MANUAL DE FACTURACIÓN TOUCH SCREEN MANUAL DE FACTURACIÓN TOUCH SCREEN Tabla de Contenido Contenido Pág. CAPITULO 1... 3 CARACTERÍSTICAS Y BENEFICIOS... 3 CAPITULO 2... 4 ENTRADAS Y SALIDAS DEL MODULO... 4 Visión general... 4 Contenido del

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

TELECOMUNICACIONES ANALÓGICAS Y DIGITALES

TELECOMUNICACIONES ANALÓGICAS Y DIGITALES CARACTERÍSTICAS DE LAS SEÑALES EN TELECOMUNICACIONES ANALÓGICAS Y DIGITALES ANALÓGICO Y DIGITAL Son el principio fundamental para determinar los aspectos técnicos para la construcción de las redes de telecomunicaciones.

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

NANO GRABADOR OCULTO EXTENDED TS9680

NANO GRABADOR OCULTO EXTENDED TS9680 www.tacticalsecurity.net E-mail: info@tacticalsecurity.net NANO GRABADOR OCULTO EXTENDED TS9680 C CONTENIDO Página 1 El dispositivo... 2-3 2 Características técnicas... 4-5-6 3 Trabajando con el dispositivo...

Más detalles

Análisis espectral de señales periódicas con FFT

Análisis espectral de señales periódicas con FFT Análisis espectral de señales periódicas con FFT 1 Contenido 7.1 Introducción a la Transformada Discreta de Fourier 3-3 7.2 Uso de la Transformada Discreta de Fourier 3-5 7.3 Método de uso de la FFT 3-8

Más detalles

Manual de instalación y uso del Osciloscopio Sahuaro Moroleón UNO 2013

Manual de instalación y uso del Osciloscopio Sahuaro Moroleón UNO 2013 Manual de instalación y uso del Osciloscopio Sahuaro Moroleón UNO 2013 Por favor revise esta guía para operar correctamente su osciloscopio Nota: Las instrucciones y procedimientos presentados se enfocan

Más detalles

PRÁCTICA Nº 4: SIMULACIÓN DE CIRCUITOS EN RÉGIMEN TRANSITORIO Y CORRIENTE ALTERNA

PRÁCTICA Nº 4: SIMULACIÓN DE CIRCUITOS EN RÉGIMEN TRANSITORIO Y CORRIENTE ALTERNA PRÁCTICA Nº 4: SIMULACIÓN DE CIRCUITOS EN RÉGIMEN TRANSITORIO Y CORRIENTE ALTERNA 4.1. Medidas con el osciloscopio El osciloscopio es un instrumento que sirve para visualizar señales periódicas. Nos permite,

Más detalles

UNIVERSIDAD DON BOSCO

UNIVERSIDAD DON BOSCO CICLO I 2013 NOMBRE DE LA PRACTICA : LUGAR DE EJECUCIÓN: TIEMPO ESTIMADO: ASIGNATURA: DOCENTE(S): UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE ELECTRÓNICA GUÍA DE LABORATORIO

Más detalles

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...

Más detalles

UNIVERSIDAD DE IBAGUÉ INGENIERÍA ELECTRÓNICA MANUAL PRACTICO OSCILOSCOPIO DIGITAL HP 54600B

UNIVERSIDAD DE IBAGUÉ INGENIERÍA ELECTRÓNICA MANUAL PRACTICO OSCILOSCOPIO DIGITAL HP 54600B UNIVERSIDAD DE IBAGUÉ INGENIERÍA ELECTRÓNICA MANUAL PRACTICO OSCILOSCOPIO DIGITAL HP 54600B HAROLD A. ESQUIVEL C. TABLA DE CONTENIDO INTRODUCCION 1. ESPECIFICACIONES TECNICAS 1.1 SISTEMA VERTICAL 1.2 SISTEMA

Más detalles