Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fpga2 PDF
Fpga2 PDF
1/6
3. Características de la tarjeta Tres switches de configuración genéricos, conectados a
tres terminales fijos, para ser utilizados como entradas
La tarjeta JPS-XP84[4] (ver foto en la figura 1) es una tar- de configuración en los diseños realizados.
jeta entrenadora para FPGAs, de propósito general, aunque
está pensada para ser utilizada fundamentalmente en robóti- Configuración del modo de carga de la FPGA: maes-
ca. Sus dimensiones son reducidas (99x73mm) y dispone de tro o esclavo. El modo maestro permite cargar la FPGA
conectores de expansión de 10 vías, compatibles con cables desde la memoria EEPROM integrada en la propia tar-
planos. jeta. El modo esclavo se utiliza para cargarla desde un
sistema externo (PC o un microcontrolador)
4. Modos de funcionamiento
La tarjeta puede trabajar en dos modos de funcionamiento:
modo entrenador y modo autónomo. En el modo entrena-
dor, la tarjeta se conecta a un PC desde el que se reconfigura
la FPGA, usando el cable de descarga de Xilinx o bien uno
construido por el propio desarrollador. Una vez que la simu-
Figura 1: La tarjeta JPS, situada al lado de un disquete de 3 lación del diseño cumple con las especificaciones, y el cir-
y 1/2” cuito se ha sintetizado correctamente , se conecta la placa y
se descarga el bitstream, permitiendo comprobar físicamen-
Las FPGAs de la empresa Xilinx[7]que soporta la JPS se te su funcionamiento (realización de mediciones, conexión
muestran en la tabla 1. Todas ellas tienen el encapsulado de otros dispositivos, etc).
PLCC84, elegido por ser el de menor coste. Adicionalmen- Para su utilización en robótica, es muy útil el modo autóno-
te, es uno de los pocos encapsulados actuales que pueden mo, en el que el diseño se graba en una memoria EEPROM
ser soldados sin herramientas especiales para SMD. serie y la FPGA se configura automáticamente cada vez que
se conecta la tarjeta o se pulsa el botón de reset. Usando
Device Logic cells Total CLBs Total FF una FPGA del tipo XC10, el tiempo de reconfiguración es
XC4003E 238 100 360 de 200ms.
XC4005E 466 196 616 Otra opción es configurar la tarjeta en modo entrenador
XC4010E 950 400 1120 (FPGA en modo esclavo) pero realizando la carga desde
XCS05 238 100 360 un sistema microcontrolador, en vez de desde la EEPROM
XCS10 466 196 616 serie. Esto abre la posibilidad de trabajar con sistemas re-
configurables o adaptables, que descarguen un determinado
circuito según las necesidades concretas.
Cuadro 1: FPGAs soportadas por la tarjeta JPS
Led de programación, conectado al terminal done, que Circuito de programación interno, constituido por
indica si la FPGA está correctamente programada. la memoria EEPROM serie y un multiplexor para que
2/6
los pines de la EEPROM sean accesibles bien desde la Docencia, en el campo de la electrónica y los lenguajes
FPGA, para su carga, o bien desde los pines del puerto de descripción hardware (HDL). Los alumnos diseñan,
de control para su programación in circuit. simulan, sintetizan y finalmente descargan el diseño
en la tarjeta entrenadora, pudiendo comprobar física-
Circuito de programación externa, que permite des- mente el correcto funcionamiento, tomando medidas
cargar bitstreams desde el PC o desde un sistema ex- y conectando circuitos externos. Por ser una placa li-
terno. bre y estar disponibles todos los esquemas y planos de
fabricación, los alumnos también pueden ampliar su
Circuito de configuración: jumper y switch para la funcionalidad, diseñándose placas a su medida (reali-
configuración de los diferentes modos de trabajo. Me- zación de prácticas especiales, proyectos fin de carre-
diante el jumper se pueden configurar el modo de tra- ra, trabajos de doctorado,etc). De la misma manera los
bajo: entrenador o autónomo. Mediante un conmuta- profesores la pueden adaptar a las necesidades de una
dor se selecciona si la memoria EEPROM se conecta a asignatura concreta.
la FPGA o al puerto de control para programarla desde
un sistema externo, sin tener que sacarla del zócalo. En el laboratorio de Estructura y Diseño de Circuitos
Digitales[8] de la Universidad Autónoma de Madrid se
Circuito de pruebas, constituido por un led y un pul- están empleando 12 placas JPS para que los alumnos
sador conectados a los pines P68 y P69 de la FPGA, puedan sintetizar sus diseños en ellas y no se queden
que permiten probar el correcto funcionamiento de la sólo en la fase de la simulación.
placa, configurando la FPGA con un diseño de prue-
bas que los use, como por ejemplo un puerta inversora
entre ellos. Conexión con microcontroladores. Puesto que pue-
de funcionar en modo autónomo, resulta muy útil para
Puertos de expansión. La placa incorpora 6 puertos
el desarrollo de periféricos para microcontroladores:
de expansión, con 8 bits de datos, configurables para
controladores de sensores, coprocesadores para hacer
entrada o salida, y dos pines para la alimentación, de
ciertas operaciones más rápidamente, etc. Además es
forma que los circuitos externos conectados se puedan
posible realizar la carga del bitstream desde el propio
alimentar directamente a través de los cables de bus.
sistema microcontrolador, posibilitando el desarrollo
Están diseñados para ser compatibles con los conecto-
de sistemas de hardware reconfigurables.
res de la tarjeta GP-BOT[5] y CT6811[3].
CONMUTADORES CIRCUITO
Robótica. Posibilidad de diseñar CPUs específicas pa-
GENERICOS DE RELOJ ra aplicaciones de robótica así como controladores pa-
ra periféricos: unidades de PWM para mover servos,
temporizadores, controladores para sensores de ultra-
PUERTOS
DE EXPANSION
sonidos, de distancia, etc.
FPGA SISTEMA
CTO. PROG EXTERNO
INTERNO
CTO DE PROG
PC
EXTERNO
CIRCUITOS 7. Hardware abierto
PRUEBAS CONFIGURACION
3/6
VCC vcc
VCC Condensadores de desacoplo
Led de R6 PUERTO A PUERTO F
Power ON 680 5 4 3 2 1
CT1 CT6 6 7 8 9 10 R3 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10
4K7 100nF 100nF 100nF 100nF 100nF 100nF 100nF 100nF 100nF 100nF
1
10
9
8
7
GND 6
5
4
3
2
P84 1 0
9
8
7
GND 6
5
4
3
2
Numeracion de los
D3 Conectores de los
VCC
VCC
P10
P81
P79
P77
P78
P80
P82
P83
puertos
P9
P7
P5
P3
P4
P6
P8
CARGA/#GRABACION
CONFIG_2 vcc
CONFIG_1 U2 AT17C128 vcc
CONFIG_0
VCC 2 1Y 4 DATA 1 VCC 8
1A DATA
3
8
7
6
5
1B
S3
11
10
84
83
82
81
80
79
78
77
76
75
ON 5 7 2 7
Jack Hembra U1
9
8
7
6
5
4
3
2
1
2A 2Y CLK #SER_EN
CCLK 6
2B
1 GND 11 3Y 9 3 6
RESET/#OE #CEO
IO-PGCK4-A1
IO-A11
3A
IO-A9
IO-A8
IO-A7
IO-A6
IO-A5
IO-A4
IO-A3
IO-A2
IO-A0
IO-SGCK1-A15
IO-A14
IO-A13
IO-A12
IO-A10
GND
GND
TDO-O
VCC
VCC
+5v
2 1 2 3 4 INIT 10
3B R5
1
2
3
4
3 14 4Y 12 4 GND 5
4A CE# 4k7
VCC DONE 13
4B
vcc VCC 16
1
S
+ 1 15 GND 8
E
12 VCC 74
GND
13 CCLK 73 CCLK 74157"
IO-PCGK1-A16
- 2 14 IO-SGCK4-DOUT 72 RELOJ
IO-A17
15 IO-D0-DIN 71 DATA
IO-TDI
16 IO-RCLK 70 CONFIG_2 DATA 1
Figura 3: Esquema de la placa JPS
IO-TCK
CLEMA1 17 69 TEST_IN DONE 2 CT7
IO-TMS IO-D1
18 68 TEST_OUT CCLK 3
XILINX
IO IO
ALIMENTACION 19 67 4
CONTROL
IO IO-D2 CONFIG_1 RESET#/OE
+5V 20 IO 66 CONFIG_0 VCC 5
IO
21 IO-D3 65 GND 6
GND
22 XC4000EPC84" GND 64 SCLK 7
VCC
23 XCS10 VCC 63 CE# 8
IO
CT2 24 XCS05 IO 62 VCC 9
IO
1 P25 25 IO-D4 61 vcc 10
IO OSC1
2 P23 26 IO 60 vcc
IO
4/6
3 P19 27 IO-D5 59
IO
PUERTO B
Download cable
7 P13 31 PROGRAM 55 PROG OSCILADOR" DATA 5
GND 680 680
8 P18 32 VCC 54 DONE 4
I-M0
IO-PGCK2
IO-SGCK3
9 P20 PROG CCLK 3
IO-HDC
IO-LDC
IO-INIT
10 P24 2
DONE
GND
D1 D2
GND
GND
VCC
VCC
1
I-M2
3
4
3
4
VCC
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
S2 S1
1
2
2
S1: Pulsador de programacion
41
51
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
52
53
DONE S2: Pulsador de TEST
D1: Led de programacion
D2: Led de TEST
INIT
JP1
Sergio Lopez Buedo Tarjeta entrenadora para FPGA
Pablo Haya Version PRO
Juan Gonzalez
GND
GND
GND
VCC
VCC
VCC
P39
P38
P29
P27
P26
P28
P35
P40
P49
P50
P48
P46
P44
P45
P47
P51
P62
P60
P58
P56
P57
P59
P61
P65
10
10
10
Configuracion del
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
modo de carga
5/6
Este tipo de arquitecturas presenta también una serie de in- [7] Empresa Xilinx, fabricante de FPGAs.
convenientes: http://www.xilinx.com
Mayor precio. Una FPGA en comparación con un [8] Estructura y Diseño de Circuitos Digitales.
microcontrolador es mucho más cara. En concreto, la www.ii.uam.es/~ivan/temario.htm
FPGA utilizada en el robot de docencia cuesta 24 euros [9] Sven E. Wahlstrom. Programmable Logic Arrays –
frente a los 5 euros (precios en el 2003) que costaría tí- Cheaper by the Millions Electronics, 40(25), pp. 90-
picamente un microcontrolador de 8 bits en el que se 95, December 11, 1967.
puede implementar fácilmente el mismo algoritmo de
seguir la línea. [10] Oldfield J. and Dorf R. , "Field-Programmable Gate
Arrays. Reconfigurable Logic for Rapid Prototyping
Entornos de desarrollo propietarios, con licencias and Implementation of Digital Sistems", John Wiley
altas. Para realizar la síntesis del hardware hay que & Son. 1995.
utilizar las herramientas del fabricante de las FPGA,
que son caras y al día de hoy no existen alternativas [11] Trimberger S., "Field-Programmable Gate Arrays
libres. Technology", ", Boston: Kluwer Academic
Publishers, 1995.
10. Conclusiones
Se ha diseñado una placa pequeña, sencilla y libre, para
que los estudiantes puedan construir prototipos utilizando
FPGA’s. En la Universidad Autónoma de Madrid se es-
tá empleando en el laboratorio de Estructura y Diseño de
Circuitos Digitales y en el de Arquitectura e Ingeniería de
Computadores. Con esta placa se ha construido un prototipo
de un robot seguidor de línea (robot de docencia) que en vez
de un microcontrolador clásico utiliza una CPU diseñada en
VHDL y sintetizada en una FPGA.
Referencias
[1] Licencia pública GNU. Traducción al castellano.
http://gugs.sindominio.net/gnu-gpl/gples.html
[2] OpenCores. Repositorio de diseños hardware, descri-
tos en lenguajes HDL, para ser sintetizados en FPGAs.
http://www.opencores.org.
[3] Tarjeta CT6811, basada en el microcontrolador
68hc11.
http://www.iearobotics.com/proyectos/ct6811/ct6811.html
6/6