• No se han encontrado resultados

2.2. Arreglo de Compuertas Programables en Campo

2.2.3. Tarjeta de Desarrollo Spartan 3E

La actual multiplicidad de empresas fabricantes de dispositivos FPGA, provee una amplia gama de dispositivos y tarjetas de desarrollo predise˜nadas; de entre las muchas empresas existentes las dos principales son: la pionera XILINX y su principal contrincante ALTERA.

La cantidad de dispositivos de los que se puede disponer es bastante grande y las ca- pacidades de ´estos mismos se definen a partir del n´umero de celdas l´ogicas que contienen. Los fabricantes por lo general dise˜nan dispositivos con prop´ositos preestablecidos con lo que ciertos dispositivos son implantados en tarjetas junto con otros circuitos integrados que co- laborar´an el objetivo fijado, es decir, las empresas ofrecen tarjetas de desarrollo hechas para aplicaciones espec´ıficas como: comunicaciones, procesamiento digital de se˜nales, computaci´on, transmisi´on de se˜nales, uso acad´emico, etc.

Para elegir la tarjeta de desarrollo adecuada se deben tomar en cuenta generalmente varios aspectos. En primer lugar se debe analizar si el dispositivo central (FPGA), de la tarjeta, tiene las capacidades necesarias para el proyecto. Los perif´ericos integrados que tenga cada modelo de tarjeta de desarrollo, son tambi´en importantes para la selecci´on de ´esta. Un factor m´as para le elecci´on es la familiaridad que el usuario tenga con alg´un tipo de FPGA ya sea de un determinado fabricante o dispositivo. Por ´ultimo se debe tener en cuenta tambi´en la disponibilidad en el mercado de la tarjeta que se pretenda usar.

Para desarrollar este proyecto se opto por usar la tarjeta Spartan 3E Starter Kit

(S3E), vista en la Figura 2.12. Esta se eligi´o por su uso com´un en proyectos de desarrollo e investigaci´on acad´emica, por su amplia comercializaci´on y su capacidades de funcionamiento y conexi´on; que aunque son b´asicas cumplen con los requerimientos para el desarrollos de este sistema.

Una de las caracter´ısticas principales y m´as ´utiles de esta tarjeta es su capacidad de programar los dispositivos en ella (FPGA, CPLD, PROM, etc.) a trav´es de una conexi´on USB. Esta conexi´on tambi´en es ´util para realizar verificaciones a las entradas, salidas o

Figura 2.12: Tarjeta Spartan 3E Starter Kit

registros del sistema durante el funcionamiento del dispositivo FPGA. En la lista siguiente se encuentran las principales caracter´ısticas de dispositivos que componen esta placa:

FPGA Xilinx XC3S500E.

232 Pines de Entrada y Salida. 10432 Celdas L´ogicas.

Memoria PROM de Xilinx de 4 Mbit, para configuraci´on o programaci´on del FPGA. CPLD Xilinx XC2C64CA con 64 macroceldas.

Memoria FLASH serial SPI de 16Mbits. LCD de 2 l´ıneas por 16 caracteres. Conector PS/2.

Conector VGA.

Dos conectores RS-232 de 9 pines Oscilador de reloj de 50 MHz.

Conector para expansi´on Hirose FX2.

Tres conectores de expansi´on Digilent de 6 pines.

Convertidor Digital-Anal´ogico de cuatro salidas basado en protocolo SPI. Convertidor Anal´ogico-Digital con dos entradas y ganancia programable. Selector rotatorio con interruptor de bot´on de presi´on central.

Ocho LEDs.

Cuatro interruptores de deslizamiento. Cuatro interruptores de bot´on.

Conector SMA.

Por s´ı mismo el dispositivo FPGA tiene caracter´ısticas de operaci´on importantes, para mantener la elecci´on de su uso, tales como:

Generar y trabajar con m´as de 8 posibles frecuencia de reloj desde los 200KHz hasta los 333MHz.

M´ultiples est´andares de voltaje.

Est´andares: LVCMOS, LVTTL, HSTL, SSTL, GTL, PCI33 y PCI66. Voltajes : 3.3V, 3.0V, 2.5V, 1.8V, 1.5V y 1.2V.

Abundantes recursos l´ogicos.

Bloques internos de memoria RAM. Registros de corrimiento.

Multiplexores.

Multiplicadores (18x18).

2.2.3.1. Componentes de la Tarjeta S3E.

Interruptores Deslizables. La tarjeta S3E tiene cuatro interruptores deslizables estos interruptores est´an situados en la esquina inferior derecha de la tarjeta como se ve en la Figura 2.12 y est´an etiquetados como Switch 3 (SW3) hasta Switch 0 (SW0). Cuando el interruptor se coloca en la posici´on superior, conecta al FPGA a 3.3 V generando un 1 l´ogico. Por otro lado cuando se encuentra en la posici´on baja, el interruptor conecta al FPGA a tierra, generando un 0 l´ogico. Un cambio en la posici´on del interruptor tarda aproximadamente 2ms para que el valor l´ogico correspondiente se estabilice.

