9
UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA SEMAFORO Y DETECTOR DE SECUENCIAS Sánchez Moreno, Cristian Andrés. {ing-crissan}@hotmail.com Unidad Central del Valle del Cauca Resumen—Este artículo contiene los pasos que se llevaron a cabo para el desarrollo de un semáforo y un detector de secuencias, ambos implementados en una FPGA, para los que se usaron diagramas de estados, los cuales son de mucha utilidad para ejercicios de este tipo, los resultados obtenidos se visualizarán a través de diodos emisores de luz, los cuales identificaran si mi salida para el caso del detector de secuencias está en estado ALTO o BAJO. Abstract— This article contains the steps carried out for developing a traffic light and a detector sequence, both implemented in a FPGA, for which state diagrams were used, which are very useful for such exercises, the results are displayed by light emitting diodes, which identify if my output for the case of sequence detector is HIGH or LOW state. Índice de Términos FPGA, QUARTUS II, VHDL, HARDWARE, MAQUINA ESTADOS, MAQUINA TIPO MALEY, MAQUINA TIPO MOORE I. INTRODUCCIÓN L CONOCIMIENTO DEL LENGUAJE VHDL SE HA CONVERTIDO EN ALGO IMPRENSINDIBLE PARA TODOS LOS INGENIEROS QUE ESTAN DE ALGUNA MANERA LIGADOS AL DESARROLLO DE SUSTEMAS ELECTRONICOS DIGITALES. E Y no solo de los que quieran convertirse en diseñadores de circuitos integrados. A través de el, el ingeniero se da cuenta de la importancia de la simulación como herramienta de ayuda al diseño, se acostumbra a estructurar los procedimientos de diseño y adquiere conciencia de la importancia que el hardware tiene en el desarrollo de las tecnologías de la información. De este modo se aplicaran los conceptos adquiridos para hacer de máquinas de estado de tipo MALEY y t MOORE, de las cuales se utilizó la máquina de estado tipo MOORE para el semáforo y la MALEY para el detector de secuencias, ya que de este modo los cálculos se simplificaban más y facilitaba la construcción del código vhdl para cada caso. II. OBJETIVOS A. Objetivo General Generar dos scripts en vhdl los cuales permitan el desarrollo de

1er Informe Vhdl

Embed Size (px)

DESCRIPTION

todo sobre vhdl y ejemplos

Citation preview

SEMAFORO Y DETECTOR DE SECUENCIAS

Snchez Moreno, Cristian Andrs.{ing-crissan}@hotmail.comUnidad Central del Valle del Cauca

UCEVA, Snchez Cristian, Semforo y detector de secuencias con FPGA

ResumenEste artculo contiene los pasos que se llevaron a cabo para el desarrollo de un semforo y un detector de secuencias, ambos implementados en una FPGA, para los que se usaron diagramas de estados, los cuales son de mucha utilidad para ejercicios de este tipo, los resultados obtenidos se visualizarn a travs de diodos emisores de luz, los cuales identificaran si mi salida para el caso del detector de secuencias est en estado ALTO o BAJO.

Abstract This article contains the steps carried out for developing a traffic light and a detector sequence, both implemented in a FPGA, for which state diagrams were used, which are very useful for such exercises, the results are displayed by light emitting diodes, which identify if my output for the case of sequence detector is HIGH or LOW state.

ndice de Trminos FPGA, QUARTUS II, VHDL, HARDWARE, MAQUINA ESTADOS, MAQUINA TIPO MALEY, MAQUINA TIPO MOORE

INTRODUCCINEL CONOCIMIENTO DEL LENGUAJE VHDL SE HA CONVERTIDO EN ALGO IMPRENSINDIBLE PARA TODOS LOS INGENIEROS QUE ESTAN DE ALGUNA MANERA LIGADOS AL DESARROLLO DE SUSTEMAS ELECTRONICOS DIGITALES.Y no solo de los que quieran convertirse en diseadores de circuitos integrados. A travs de el, el ingeniero se da cuenta de la importancia de la simulacin como herramienta de ayuda al diseo, se acostumbra a estructurar los procedimientos de diseo y adquiere conciencia de la importancia que el hardware tiene en el desarrollo de las tecnologas de la informacin.

