Está en la página 1de 5

Adquisición de señales mediante interfaz gráfica en MATLAB y puertos ADC de FPGA- BASYS3

ADQUISICION DE SEÑALES MEDIANTE INTERFAZ GRAFICA EN


MATLAB Y PUERTOS ADC DE FPGA-BASYS3.

Diego Enrique Torralba Cárdenas


e-mail: u5600073@unimilitar.edu.co
Tripsy Lorena Ordosgoitia Tirado
e-mail: u5600147@unimilitar.edu.co
Manuel Alejandro Zuleta Londoño
e-mail: u5600155@unimilitar.edu.co

RESUMEN: Se describió un circuito que con base 1.2 CIRCUITOS SECUANCIALES


en el circuito en VHDL en la Práctica 7, adicione una
interfaz mediante el guide de MATLAB, usando el
Un circuito secuencial se compone de elementos de
protocolo de comunicación asincrónico RS-232 o UART,
almacenamiento, en forma de cierre o circuitos flip-flop y
para que pueda enviar los datos de la señal adquirida
un circuito de lógica combinatoria. Un circuito de
por el ADC de la FPGA por puerto serial a un
retención transfiere señales de entrada a la señal de
computador y visualizarla en tiempo real mediante una
salida cuando lo indica, y sólo cuando lo indica, mientras
gráfica en MATLAB. Se identificaron los pasos y se llevó
que un circuito flip-flop tiene dos condiciones estables,
a cabo el presente informe.
cada una correspondiente a una de las dos señales de
PALABRAS CLAVE: Sintetizacion, descripción,
entradas alternativas. El circuito lógico combinado
VHDL, procesos, digitalización, conversión,
realiza una función de conmutación entre múltiples
comunicación.
salidas. Recibe dos tipos de entrada, externas e
internas. Los insumos externos vienen de fuera del
circuito secuencial y no son controlados por él y los
1 INTRODUCCIÓN insumos internos provienen de elementos de
almacenamiento.
Se realizará una breve introducción a los temas que se Los circuitos secuenciales se pueden clasificar como
tratarán en este informe de laboratorio, temas "síncrono" o "asíncrono". Un circuito secuencial síncrono
conceptuales los cuales serán de gran importancia tiene una señal de reloj, que acciona el circuito, como
entender a la hora de realizar o revisar este laboratorio. una de sus entradas. Los circuitos flip-flop en un circuito
secuencial síncrono solo pueden cambiar de estado en
Estos primeros conceptos son con el fin de entender el respuesta a pulsos de sincronización del reloj. Un
tema principal del que se quiere dar claridad enfatizado circuito secuencial asíncrono no tiene ninguna señal de
en la teoría, y estos son, circuitos combinacionales, reloj y usa los impulsos de las entradas para conducir el
secuenciales, tarjeta Spartan 3 y conversión análoga- circuito. La salida de un secuencial asíncrono depende
digital también se explicaran los software y hardware a del orden en que cambian sus variables de entrada. Un
usar, con su respectiva explicación. Los cuales se circuito secuencial asíncrono puede ser pensado como
abordarán a continuación en las subsecciones 1.1, 1.2, un circuito combinacional con retroalimentación. En la
1.3 y 1.4. figura 2 se ve un diagrama básico de lo que es un
circuito secuencial. [2]
1.1 CIRCUITOS COMBINACIONALES

Los dispositivos lógicos combinacionales son


dispositivos digitales que convierten entradas binarias en
salidas binarias con base en las reglas de la lógica
matemática. “Estos dispositivos son comúnmente
conocidos como compuertas, ya que controlan el flujo
de señales de las entradas a una sola salida.” Cada
compuerta lógica se puede representar mediante un Figura 1. Simbolo de cada compuerta logica [1]
símbolo gráfico correspondiente a la siguiente
representación, (Vea Fig. 1). [1]

1
Adquisición de señales mediante interfaz gráfica en MATLAB y puertos ADC de FPGA- BASYS3
.

1.4 SOFTWARE MODELSIM

ModelSim es un simulador muy usado y con muchas


