Escolar Documentos
Profissional Documentos
Cultura Documentos
NDICE
ndice.................................................................................................................................3
ndice de Figuras...............................................................................................................4
1.
Tema...........................................................................................................................5
2.
3.
Objetivos....................................................................................................................6
3.1.
Objetivo General.................................................................................................6
3.2.
Objetivos Especficos.........................................................................................6
4.
5.
Marco Terico............................................................................................................7
5.1.
FPGA..................................................................................................................7
5.1.1.
5.2.
5.2.1.
Caractersticas de Vhdl....................................................................................9
5.3.
5.4.
PS2....................................................................................................................10
5.4.1.
6.
Conexionado Elctrico..................................................................................11
5.4.1.1.
5.4.1.2.
Diagramas................................................................................................................13
6.1.
6.2.
Diagrama de Bloques........................................................................................13
6.3.
Diagrama de flujo.............................................................................................14
6.4.
Diagrama Elctrico...........................................................................................15
7.
Lista De Componentes.............................................................................................16
8.
9.
Mapa De Variables...................................................................................................17
9.1.
debounce.vhd....................................................................................................17
9.2.
teclado.vhd........................................................................................................17
9.3.
ps2_keyboard.vhd.............................................................................................18
9.4.
display...............................................................................................................18
9.5.
ps2_guardar.......................................................................................................18
9.6.
top_ps2..............................................................................................................19
4
10.
10.1.
Prerrequisitos.................................................................................................19
11.
Conclusiones.........................................................................................................19
12.
Recomendaciones.................................................................................................19
13.
Cronograma..........................................................................................................20
Bibliografa......................................................................................................................21
14.
Anexos..................................................................................................................22
14.1.
Manual de Usuario........................................................................................22
NDICE
DE
F IGURAS
1. T EMA
2. P LANTEAMIENTO
DEL
P ROBLEMA
3. O BJETIVOS
3.1. O BJETIVO G ENERAL
Desarrollar una aplicacin general en lenguaje VHDL que permita visualizar la
informacin ingresada a travs de un teclado de computador en un grupo de 5
displays.
3.2. O BJETIVOS E SPECFICOS
4. E STADO
DEL ARTE
En los ltimos aos el uso de tarjetas FPGA con su mdulo PS2 ha permitido realizar
varias aplicaciones dentro de los sistemas electrnicos digitales donde la comprensin
del manejo de seales y el correcto diseo de controladores para los dispositivos PS2
permitieron el desarrollo de estas aplicaciones, la conexin serial y bidireccional de la
tarjeta y los dispositivos permiti la interaccin de los usuarios con los sistemas adems
de la integracin del hardware con el software, esto derivo en el desarrollo de
aplicaciones avanzadas, una aplicacin interesante la podemos encontrar en el artculo
(Amir Shademani, 2013) donde de acuerdo a la tecla presionada del teclado se activa un
sonido, para el proyecto sus creadores desarrollaron tres tipos de controladores donde el
primero permite la visualizacin de la tecla que es presionada en un monitor donde el
controlador se encarga de generar seales sincronizadas adems de enviar el dato de un
pixel y donde se va a desplegar cada color, el tamao de estos datos es de un bit para
rojo, azul o verde, el segundo controlador es aquel que permite la conexin del teclado
con la tarjera FPGA, y el ultimo controlador es aquel que se encarga de emitir el sonido
mediante una seal PWM, las aplicaciones ms destacadas dentro de los artculos
encontrados son aquellas que muestran colores de acuerdo a la tecla presionada o
tambin muestra que tecla fue presionada mediante un monitor, ciertas aplicaciones ms
avanzadas fueron encontradas donde se muestra un sistema de seguridad de datos
mediante una encriptacin de los mismos, el articulo (M. Sanchez-Elez, 2015) nos
muestra como el uso de juegos de video en el desarrollo de las habilidades de
estudiantes de ingeniera genera un alto inters adems de permitir el uso de los
conocimientos previos y afianzar los mismos, se utiliz el juego clsico Arkanoid que
genera un desafo mayor que un juego simple de tenis de mesa, aqu tambin se vieron
inmiscuidos los controladores para PS2 y VGA para el despliegue de graficas en un
monitor, la mayora de estudiantes se sintieron a gusto con este curso y mostraron su
agrado por este tipo de aprendizaje practico.
5. M ARCO T ERICO
5.1. FPGA
FPGA
Dispositivos
semiconductores que
contienen componentes
lgicos programables .
Componentes lgicos
programables pueden ser
programados para duplicar
la funcionalidad de puertas
lgicas
Se utilizan en aplicaciones
similares a los ASICs sin
embargo son ms lentas,
tienen un mayor consumo
de potencia y no pueden
abarcar sistemas tan
complejos como ellos.
5.1.1. L ENGUAJE
DE
D ESCRIPCIN
DE
H ARDWARE (HDL)
Se basa en la creacin
y uso de descripcin
de texturas basadas
en circuitos o
sistemas lgicos
digitales
La descripcin del
circuito puede ser
creada en los
diferentes niveles de
abstraccin
5.2. V HDL
8
Lenguaje VHDL
Permite la descripcin de la estructura del diseo, lo que representa la
manera en que est dividida en sub-diseos, y cmo esos sub-diseos son
interconectados.
Permite que las funciones sean especificadas mediante el uso de
estructuras de lenguajes de programacin que son familiares a los
desarrolladores.
Es posible realizar la simulacin del diseo antes de ser fabricado, por lo
que los diseadores son capaces de comparar las alternativas y probar que
sean correctos sin el retraso y el costo del desarrollo de prototipos.
Figura 4. Descripcin de Lenguaje VHDL
5.2.1. C ARACTERSTICAS
DE
V HDL
Integrated
Integrated Synthesis
Synthesis Enviroment
Enviroment (ISE)
(ISE)
5.3. D ESCRIPCIN
DE
10
5.4. PS2
PS2 KEYBOARD
El puerto PS2 contiene dos cables para fines de comunicacin. Un cable es para los
datos, que se transmite en un flujo en serie. El otro cable es para la informacin del
reloj, que especifica cuando los datos son vlidos y puede ser recuperada.
La comunicacin del puerto PS2 es bidireccional y el anfitrin puede enviar un
comando para el teclado o el ratn para ajustar ciertos parmetros. Para nuestros
propsitos, la comunicacin bidireccional apenas se requiere para el teclado PS2, y
por lo tanto nuestra discusin se limita a una sola direccin, desde el teclado a la
placa de prototipos
El teclado PS/2 tiene un mapa de teclas a las que asigna un cdigo, de uno o dos
bytes, para cada una de ellas y que son los cdigos que nos va a transmitir para
indicarnos que se est pulsando una tecla determinada. A estos cdigos les vamos a
llamar cdigos de rastreo de teclado.
Figura 8. Descripcin de PS2 (Chu, 2009)
11
El teclado PS/2 se conecta mediante cuatro hilos. Dos de ellos son para
alimentacin Vcc a 5V y GND, y otros dos para las seales Data y Clock
El pinout de
machos, los
los conectores Mini-DIN PS/2 tanto hembra, los del PC, como
del Teclado, es tal como se muestra en la imagen
5.4.1.1. T RANSMISIN
DEL TECLADO
Coloca en la lnea de
datos el bit start (0),
de esta manera se
indica que se va a
comenzar.
A continuacin coloca
los bits de datos, de
paridad y de fin,
indicando con el flanco
de bajada del reloj
cuando se deben leer.
12
5.4.1.2. T RANSMISIN
DEL DISPOSITIVO
Colocar la lnea
de datos a 0
Liberar el reloj
Esperar a que el
teclado coloque el
reloj a 0
Colocar en el dato
el bit star (0)
Esperar a que el
teclado coloque el
reloj a 1
Esperar a que el
teclado coloque el
reloj a 0
Colocar bit de
dato
Se repiten los
pasos 6 a 8 hasta
terminar con el
los bits de datos,
paridad y stop
Liberar la lnea de
datos
Esperar a que el
teclado coloque a
0 el bit de ack
(reconocimiento)
Esperar a que el
teclado coloque el
reloj a 0
Esperar a que el
teclado libere la
lnea de datos y
de reloj.
Figura 13. Transmisin del dispositivo
6. D IAGRAMAS
13
6.1. D IAGRAMA
DE
C ASOS
DE
U SO
6.2. D IAGRAMA
DE
B LOQUES
6.3. D IAGRAMA
DE FLUJO
14
15
16
17
7. L ISTA D E C OMPONENTES
Los componentes utilizados en este trabajo de investigacin, se detallan a continuacin:
Tabla 1. Componentes Necesarios
Microsoft Word
Microsoft Visio
Microsoft Project
Proteus 8 Professional
Ise Design Suite
Camtasia Studio
Prezi
que el el teclado cuenta con 10 bits de los cuales se tiene uno de paridad, otro para
empezar y otro para finalizar y los bits de datos, Verificamos el estado de estos. Y
verificamos que la transmisin haya terminado.
Estos dos mdulos se enlazan en el top ps2_keyboard.
Mdulo display
En este mdulo lo que se realiza es transformar de cdigo ascii a cdigo legible y
entendible para ser ledo y entendido para un display de 7 segmentos, esto se lo realiza
mediante vectores y solo realizamos una decodificacin del cdigo ascii, en la cual
sabemos vamos formando en cada Display la letra o el nmero que queramos formar,
tomando, tambin podramos mostrar smbolos pero estos no son tan legibles. Se debe
tomar en cuenta de que existen letras Maysculas y minsculas, y para ello se utiliza
una condicin para cuando se aplaste el botn de caps Lock me coja maysculas y
minsculas.
Mdulo Guardar
En este mdulo se guarda todo lo que va entrando a los 5 display para luego ser
enviadas a las salidas de los mismos.
Mdulo Principal top_ps2
Es en donde se encuentran unidos todos los mdulos antes mencionados.
9. M APA D E V ARIABLES
9.1. DEBOUNCE . VHD
debounce
Tipo
STD_LOGIC
In/Out
In
Nombre
clk
Descripcin
Seal de reloj
Asignacin
Clk
STD_LOGIC
In
Button
Button
STD_LOGIC
Out
Result
Seal de entrada
para ver rebote
Seal de salida con
el rebote
Result
In/Out
In
Nombre
clk
Descripcin
Seal de reloj
Asignacin
Clk
STD_LOGIC
In
Ps2_clk_int
Ps2_clk_int
STD_LOGIC
In
Ps2_data_int
STD_LOGIC
Out
Ps2_code_ne
19
Ps2_data_int
Ps2_code_ne
STD_LOGIC
Out
Ps2_code_new
STD_LOGIC_VECTOR
out
Ps2_code
Salida de cuando se
genera un nuevo
pulso
Cdigo de salida
(ascii)
Ps2_code_new
Ps2_code
In/Out
In
Nombre
clk
Descripcin
Seal de reloj
Asignacin
Clk
STD_LOGIC
In
Ps2_clk
Ps2_clk
STD_LOGIC
In
Ps2_data
STD_LOGIC
Out
Ps2_code_ne
STD_LOGIC
Out
Ps2_code_new
STD_LOGIC_VECTOR
out
Ps2_code
Ps2_data
Ps2_code_ne
Ps2_code_new
Ps2_code
9.4. DISPLAY
Display
Tipo
STD_LOGIC
In/Out
In
Nombre
clk
Descripcin
Seal de reloj
Asignacin
Clk
STD_LOGIC
In
Ps2_code_new
Ps2_code_new
STD_LOGIC_VECTOR
In
Ps2_code
STD_LOGIC_VECTOR
Out
Ascii_code
Seal de pulso de
rebote
Seal de datos del
teclado en ascii
Salida de ascii al
variable requerida
Ps2_code
Ascii_code
9.5. PS 2_ GUARDAR
Display
Tipo
STD_LOGIC
In/Out
In
Nombre
clk
Descripcin
Seal de reloj
Asignacin
Clk
STD_LOGIC
In
Ps2_code_new
Ps2_code_new
STD_LOGIC_VECTOR
In
ascii_code
STD_LOGIC_VECTOR
Out
salida
Seal de pulso,
nuevo clk
Seal de datos desde
mdulo display
Salida para los 5
displays
9.6. TOP _ PS 2
Top_ps2
20
ascii_code
salida
Tipo
STD_LOGIC
In/Out
In
Nombre
clk
Descripcin
Seal de reloj
Asignacin
Clk
STD_LOGIC
In
Ps2_clk
Ps2_clk
STD_LOGIC
In
Ps2_data
STD_LOGIC
out
Ps2_code_ne
STD_LOGIC_VECTOR
out
Ascii_code
10.
Ps2_data
Ps2_code_ne
Ascii_code
Se utiliz una computadora con el sistema operativo Windows 7, la seleccin del mismo
se debe a la estabilidad y a la compatibilidad de los programas con dicho sistema.
Donde se requiere la instalacin del programa Ise Design Suite, que es un software
totalmente compatible con la familia Spartan de FPGAs
10.1.
11.
C ONCLUSIONES
12.
P RERREQUISITOS
R ECOMENDACIONES
21
22
13. C RONOGRAMA
23
B IBLIOGRAFA
Alulema, D. (5 de Julio de 2016). Capitulo 3. ASICs. Quito, Pichincha, Ecuador .
Amir Shademani, H. S. (2013). Design of Embedded Systems. Obtenido
http://fileadmin.cs.lth.se/cs/Education/EDA385/HT10/student_doc/Piano/report_
final.pdf
Anomino. (5 de Julio de 2016). Xilinx. Obtenido de xilinx Web:
http://www.xilinx.com/products/design-tools/ise-design-suite.html
Anonimo. (5 de Julio de 2016). Galia. Obtenido de galia.fc Web site:
http://galia.fc.uaslp.mx/~cantocar/ARQUI_COM_II/LIBRO%20IBMPC/ap05.htm
Anonimo. (5 de Julio de 2016). Wikipedia. Obtenido de Wikipedia.org Web site:
https://es.wikipedia.org/wiki/PS/2
Bejarano, A. A. (02 de 12 de 2010). Wikipedia. Recuperado el 08 de 08 de 2015, de
http://en.qi-hardware.com/wiki/Teclado
Black, L. (14 de 10 de 2012). Scribd. Recuperado el 08 de 08 de 2015, de
http://es.scribd.com/doc/108939426/Control-de-un-teclado-medianteVHDL#scribd
Chu, P. P. (2009). FPGA Prototyping by VHDL Examples. New Jersey: WILE
INTERSCIENCE.
Fpga Libre. (22 de 04 de 2015). Recuperado el 08 de 08 de 2015, de
http://fpgalibre.sourceforge.net/
M. Sanchez-Elez, S. R. (2015). Video-Game on a FPGA. Obtenido de
http://worldcomp-proceedings.com/proc/p2015/FEC6121.pdf
Oocities. (s.f.). Recuperado el 08 de 08 de 2015, de
http://www.oocities.org/videoreal/pdf/4disenodelaFPGA.pdf
RedRaven, D. (27 de 12 de 2008). PicMana. Recuperado el 08 de 08 de 2015, de
http://picmania.garcia-cuervo.net/proyectos_teclado_ps2.htm
24
14.
A NEXOS
14.1.
M ANUAL
DE
U SUARIO
25