De este modo se aplicaran los conceptos adquiridos para hacer de mquinas de estado de tipo MALEY y t MOORE, de las cuales se utiliz la mquina de estado tipo MOORE para el semforo y la MALEY para el detector de secuencias, ya que de este modo los clculos se simplificaban ms y facilitaba la construccin del cdigo vhdl para cada caso.OBJETIVOS Objetivo General Generar dos scripts en vhdl los cuales permitan el desarrollo de un cdigo en donde se pueda simular el funcionamiento de un semforo de 3 vas y un detector de secuencias utilizando mquinas de estado.

Objetivos Especficos Interpretar los resultados obtenidos mediante el anlisis del cdigo, las variables y como estas influyen en cada funcin.

Interpretar como la fpga se comunica con el programa quartus II, para poder obtener los datos que se ingresen a travs del hardware (switches o pulsadores de la fpga).

Crear un script el cual permita ingresar una rfaga de bits mediante los pulsadores de la fpga y si se ingresa la secuencia deseada, se encender un led identificando que la secuencia se detect.

Identificar los componentes que intervienen en el desarrollo del cdigo y la implementacin de hardware para el semforo de 3 vas, como la asignacin de pines en la fpga para cada semforo, y la mquina de estados que har las veces de temporizador y coordinacin de los semforos.

I. Marco Terico

fpga: Un FPGA (o Field Programmable Gate Array). Es un dispositivo semiconductor que posee bloques lgicos interconectados para que puedan ser programados.

Quartus II: Es un ambiente completo disponible para el diseo de sistemas programables en un Chip, y de desarrollo que permite aadir archivos de programacin y configuracin.

Vhdl: Es un lenguaje de descripcin del hardware que puede utilizarse para modelar, documentar, simular, verificar y sintetizar un sistema digital.

Hardware: Se refiere a todas las partes tangibles de unsistema informtico; sus componentes pueden ser tanto elctricos, electrnicos, electromecnicos y mecnicos.

Maquina tipo maley: En esta mquina de estados las salidas se encuentran determinadas por el estado interno delsistema y por las entradas no sincronizadas con el circuito. Eldiagrama de bloques representativo de esta mquina se muestra en lafigura 1, donde se observa que las salidas delsistema son tanto sincrnicas como asincrnicas.

Figura 1 Maquina tipo Mealy.

Maquina tipo Moore: Las salidas solo dependen delestado interno y de cualquier entrada sincronizada con elcircuito, como se observa en la figura 2. Donde las salidas del sistema son nicamente sincrnicas. Un ejemplo de este tipo de mquinas de estado son los contadores.

Figura 2 Maquina tipo Moore

Maquina estados: Soncircuitos secuenciales que seencuentran constituidos por una etapa combinacional y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algn propsito especial. Losregistros y contadores con entradas asincrnicas son ejemplos de este tipo de sistemas secuenciales.

PROCEDIMIENTO

1.) GENERACION CODIGO RELOJ 1 HZ

En la figura 1 se muestra el cdigo que se gener para realizar el clk, el cual optimiza la frecuencia de la FPGA de 50MHZ a 1Hz, para poder que el reloj trabaje en tiempo real.

Figura 1 Cdigo clk a 1hz

En la figura 2 y figura 3 se puede ver el cdigo generado para el funcionamiento del detector de secuencias, en donde se realizan una serie de estados, donde se usaron un total de 7 estados.

Se us la entrada que se representa con 2 estados ALTO o BAJO, mediante la declaracin de una variable llamada input de tipo bit, la cual me identifica si a la entrada de cada estado hay un 0 o un 1, y as poder pasar al estado siguiente o quedarme en el mismo dependiendo de la condicin.

Figura 2 Cdigo Detector parte 1