posibilidades. Aunque es de pago, la empresa Altera nos
ofrece una versión gratuita. Se trata de ModelSim Altera
Starter Edition, y es el simulador por defecto en su
software Quartus II y Quartus Prime. Vamos a utilizar un
ejemplo muy sencillo en VHDL para ver cómo se realiza
una simulación con ModelSim. En concreto vamos a
simular el funcionamiento de un circuito combinacional
bastante conocido: un multiplexor 2 a 1 de un bit. El
Figura 2. Modelo clasico de un sistema secuencial [2] funcionamiento es el siguiente: la salida Z tomara el
valor de la entrada A si S0=0 y el valor de la entrada B si
S0=1. El código VHDL para modelar este
1.3 LENGUAJE VHDL comportamiento es el siguiente. Se puede ver un
ejemplo de las señales resultantes por Modelsim, en la
VHDL es un lenguaje de descripción de hardware, no es figura 5. [5]
un lenguaje de programación, aunque su sintaxis y
forma de uso se asemeje mucho. Con VHDL no
programamos, lo que se hace es tomar un diseño
electrónico y describirlo mediante el lenguaje, de forma
que sirva como punto de entrada a herramientas que
convertirán esa descripción en una implementación real
del sistema. De esta forma las descripciones de circuitos
en VHDL son siempre compatibles independientemente
de las herramientas utilizadas, ya que el lenguaje fue
convertido en un standard del IEEE y el problema del
intercambio de diseños desaparece, surgiendo de esta Figura 5. Señales respuesta de un codigo por medio de
forma todo un mercado de compra y venta componentes
electrónicos reusables, llamados también de IP. Modelsim [5]
Aparte de permitir un intercambio eficiente de
componentes, el uso de VHDL ofrece muchas de 1.5 SOFTWARE VIVADO
ventajas. La más significativa es que utilizando el
lenguaje es posible tanto describir como simular el Vivado Design Suite es una suite de software producida
sistema. El propio lenguaje ofrece las herramientas para por Xilinx para síntesis y análisis de diseños HDL ,
escribir módulos que apliquen entradas al sistema y reemplazando a Xilinx ISE con características
mediante una herramienta llamada simulador poder ver adicionales para el desarrollo del sistema en un chip y
las salidas y verificar si son correctas. Esto permite crear síntesis de alto nivel. Vivado representa una reescritura
entornos complejos de verificación para comprobar la y replanteamiento de todo el flujo de diseño (en
corrección del sistema, algo fundamental en diseños que comparación con ISE), y ha sido descrito por los
van a ser enviados a dispositivos físicos y donde un revisores como "bien concebido, estrechamente
error en el diseño puede acarrear unos costes integrado, increíblemente rápido , escalable, mantenible
catastróficos para una empresa. En la figura 4 vemos un e intuitivo ". Vivado también presenta síntesis de alto
digrama con el orden de funcionamiento de vhdl. [4] nivel, con una cadena de herramientas que convierte el
código C en lógica programable. Vivado ha sido descrito
como una "herramienta EDA integral de última
generación con todas las últimas características en
términos de modelo de datos, integración, algoritmos y
rendimiento". Reemplazar el ISE de 15 años con Vivado
Design Suite tomó 1000 años-persona y costó US $ 200
millones.
Vivado permite a los desarrolladores sintetizar sus
diseños, realizar análisis de tiempo , examinar
diagramas RTL , simular la reacción de un diseño a
diferentes estímulos y configurar el dispositivo objetivo
con el programador . Vivado es un entorno de diseño
para productos FPGA de Xilinx, y está estrechamente
acoplado a la arquitectura de dichos chips, y no puede
utilizarse con productos FPGA de otros proveedores. Su
intrfaz de trabajo se observa en la figura 6. [6]
Figura 4. Diagrama de orden de VHDL [3]

2
Adquisición de señales mediante interfaz gráfica en MATLAB y puertos ADC de FPGA- BASYS3
.

Figura 6. Interfaz de trabajo del software Vivado [6] Figura 7. Diagrama de bloques, conversion analoga-
digital. [7]

1.6 CONVERSION ANOLIGA-DIGITAL 1.7 SOFTWARE MATLAB

