1.- Introducción


En el sector de la Minería es usado comúnmente como medio de transporte de minerales; los Ferrocarriles. Estos poseen extensas vías férreas desde las minas de extracción hasta la Industria de procesamiento del mineral, que en ocasiones atraviesan las rutas de vehículos; calles y carreteras, creando un riesgo de colisión en la intersección de las vías cuando transitan ferrocarriles y vehículos. Para minimizar dicho riesgo han implementados sistema de control de tráfico con rudimentarias lógicas a reles, que causan limitaciones al momento de modificaciones eléctricas, desgastes en contactos, etc.


Se plantea realizar el diseño del control de tráfico de ferrocarril reemplazando la lógica a relé por un dispositivo FPGA.


A continuación se presenta el Diseño y Simulación de Control del Tráfico de Ferrocarril utilizando un dispositivo FPGA, configurado y ensamblado con las herramientas de Xilinx.


Con las herramientas utilizadas de Xilinx, se organiza el diseño propuesto en; Esquemático, señales estímulos, datagramas y código fuente en VHDL.


2.- Filosofia de Control


El sistema de cruce Ferroviario, esta constituido por una barrera, con la función de obstaculizar el paso de vehículos y luces que advierten a los conductores cuando el ferrocarril se aproxima a la intersección.


Las advertencias son de tipo visuales y auditivas, adicionalmente se manejan dos indicadores visuales los cuales informan sobre el sentido del ferrocarril.


Para determinar las acciones de control, el sistema posee cuatro sensores ubicados cerca de los rieles del ferrocarril a ambos lados de la intersección, dos a 250 metros y los otros dos 20 metros. Véase la figura 1. Estos sensores emiten un pulso continuo cuando las ruedas del ferrocarril pasan muy cerca. El sensor S1 o S4 activa la barrera y la alarma sonora y visual, cuando se desactivan ambos sensores se detiene las alarmas. El sensor S2 o S3 levanta la barrera en un sentido u otro. Véase Tabla 1.



Figura 1.- Esquema de Proceso



Tabla 1.- Tabla Booleana


La alarma visual y sonora advierte la proximidad del ferrocarril a la intersección, la barrera de paso detiene el tráfico de los vehículos, las luces de sentido indican la dirección de trayecto del ferrocarril y la indicación de colisión advierte un posible encuentro entre Ferrocarriles.


Para generar las señales de control se emplea una lógica esquematizada mediante compuertas y Flip/Flop.


3.- Ecuaciones Boleanas


A continuación se muestra las ecuaciones booleanas para realizar el control:



El esquematico mostrado en la figura 2 es el resultado de las ecuaciones booleanas planteadas anteriormente.


Esquematico


Figura 2.- Esquematico


4.- Software ISE


ISE XILINX es una herramienta computacional desarrollada para la configuración y simulación de dispositivos lógicos programables PLD´s y arreglos de compuertas programables en campo o FPGA´s por sus siglas en ingles, desarrollados por Xilinx. ISE (Integrate Software Enviroment) cuenta con todo lo necesario para configurar los circuitos desarrollados por Xilinx entre los que destacan Spartan II, Spartan III y Virtex.


Inicialmente la herramienta estaba constituida por un grupo de programas separados, los cuales en conjunto desempeñaban la misma función. La versión actual (9.2) permite empotrar todas las herramientas en una misma ventana logrando facilitar el seguimiento desde la etapa de elección del dispositivo hasta la implementación del código VHDL (hardware description language).


Algunas de las funcionalidades de la herramienta son:


1.- Creación de proyectos (proyect wizard): Elección de dispositivo a configurar, creación de archivos de código fuente o integración de otros existentes dentro de un mismo proyecto.


2.- Construcción de código VHDL a partir de diagramas esquemáticos circuitales, diagramas secuenciales de estado Moore/Mealy, directamente con editores de texto integrados.


3.- Compilación de VHDL a código de implementación para el circuito programable.


4.- Herramienta para la creación de señales de estimulo necesarias para la ejecución de la simulación.


5.- Herramienta para simulación, en la cual se generan los diagramas de tiempo los que permiten verificar el funcionamiento del circuito configurado.


6.- Software de conectividad vía conexiones JTAC para depuración y programación.


ISE, es un software distribuido por Xilinx directamente, la versión de prueba es completamente funcional pero solo tiene una duración de 60 dias. Dependiendo de la versión posee todas las librerías desarrolladas hasta el momento del lanzamiento.


Identificación del entorno:


Una vista general de la herramienta desplegada es como se muestra en la figura 3, en ella pueden verse cuatro regiones perfectamente delimitadas las cuales son: Fuentes de proyectos, cuadro de procesos, una ventana principal de trabajo, ventana de diálogos de salida o consola y en la parte superior la respectiva barra de herramientas.


Agregando Fuente


Fígura 3.- Vista General de la Herramienta


Nuevo proyecto:


El desarrollo del nuevo diseño comienza con la declaración del nuevo proyecto utilizando el siguiente procedimiento:


1.- Seleccione: Fileà New Project. Aparecerá el cuadro de dialogo "New Project". En el campo "Project Name" coloque "ejemplo". Presione Siguiente.


2.- Cargue la tabla que se muestra con los valores elegidos a su conveniencia destacando el modelo del dispositivo a programar y el tipo de lenguaje preferido.


3.- Puede agregarse un código fuente existente o puede generarse uno nuevo.


Agregando nuevos fuentes al proyecto:


Desde el menú "fuentes de proyecto" sobre el nombre del dispositivo utilizado para el nuevo proyecto haga clic con el botón derecho del Mouse, visualizará algo como lo mostrado en la figura 4.