Figura 3 Cdigo Detector parte 2

En la figura 4 vemos la simulacin para una secuencia de entrada determinada, en este caso a la maquina se le ingresa la secuencia 1001,001 y como vemos al terminar de ingresar la primer secuencia (1001),a la salida se muestra un estado ALTO, y con la segunda secuencia (001), ocurre lo mismo, despus del ultimo valor ingresado un 1, le prosigue un 00 y luego un 1 detectando asa la nueva secuencia como se muestra:

Figura 4 Simulacin detector

En la figura 5 se muestra el detector probado en la fpga, en donde se ingresa la secuencia 1001, y al final se enciende el led LEDRO, porque me detecto una secuencia correcta.

Figura 5 detectando secuencia 1001

En la figura 6 se muestra la asignacion de puertos en la fpga, donde se le asigna al vector salidaDisplay cada uno de los segmentos del diaplay, con el fin de que me identifique si estoy ingresando un 0 o un 1 y facilitar la visualizacion de datos.

Figura 6 Asignacin puertos FPGA

En la figura 7, 8 Y 9 se pueden ver las partes del cdigo generado para el semforo, en donde se necesitan 30 estados que seran la suma de cada uno de los estados de cada color de los leds de cada semforo.

Para ello se utiliz una maquina moore, ya que esta es ms prctica para este tipo de casos, y poder facilitar la resolucin del semforo.

Figura 7 parte 1 cdigo semforo

Figura 8 parte 2 cdigo semforo

Figura 9 parte 3 cdigo semforo

En la figura 10 se muestra el semforo funcionando en la FPGA, en donde se muestra en el primer display los conteos correspondientes a cada estado del led rojo para cada semforo.

Figura 10 Semforo en la FPGA

En la figura 11 se muestra el montaje final del semforo en una maqueta, en donde se realizaron 3 plaquetas 1 para cada semforo, con el fin de poder facilitar e interpretar cada una de las entradas y salidas de cada semforo, en la figura 12 se muestra el esquemtico de la plaqueta la cual se utiliz en el montaje.

Figura 11 montaje final semforo

Figura 12 plaqueta controladora semforo

En la figura 13 se muestran los pines de salida de la maqueta, los cuales van dirigidos directamente hacia el puerto JP1 la maqueta, en donde se utilizaron cables jumper macho-macho, y un cable ribbon hembra-hembra, todos estos con el fin de evitar la posibilidad de malos contactos y posibles cortos ya que son bastantes cables que salen de la FPGA.

Figura 13 Conexin Maqueta-FPGA

II. CONCLUSIONES

-Se demostr la importancia que tiene una fpga para el diseo de programas digitales, siendo un aliado importante para volver reales los cdigos hechos en vhdl.

-Se aprendi que las mquinas de estado son un elemento muy importante para el diseo de circuitos secuenciales y ayudan a reducir clculos en circuitos que requieren gran cantidad de estados.

-Se aprendi que Quartus II es una herramienta muy importante para la programacin en vhdl, ya que contiene herramientas interactivas que ayudan al usuario a interpretar datos y corregir errores de programacin.

-Se aprendi que a la hora de capturar los datos de una fpga y llevarlos a nuestro programa es importante conocer los comandos que se requieren como la declaracin de puertos.

III. BIBLIOGRAFIA

[1] DISEO DE SISTEMAS DIGITALES CON VHDL [en lnea] Disponible en: http://books.google.com.co/books [Citado el 6 de octubre de 2014].

[2] PROGRAMACION EN VHDL [en lnea]. Disponible en: http://ladecadence.net/trastero/VHDL%20Maxinez.pdf [Citado el 6 de Octubre de 2014].

[3] TEORIA MAQUINAS DE ESTADO [en lnea]. Disponible en: http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/070101.htm [Citado el 5 de octubre de 2014].

Autor

Cristian Andrs SnchezEstudiante Ingeniera ElectrnicaUnidad Central del Valle del Cauca 2014