El objetivo básico de un ADC es transformar una señal Es un sistema de cómputo numérico que ofrece un
eléctrica análoga en un número digital equivalente. De entorno de desarrollo integrado (IDE) con un lenguaje de
la misma forma, un DAC transforma un número digital programación propio (lenguaje M). Está disponible para
en una señal eléctrica análoga. Esta función exige que las plataformas Unix, Windows, Mac OS X y GNU/Linux.
los pasos intermedios se realicen de forma optima Entre sus prestaciones básicas se hallan la
para no perder información. Según el tipo de manipulación de matrices, la representación de datos y
componente y su aplicación existen distintos funciones, la implementación de algoritmos, la creación
parámetros que lo caracterizan, éstos pueden ser: la de interfaces de usuario (GUI) y la comunicación con
velocidad de conversión, la resolución, los rangos de programas en otros lenguajes y con otros dispositivos
entrada, etc.. Por ejemplo, una mayor cantidad de bit, hardware. El paquete MATLAB dispone de dos
implica mayor precisión, pero también mayor herramientas adicionales que expanden sus
complejidad. Un incremento en un solo bit permite prestaciones, a saber, Simulink (plataforma de
disponer del doble de precisión (mayor resolución), simulación multidominio) y GUIDE (editor de interfaces
pero hace más difícil el diseño del circuito además, la de usuario - GUI). Además, se pueden ampliar las
conversión podría volverse más lenta. Dentro de las de capacidades de MATLAB con las cajas de herramientas
aplicaciones de estos sistemas está el manejo de (toolboxes); y las de Simulink con los paquetes de
señales de vídeo, audio, los discos compactos, bloques (blocksets).
instrumentación y control industrial. En los siguientes Es un software muy usado en universidades y centros de
apartados se describen los conceptos básicos de investigación y desarrollo. En los últimos años ha
conversión de señal, técnicas de implementación para aumentado el número de prestaciones, como la de
los ADC o DAC, características y parámetros que los programar directamente procesadores digitales de señal
definen. Se revisarán las configuraciones más o crear código VHDL.
clásicas, atendiendo a criterios de velocidad y manejo
de datos, como también los nuevos productos En 2004, se estimaba que MATLAB era empleado por
disponibles en el mercado. más de un millón de personas en ámbitos académicos y
empresariales.
Un transductor permite relacionar las señales del
mundonreal y sus análogas eléctricas. Para 1.7.1 LENGUAJE
compatibilizar la información con un sistemas digital,
se requiere de convertidores de datos del tipo ADC o Las aplicaciones de MATLAB se desarrollan en un
DAC, segun corresponda. El diagrama de bloques de lenguaje de programación propio. Este lenguaje es
la Fig 7 muestra la secuencia desde que la variable interpretado, y puede ejecutarse tanto en el entorno
física entra al sistema hasta que es transformada a interactivo, como a través de un archivo de script
señal digital (código binario). Para dicha señal ingrese (archivos *.m). Este lenguaje permite operaciones de
al convertidor análogo - digital, ésta debe ser vectores y matrices, funciones, cálculo lambda, y
muestreada, es decir, se toman valores discretos en programación orientada a objetos.
instantes de tiempo de la señal análoga, lo que recibe
el nombre de sampling. Matemáticamente es el
equivalente a multiplicar la señal análoga por una
secuencia de impulsos de periodo constante. Como
resultado se obtiene un tren de impulsos con
amplitudes limitadas por la envolvente de la señal
analógica. [7]

3
Adquisición de señales mediante interfaz gráfica en MATLAB y puertos ADC de FPGA- BASYS3
.

Figura 7. Sitio de trabajo MATLAB [8]

Figura 8. Diagrama de interconexion de


2. MATERIALES Y METODOS componentes [7]
A continuacion en la tabla 1 se ve cuales son los
materiales a usar, que cantidad de cada uno se neesitan
y las unidades a manejar para su correcto uso.

Tabla 1. Materiales necesarios para llevar a cabo la


practica
DESCRIPCION(Material, CANTIDAD UNIDAD DE
reactivo, instrumentos, MEDIDA
software, equipos)
PC con Win 7 1 Software
VIVADO 1 Software
ModelSim 1 Software
FPGA BASYS 3 1 Varias
FPGA SPARTAN 3E 1 Varias
OSCILOSCOPIO 1 Varias
MATLAB 1 Software
Figura 8. Señales ideales de salida [7]
USB de 4GB 1 GB