Figura 4.- Agregando Fuente


Luego aparecerá un cuadro menú figura 5 donde puede elegirse el tipo de fuente además escribir el nombre del nuevo archivo "ejemplo". Presione siguiente y luego finalizar.


Esquematico


Figura 5.- Menú Tipo de Fuente


Ahora tendrá una vista como la mostrada en la figura 6 donde podrá comenzar a diseñar el diagrama esquemático del nuevo proyecto.



Figura 6.- Esquemático


Los componentes del esquema se toman directamente del menú de la izquierda se arrastran y se colocan sobre la hoja del diseño. Una muestra de la representación final es como es muestra en la figura 7.



Figura 7.- Muestra de un Esquema Completamente Desarrollado


Generando el archivo de estimulos:


Se agrega un nuevo archivo fuente utilizando el mismo procedimiento para agregar el esquema, pero se elije tipo de fuente de la manera que se muestra en la figura 8.



Figura 8.- Generando Archivo de Estimulos


La tabla de estimulos es como la vista en la figura 9 en ella se pueden alterar las señales y ver las entradas y las salidas. Recordemos que el archivo de estímulos es un paso previo para generar la simulación.



Figura 9.- Estimulos


Para generar la simulación se hace doble clic en la ventana de procesos tal como se muestra en la figura 10 donde también se observa el diagrama de señales formado a partir de los estímulos pero considerando los efectos sobre las salidas declaradas.



Figura 10.- Simulación y el Sincrograma


Utilizando la misma ventana de procesos pueden obtenerse otros archivos y también una vista del código HDL generado para la simulación, figura 11.



Figura 11.- VHDL Generado


Los ítems mostrados en la ventana de procesos cambian en función de lo que el usuario elija en el menú de los fuentes, en este ultimo destaca la elección de muestra de los archivos de simulación o los de implementación. Figura 12.


Subcategoria de Fuentes


Figura 12.- Subcategorías de Fuentes


5.- Desarrollo del Sistema de Cruce Ferroviario en ISE


El cuadro de resumen mostrado en la Tabla 2 muestra las características de la implementación, el tipo de dispositivo utilizado además de la cantidad de elementos del FPGA y los que están aún disponibles.


Caracteristicas de Implementacion


Tabla 2.- Caracteristicas de Implementacion


El sistema descrito por las ecuaciones fue convertido a los símbolos correspondientes para obtener un diagrama como el mostrado en la figura 2. Este diagrama fue diseñado con el editor de la herramienta ISE


En el diseño los Flip Flop utilizados son de tipo síncrono por lo que es necesaria una señal de reloj, la señal fue obtenida utilizando el mismo reloj del FPGA acoplado al diseño. Los parámetros de simulación fueron dados al mismo al momento de crear la simulación con un menú igual al mostrado en la figura 13. La señal de reloj generada tiene un periodo de 100 ns lo que equivale a 10 Mhz. Se genera un solo tipo de reloj y se asigna a la entrada del mismo nombre "RELOJ" utilizando un BUFG dentro del mismo esquema.




Configuracion de la Simulacion


Figura 13.- Configuración de la Simulacion


El archivo de estímulos utilizado recopila todos los valores producidos mientras el tren circula por el cruce, véase figura 14, las simulaciones en cada uno de los casos de cruce desde Este a Oeste y viceversa, la producción de las señales de una posible colisión son mostradas de la figura 15 hasta la 17 respectivamente.


Diagrama de Estimulos


Figura 14.- Diagrama de Estimulos


Simulacion - Tren en Sentido E-O


Figura 15.- Simulación - Tren en sentido E-O


Simulacion - Tren en Sentido O-E


Figura 16.- Simulación - Tren en sentido O-E


Colision de Trenes


Figura 17.- Simulación - Colisión de Trenes


A continuación el codigo VHDL generado por ISE para ejecutar la simulación de. proyecto.



1


2



3


4


5




8


La simulación también fue llevada a cabo utilizando un código hecho en VHDL con el mismo editor de la herramienta ISE de Xilinx. El texto correspondiente al código que tiene las mismas funcionalidades que el esquemático desarrollado puede verse en http://docs.google.com/Doc?id=dcv2c6bs_3dkpwxkdd. La figura 18 muestra la simulación del código VHDL construido.


Simulacion de Codigo VHDL


Figura 18. Simulacion de Condigo en VDHL.


Finalmente la asignación de las entradas y las salidas esta organizada como se muestra en el texto http://docs.google.com/Doc?id=dcv2c6bs_5f3t5k82k, desarrollado utilizando la herramienta PACE de Xilinx.


La vista de la configuración gráfica en Xilinx PACE de las conexiones del dispositivo puede visualizarse en la figura 19.



Figura 19. Disposicion de las conexiones del FPGA.


Algunos detalles adicionales pueden observarse en el paper publicado en http://docs.google.com/Doc?docid=dcv2c6bs_18c54w98hq&hl=en.


6.- Referencia


. "VHDL Lenguaje para descripción y modelado de circuitos". Universidad de Valencia. Valencia, 14 Octubre 1997.


MAGDALENO C., EDUARDO. "TUTORIAL DE XILINX ISE". Universidad de Laguna.


SAGRERAS, MIGUEL A. "INTRODUCCIÓN AL VHDL


FIUBA". Agosto 2007.


XILINX. "TUTORIAL DE ISE WEBPACK".


http://es.wikipedia.org/wiki/VHDL, consultada 24-01-2008.


http://pdf1.alldatasheet.com/datasheet-pdf/view/171765/XILINX/XC3S100E.html, Consultada 24-01-2008.