Interruptores Push-Boton. La tarjeta dispone de 4 interruptores de contacto, y un in- terruptor con la capacidad de rotar a la derecha, izquierda y funcionar como interruptor de contacto. Estos se encuentran en la parte inferior izquierda de la tarjeta (ver Figura 2.12). Etiquetados con el prefijo BTN seguidos de su posici´on (Norte, Sur, Este u Oeste). Al pre- sionar cualquiera de estos interruptores, se env´ıan 3.3 V al FPGA, generando un 1 l´ogico, y un 0 l´ogico cuando este no se presiona. Usualmente es necesario un circuito antirebotes para estos interruptores, posible de implementar mediante c´odigo VHDL.

LEDs. La Spartan 3E tiene 8 luces indicadoras (LEDs). Cada una tiene un lado conectado a tierra y el otro lado conectado a un pin de la tarjeta, por medio de una resistencia limitadora de corriente de 390 KOhm. Estos est´an ubicados justo arriba de los interruptores deslizables (ver Figura 2.12). Las l´ıneas de conexi´on de estos LEDs est´an multiplexadas con algunas del conector Hirose de 100 pines.

Oscilador de Reloj. Esta tarjeta soporta el uso de tres fuentes para la se˜nal de entrada de reloj, todas est´an situadas bajo el logo de Xilinx en la tarjeta y cerca del logo de Spartan 3E, como se ve en la Figura 2.12. Estas tres fuentes son:

Oscilador integrado. Conector SMA.

Conector DIP de 8 Pines.

La tarjeta incluye un oscilador de 50 MHz con un ciclo ´util de 40 %. La precisi´on del oscilador es de±2500 Hz.

Para proporcionar una se˜nal de reloj externa, se puede conectar esta se˜nal de entrada por medio del conector SMA. Opcionalmente el FPGA puede generar se˜nales de reloj u otro tipo de se˜nales de alta velocidad y proporcionarlas, a otro dispositivo, por el mismo conector SMA.

El conector DIP de 8 pines incluido en la tarjeta acepta circuitos integrados osciladores del mismo tipo (DIP 8-pin). Se usa este conector cuando el FPGA requiere de frecuencias diferentes a la de 50 MHz o que no puedan ser generadas por el DCM del FPGA.

Puertos RS-232. Como se ve en la parte superior derecha de la Figura 2.12, la tarjeta S3E tiene dos puestos seriales RS-232: un conector hembra DB9 DCE y un conector macho DTE. El puerto estilo DCE se conecta directamente al puerto serial disponible en la mayor´ıa de las computadoras personales actuales y a estaciones de trabajo mediante un cable serial est´andar. El conector estilo DTE puede ser usado para controlar otros dispositivos con interfaz RS-232. El FPGA proporciona una salida de datos seriales usando los niveles LVTTL o LVCMOS a un dispositivo Maxim232, el cual convierte los valores l´ogicos a un nivel de voltaje apropiado RS-232. De igual forma el dispositivo Maxim convierte las se˜nales RS-232 seriales de entrada a un nivel LVTTL adecuado para el FPGA. Un resistor entre el dispositivo Maxim y los pines de entrada del FPGA lo protegen contra conflictos accidentales en los niveles l´ogicos de voltaje.

Conectores de Expansi´on. La tarjeta Spartan 3E provee una variedad de conectores de expansi´on para f´acilmente conectar otros componentes no incluidos en la tarjeta. La tarjeta

Figura 2.13: Conectores RS-232 en la tarjeta S3E. incluye los siguientes conectores de expansi´on:

Un conector Hirose de 100 pines con 40 de estos pines como E/S, m´as de 15 pares diferenciales de E/S y dos pines dedicados ´unicamente como entradas.

Tres conexiones para m´odulos perif´ericos de 6 pines.

Estos se ubican en la parte lateral derecha de la tarjeta, pueden ser vistos y ubicados mediante la Figura 2.12.

Memoria DDR SDRAM. Como una tarjeta de desarrollo en la S3E se tienen varios elementos que permiten realizar diversas aplicaciones y una de las herramientas que integra esta tarjeta es la memoria DDR SDRAM MT46V32M16, fabricada por la compa˜n´ıa Micron Technology, Inc; en la Figura 2.14 se puede ver su ubicaci´on.

La memoria MT46V3216 es una memoria de 512Mbits de capacidad de almacenamiento y opera con 2.5V de energ´ıa y un voltaje de referencia de 1.5V obtenido a partir de un divisor de voltaje. Es posible trabajar con una longitud de palabra de 16 bits, aunque tambi´en con la mitad de esta longitud. Esta memoria usa una se˜nal de reloj diferencial que trabaja de los 77 hasta los 133 MHz. La totalidad de la memoria est´a dividida internamente en cuatros bancos que se seleccionan independientemente para acceder a la informaci´on en ellos.

La lectura y escritura se implementa mediante r´afagas de datos, es decir el acceso a datos comienza en una direcci´on seleccionada y despu´es contin´ua autom´aticamente de acuerdo a la longitud de r´afagas predefinida. Esta longitud es programable y pueden ser de 2, 4 y 8 localidades de memoria por r´afaga.