2.1 METODOS 2.1.2 INTERFAZ GRAFICA MATLAB


2.1.1 Con base en el circuito en VHDL en la Práctica 7, Se debe implementar una interfaz grafica, (ver ejemplo
adicione una interfaz mediante el guide de MATLAB, figura 9.) por medio del software MATLAB para mostrar
usando el protocolo de comunicación asincrónico RS- las señales.
232 o UART, para que pueda enviar los datos de la
señal adquirida por el ADC de la FPGA por puerto serial
a un computador y visualizarla en tiempo real mediante
una gráfica en MATLAB.

Tabla 2. Valores de voltaje de activacion

Figura 9. Interfaz grafica en MATLAB

4
Adquisición de señales mediante interfaz gráfica en MATLAB y puertos ADC de FPGA- BASYS3
.

3.0 ANALISIS DE RESULTADOS [2] D. D. Gaisky, ”Principios de diseño Digital”, 2nd. ed.,
Prentice Hall, NJ, pp. 30-35, 1996.

En la figura 11 se realizó un diagrama de flujo del [3] S. Navas, “Construccion de un prototipo de un


proceso a realizar en la presente practica. Sistema de posicionamiento en el plano xy mediante
la utilizacion de la tarjeta Spartan 3E”, Departamento
de electrica y electronica. Universidad de las fuerzas
armadas, p. 3, 2018.

[4] M. Sanchez, “Introducción a la programación en


VHDL”, Universidad Complitense de Madrid, 2014.

[5] A. Rosado, M. Bataller. “Practica. 5. Simulacion VHDL


con Modelsim” Ingeniria. Electronica. Universidad de
Valencia. pp. 5-9, 2016.

[6] Vivado Xilinx, “Vivado Design Suite - HLx Editions” [En


Figura 11. Diagrama de flujo practica numero 8. línea] Available:https://www.xilinx.com/products/design
tools/vivado.html.
En la sección 5 de Anexos, están las imágenes [7] J.I. Huircan, “Conversores Análogo-Digital y Digital-
correspondientes a los códigos y señales de los códigos Análogo , Conceptos Básicos,”. Universidad
y circuitos lógicos hechos. (Ver figuras) por lo extenso Autonoma de Mexico. pp. 1–7, Marzo, 2017.
del código del reloj digital, se adjuntaron varias
imágenes. [8] “MATLAB Online - MATLAB & Simulink.” [Online].
Available: https://la.mathworks.com/products/matlab-
online.html. [Accessed: 25-Oct-2019].

4. CONCLUSIONES

-Se describió y comprobó el uso de la tarjeta Basys 3 6. ANEXOS


FPGA aplicándola a circuitos con señales análogas para
posteriormente realizar la conversión A/D otra de las
grandes aplicaciones de este tipo de tarjetas.

-Se implementó un reporte con esquemático, diagrama


de potencia, de empaquetamiento, de componentes y de
utilización, requerimientos necesarios si se quiere
analizar la efectividad del montaje o simulación hecha.

-Se hizo el procedimiento paso a paso de describir el


circuito en lenguaje de VHDL, se comprobó en Modelsim
y finalmente de sintetizo en FPGA Basys 3 y FPGA
Spartan 3E, los circuitos con tres procesos activados por
tres interruptores.
Figura 27 Tarjeta de trabajo, FPGA Basys 3 xilinx
-Se visualizó en el osciloscopio las respuestas y
correctas conversiones analógica-digitales de 8 bits,
obteniendo las señales de respuesta requerida en la
guía de laboratorio.

-Se configuraron diferentes motores gracias a un


potenciómetro para poder llevar a cabo la activación de
máquinas eléctricas rotativas.

-Se implementó una interfaz gráfica en la cual se logró


visualizar las señales.

5. REFERENCIAS
[1] S. M. Gonzales, “Circuitos combinacioles. Algebra de
Boole”, Tecnologia Industrial II, p. 30, 2018.

También podría gustarte