SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
U. ECCI JECC 2016
INTERFAZ DEL MOUSE POR PUERTO PS/2
USANDO FPGA
Rincón R. Andrés F., Pedraza D. Ángela X.
andres05_31@hotmail.com, angelaxpm@hotmail.com
Universidad Escuela Colombiana de Carreras Industriales
Bogotá D.C., Colombia
Resumen— El presente documento muestra el desarrollo y la
implementación de una interfaz entre un mouse y una FPGA a
través del puerto PS/2.
El proyecto consiste en realizar una interfaz que permita
visualizar el cursor del mouse por medio del puerto VGA, y que
cumpla una función, aplicando una máquina de estados al
programa desarrollado en VHDL.
Abstract- This paper shows the development and
implementation of an interface between a mouse and a FPGA
through the PS / 2 port .The project involves making an
interface to display the mouse cursor through the VGA port ,
and has a function , using a state machine program developed
in VHDL.
Palabras clave: FPGA, Interfaz PS/2, VGA, VHDL.
I. INTRODUCCIÓN
El conector PS/2 o puerto PS/2 toma su nombre de la serie de
computadoras IBM Personal System/2 que es creada
por IBM en 1987, y empleada para
conectar teclados y ratones. Muchos de los adelantos
presentados fueron inmediatamente adoptados por el mercado
del PC, siendo este conector uno de los primeros.
En ambos casos es serial (bidireccional en el caso del teclado),
y controlada por microcontroladores situados en la placa
madre.
El mouse se convirtió en un dispositivo indispensable para cualquier
tipo de usuario, peromuy pocos saben cómo fue inventado y cuál es su
historia completa.
Esta práctica plantea la realización de un controlador de
mouse que a su vez permita visualizar el cursor por medio de
una pantalla utilizando el puerto VGA de la FPGA.
II. DISEÑO Y DESAROLLO
1. INTERFAZ DEL MOUSE A LA FPGA SIN
VISUALIZACION
Un teclado o ratón del tipo AT-PS/2 utiliza para comunicarse
un protocolo bidireccional serie síncrono de 11 bits. Usa dos
líneas a colector abierto con resistencias de “pullup” TTL +5V
(por defecto a uno)
U. ECCI JECC 2016
Figura.1
 PS/2 INTERFACE
La anterior figura.1 compuesta por tres módulos muestra la
interfaz del módulo PS/2 el cual es responsable para la
comunicación entre el mouse y su controlador.
La interfaz física utiliza cuatro líneas. Los pines del conector
PS/2 son asignados de la siguiente manera:
1 Data
2 Not Implemented
3 Ground
5 VCC (+5V)
6 Clock
8 Not Implemented
1. CLK para transmitir el reloj de sincronización. El reloj
siempre debe ser generado por el
dispositivo con una frecuencia entre 10 y 16,7KHZ.
2. DATA para transmitir los datos serie. Los datos pueden ser
generados por el dispositivo o
por el sistema, y su formato es: 1bit de star(‘0’), 8 bits de
datos (primero el lsb), 1 bit de
paridad impar, 1 bit de stop(’1’).
 MOUSE CONTROLLER
El mouse_controller, permite recibir los paquetes de datos
desde el mouse y las salidas de las posiciones del estado de los
botones. El tercer bloque, de resolución del mouse, provee la
activación de los limites en los lados X y Y, este tercer bloque
recibe la información de resolución y calcula el máximo valor
en los lados X y Y y los establece en la posición original del
mouse.
EL mouse reporta un desplazamiento positivo en X cuando es
movido a la derecha y negativo cuando la señal en X es uno lo
que indica un movimiento a la izquierda.
Cuando el mouse es movido en dirección hacia arriba, el
desplazamiento en Yes positivo y cuando es movido hacia
abajo es negativo.
Figura.2
Figura.3
U. ECCI JECC 2016
Diagrama de estados del bloque mouse_controller.
2. BLOQUE DE VISUALIZACION DEL
MOUSE
Figura.4
La imagen del cursor es protegida en una ROM de 256x2 bits.
Cuando las coordenadas horizontal y vertical están en la
región del cursor del mouse los bits no trasparentes se
muestran en pantalla.
La posición del mouse es recibida en el bloque de
mouse_controler. El contador horizontal y vertical del video
es recibido desde el bloque vga_module.
Si el contador está dentro de los bordes del cursor del mouse,
la imagen del cursor es enviada.
El cursor del mouse está compuesto por pixeles de
16 x 16 y usa tres colores:
El blanco que compone el interior del cursor.
El negro da forma, marcando los bordes de la figura generada;
y el transparente que permite visualizar solo la figura resaltada
por el negro, y no la matriz de pixeles 16 x 16.
La imagen del cursor es almacenada en una memoria RAM.
Dos bits son usados para codificar el color “00” para negro,
“01” para blanco, “10” o “11” para transparente (los colores
de entrada son salidas). De esta forma, el cursor del mouse
puede aparecer como un reloj, formado en un cuadrado de 16
x 16.
Las direcciones de la memoria RAM son calculadas basado en
la diferencia del contador VGA y la posición del mouse. El
xdiff es la diferencia de 4 bits (porque el cursor tiene un
tamaño de 16 pixeles) entre el contador horizontal del VGA y
la posición de x en el mouse. El ydiff es la diferencia de 4 bits
(porque el cursor es de 16 pixeles de alto) entre el contador
vertical del VGA y la posición del mouse. La dirección de
memoria de la corriente de pixeles es obtenida por la unión de
ydiff y xdiff en ese orden. La distribución de la memoria es
usada para almacenar el cursor del mouse.
Si el color negro está a la entrada desde el vga_module será
activado, esto significa que el flujo de pixeles no está ocultado
y el color de salida será negro.
3. INTERFAZ DEL MOUSE A LA FPGA CON
VISUALIZACION
Figura.5
La figura.5 muestra la unión de los bloques vistos anterior
mente, más un bloque de resolución de 640x60 para la VGA.
Este bloque entrega los colores ROJO, VERDE y AZUL con
lo cual se realiza la quina de estados. Aunque la máquina de
estados depende de una señal CLK, para este caso depende de
la señal del botón izquierdo del mouse que será integrado para
realizar un cambio de color con cada pulsación del botón.
III. MAQUINA DE ESTADOS
.
ROJO
VERDE
U. ECCI JECC 2016
La máquina de estados representa la funcionalidad de los
botones del mouse, debido a que cada cambio de estado se
logra a través de un pulso en el botón izquierdo del mouse.
El diagrama muestra cuatro estados, que son representados
por el cambio del color en la pantalla, para el proyecto, la
pantalla fue dividida en tres secciones horizontales y cada
sección cambia de color con un pulso del mouse.
IV.CONCLUSIONES
En el proceso de desarrollo del proyecto fue evidente
presentar con fallas debido a que el puerto PS/2 no se había
manejado teóricamente en la clase.
El principal problema encontrado fue la integración de del
bloque de resolución del VGA con la resolución del mouse,
debido a que manejaban una frecuencia de trabajo diferente.
Por medio del proyecto se entendió el protocolo de
comunicación que tiene el mouse con un sistema operativo y
de esta forma visualizar el cursor.
Para realizar el proyecto fue necesario utilizar material de
apoyo de Xilinx para la integración del teclado por puerto
PS/2 ya que el protocolo de comunicación para datos y el
CLK es el mismo empleado para el mouse.
[1] Pérez, S., Soto, E. y Fernández, S.: Diseño de sistemas digitales con
VHDL. THOMPSON, 2002.
[2] Página de la tarjeta de Desarrollo Digilent Spartan-3.
http://www.digilentinc.com/ Junio, 2013.
[3] Pardo, F. y Boluda, J.: VHDL, Lenguaje para síntesis y modelado de
circuitos. Alfaomega, 3ª edición, 2000.
[4] Integrated Silicon Solutions Inc., “Data sheet IS61LV25616AL”,
December, 2011.
[5] Digilent: User Guide Digilent Spartan-3 Starter Kit Board Board,
Digilent, April, 2004.
[6] Edwards, V., Courtney, M. y Yang, K.: “A FPGA Paint Brush
Application”, Information Systems Education Journal, Vol. 7, No. 36,
Abril, 2009.
[7] Página de la VESA, Video Electronics Standards Association, http://
www.vesa.org, Mayo, 2013.
[8] Maleki, N., & Haghighi, B. Design of a simple and stand-alone RS-
232c interface. Journal Of Chemical Education, 72(4), A78.1995.
[9] Maxim Integrated: “Datasheet DS1265W”, November, 2010.
[10] Maxim Integrated: “Datasheet DS1270W”, November, 2010.
[11] Grout, Ian: Digital Systems Design with FPGAs and CPLDs.
ELSEVIER, 2008.
[12] Página descriptiva API Microsoft Windows,
http://msdn.microsoft.com/enus/library/windows/desktop/aa363214(v=
vs .85).aspx. Junio 2013.
[13] Monteiro, A., & Jordan, T. R. Implementing communication between
Windows PCs and test equipment using RS- 232 and Borland C++
Builder. Behavior Research Methods, Instruments, & Computers, 36(1),
107-112. 2004.
[14] R. González and R. Woods, Digital Image Processing, 3rd. Edition.
Prentice-Hall, 2008.
[15] http://www.computer-engineering.org/ps2mouse/
[16] Manual de referencia de la placa Basys2
AUTORES
B. Angela Ximena Pedraza Martínez
nacida en Bogotá (Cundinamarca),
Colombia, el 9 de Junio de 1986.
Estudiante de ingeniería electrónica.
Tecnóloga en soporte de
telecomunicaciones. Técnica en
telecomunicaciones. A nivel
profesional se ha desarrollado como
directora operativa en proyectos de
seguridad electrónica, fortaleciendo
paralelamente la parte comercial en
proyectos de tecnología. Actualmente
se desempeña como directora comercial y operativa en una empresa
Outsourcing de proyectos de seguridad electrónica, energía
renovable, domótica e inmótica.
AZUL
AZUL+ROJO
A. Andrés Felipe Rincón Ramírez
nacido en Bogotá (Cundinamarca),
Colombia, el 31 de mayo de 1994. Se
graduó como Tecnólogo en
electrónica Industrial el 7 de
octubre de 2014.
Actualmente se encuentra cursando
octavo semestre de Ingeniería Electrónica
en la Escuela Colombiana de Carreras
Industriales.

Más contenido relacionado

Similar a Paper interfaz del mouse por puerto ps 2 usando fpga

Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Freddy Cuasapaz
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...Victor Asanza
 
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALESDISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALESFranklin J.
 
191256975 micro-practicas
191256975 micro-practicas191256975 micro-practicas
191256975 micro-practicasproyband
 
INTERFAZ GRAFICA
INTERFAZ GRAFICAINTERFAZ GRAFICA
INTERFAZ GRAFICADeBoRaNbA8
 
Mantenimiento 2
Mantenimiento 2Mantenimiento 2
Mantenimiento 2taniamabel
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Mantenimiento 2
Mantenimiento 2Mantenimiento 2
Mantenimiento 2taniamabel
 
Direct Xy Open Gl
Direct Xy Open GlDirect Xy Open Gl
Direct Xy Open Glguest5506a9
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOFernando Marcos Marcos
 
Michael barreto 581708 taller de hardware
Michael barreto 581708 taller de hardwareMichael barreto 581708 taller de hardware
Michael barreto 581708 taller de hardwaremich5591
 

Similar a Paper interfaz del mouse por puerto ps 2 usando fpga (20)

Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN B RESUELTA 2do PARCIAL (2019 1er T...
 
Paper2
Paper2Paper2
Paper2
 
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALESDISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
 
Alux descripcion
Alux descripcionAlux descripcion
Alux descripcion
 
191256975 micro-practicas
191256975 micro-practicas191256975 micro-practicas
191256975 micro-practicas
 
INTERFAZ GRAFICA
INTERFAZ GRAFICAINTERFAZ GRAFICA
INTERFAZ GRAFICA
 
Expopantalla
ExpopantallaExpopantalla
Expopantalla
 
Mantenimiento 2
Mantenimiento 2Mantenimiento 2
Mantenimiento 2
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
juego-utilizando-sockets
juego-utilizando-socketsjuego-utilizando-sockets
juego-utilizando-sockets
 
Mantenimiento 2
Mantenimiento 2Mantenimiento 2
Mantenimiento 2
 
Direct Xy Open Gl
Direct Xy Open GlDirect Xy Open Gl
Direct Xy Open Gl
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
Rostro Expresivo
Rostro ExpresivoRostro Expresivo
Rostro Expresivo
 
Arkanoid en lenguaje vhdl
Arkanoid en lenguaje vhdlArkanoid en lenguaje vhdl
Arkanoid en lenguaje vhdl
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 
Karenmatallana2019
Karenmatallana2019Karenmatallana2019
Karenmatallana2019
 
Michael barreto 581708 taller de hardware
Michael barreto 581708 taller de hardwareMichael barreto 581708 taller de hardware
Michael barreto 581708 taller de hardware
 

Último

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 

Último (20)

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 

Paper interfaz del mouse por puerto ps 2 usando fpga

  • 1. U. ECCI JECC 2016 INTERFAZ DEL MOUSE POR PUERTO PS/2 USANDO FPGA Rincón R. Andrés F., Pedraza D. Ángela X. andres05_31@hotmail.com, angelaxpm@hotmail.com Universidad Escuela Colombiana de Carreras Industriales Bogotá D.C., Colombia Resumen— El presente documento muestra el desarrollo y la implementación de una interfaz entre un mouse y una FPGA a través del puerto PS/2. El proyecto consiste en realizar una interfaz que permita visualizar el cursor del mouse por medio del puerto VGA, y que cumpla una función, aplicando una máquina de estados al programa desarrollado en VHDL. Abstract- This paper shows the development and implementation of an interface between a mouse and a FPGA through the PS / 2 port .The project involves making an interface to display the mouse cursor through the VGA port , and has a function , using a state machine program developed in VHDL. Palabras clave: FPGA, Interfaz PS/2, VGA, VHDL. I. INTRODUCCIÓN El conector PS/2 o puerto PS/2 toma su nombre de la serie de computadoras IBM Personal System/2 que es creada por IBM en 1987, y empleada para conectar teclados y ratones. Muchos de los adelantos presentados fueron inmediatamente adoptados por el mercado del PC, siendo este conector uno de los primeros. En ambos casos es serial (bidireccional en el caso del teclado), y controlada por microcontroladores situados en la placa madre. El mouse se convirtió en un dispositivo indispensable para cualquier tipo de usuario, peromuy pocos saben cómo fue inventado y cuál es su historia completa. Esta práctica plantea la realización de un controlador de mouse que a su vez permita visualizar el cursor por medio de una pantalla utilizando el puerto VGA de la FPGA. II. DISEÑO Y DESAROLLO 1. INTERFAZ DEL MOUSE A LA FPGA SIN VISUALIZACION Un teclado o ratón del tipo AT-PS/2 utiliza para comunicarse un protocolo bidireccional serie síncrono de 11 bits. Usa dos líneas a colector abierto con resistencias de “pullup” TTL +5V (por defecto a uno)
  • 2. U. ECCI JECC 2016 Figura.1  PS/2 INTERFACE La anterior figura.1 compuesta por tres módulos muestra la interfaz del módulo PS/2 el cual es responsable para la comunicación entre el mouse y su controlador. La interfaz física utiliza cuatro líneas. Los pines del conector PS/2 son asignados de la siguiente manera: 1 Data 2 Not Implemented 3 Ground 5 VCC (+5V) 6 Clock 8 Not Implemented 1. CLK para transmitir el reloj de sincronización. El reloj siempre debe ser generado por el dispositivo con una frecuencia entre 10 y 16,7KHZ. 2. DATA para transmitir los datos serie. Los datos pueden ser generados por el dispositivo o por el sistema, y su formato es: 1bit de star(‘0’), 8 bits de datos (primero el lsb), 1 bit de paridad impar, 1 bit de stop(’1’).  MOUSE CONTROLLER El mouse_controller, permite recibir los paquetes de datos desde el mouse y las salidas de las posiciones del estado de los botones. El tercer bloque, de resolución del mouse, provee la activación de los limites en los lados X y Y, este tercer bloque recibe la información de resolución y calcula el máximo valor en los lados X y Y y los establece en la posición original del mouse. EL mouse reporta un desplazamiento positivo en X cuando es movido a la derecha y negativo cuando la señal en X es uno lo que indica un movimiento a la izquierda. Cuando el mouse es movido en dirección hacia arriba, el desplazamiento en Yes positivo y cuando es movido hacia abajo es negativo. Figura.2 Figura.3
  • 3. U. ECCI JECC 2016 Diagrama de estados del bloque mouse_controller. 2. BLOQUE DE VISUALIZACION DEL MOUSE Figura.4 La imagen del cursor es protegida en una ROM de 256x2 bits. Cuando las coordenadas horizontal y vertical están en la región del cursor del mouse los bits no trasparentes se muestran en pantalla. La posición del mouse es recibida en el bloque de mouse_controler. El contador horizontal y vertical del video es recibido desde el bloque vga_module. Si el contador está dentro de los bordes del cursor del mouse, la imagen del cursor es enviada. El cursor del mouse está compuesto por pixeles de 16 x 16 y usa tres colores: El blanco que compone el interior del cursor. El negro da forma, marcando los bordes de la figura generada; y el transparente que permite visualizar solo la figura resaltada por el negro, y no la matriz de pixeles 16 x 16. La imagen del cursor es almacenada en una memoria RAM. Dos bits son usados para codificar el color “00” para negro, “01” para blanco, “10” o “11” para transparente (los colores de entrada son salidas). De esta forma, el cursor del mouse puede aparecer como un reloj, formado en un cuadrado de 16 x 16. Las direcciones de la memoria RAM son calculadas basado en la diferencia del contador VGA y la posición del mouse. El xdiff es la diferencia de 4 bits (porque el cursor tiene un tamaño de 16 pixeles) entre el contador horizontal del VGA y la posición de x en el mouse. El ydiff es la diferencia de 4 bits (porque el cursor es de 16 pixeles de alto) entre el contador vertical del VGA y la posición del mouse. La dirección de memoria de la corriente de pixeles es obtenida por la unión de ydiff y xdiff en ese orden. La distribución de la memoria es usada para almacenar el cursor del mouse. Si el color negro está a la entrada desde el vga_module será activado, esto significa que el flujo de pixeles no está ocultado y el color de salida será negro. 3. INTERFAZ DEL MOUSE A LA FPGA CON VISUALIZACION Figura.5 La figura.5 muestra la unión de los bloques vistos anterior mente, más un bloque de resolución de 640x60 para la VGA. Este bloque entrega los colores ROJO, VERDE y AZUL con lo cual se realiza la quina de estados. Aunque la máquina de estados depende de una señal CLK, para este caso depende de la señal del botón izquierdo del mouse que será integrado para realizar un cambio de color con cada pulsación del botón. III. MAQUINA DE ESTADOS . ROJO VERDE
  • 4. U. ECCI JECC 2016 La máquina de estados representa la funcionalidad de los botones del mouse, debido a que cada cambio de estado se logra a través de un pulso en el botón izquierdo del mouse. El diagrama muestra cuatro estados, que son representados por el cambio del color en la pantalla, para el proyecto, la pantalla fue dividida en tres secciones horizontales y cada sección cambia de color con un pulso del mouse. IV.CONCLUSIONES En el proceso de desarrollo del proyecto fue evidente presentar con fallas debido a que el puerto PS/2 no se había manejado teóricamente en la clase. El principal problema encontrado fue la integración de del bloque de resolución del VGA con la resolución del mouse, debido a que manejaban una frecuencia de trabajo diferente. Por medio del proyecto se entendió el protocolo de comunicación que tiene el mouse con un sistema operativo y de esta forma visualizar el cursor. Para realizar el proyecto fue necesario utilizar material de apoyo de Xilinx para la integración del teclado por puerto PS/2 ya que el protocolo de comunicación para datos y el CLK es el mismo empleado para el mouse. [1] Pérez, S., Soto, E. y Fernández, S.: Diseño de sistemas digitales con VHDL. THOMPSON, 2002. [2] Página de la tarjeta de Desarrollo Digilent Spartan-3. http://www.digilentinc.com/ Junio, 2013. [3] Pardo, F. y Boluda, J.: VHDL, Lenguaje para síntesis y modelado de circuitos. Alfaomega, 3ª edición, 2000. [4] Integrated Silicon Solutions Inc., “Data sheet IS61LV25616AL”, December, 2011. [5] Digilent: User Guide Digilent Spartan-3 Starter Kit Board Board, Digilent, April, 2004. [6] Edwards, V., Courtney, M. y Yang, K.: “A FPGA Paint Brush Application”, Information Systems Education Journal, Vol. 7, No. 36, Abril, 2009. [7] Página de la VESA, Video Electronics Standards Association, http:// www.vesa.org, Mayo, 2013. [8] Maleki, N., & Haghighi, B. Design of a simple and stand-alone RS- 232c interface. Journal Of Chemical Education, 72(4), A78.1995. [9] Maxim Integrated: “Datasheet DS1265W”, November, 2010. [10] Maxim Integrated: “Datasheet DS1270W”, November, 2010. [11] Grout, Ian: Digital Systems Design with FPGAs and CPLDs. ELSEVIER, 2008. [12] Página descriptiva API Microsoft Windows, http://msdn.microsoft.com/enus/library/windows/desktop/aa363214(v= vs .85).aspx. Junio 2013. [13] Monteiro, A., & Jordan, T. R. Implementing communication between Windows PCs and test equipment using RS- 232 and Borland C++ Builder. Behavior Research Methods, Instruments, & Computers, 36(1), 107-112. 2004. [14] R. González and R. Woods, Digital Image Processing, 3rd. Edition. Prentice-Hall, 2008. [15] http://www.computer-engineering.org/ps2mouse/ [16] Manual de referencia de la placa Basys2 AUTORES B. Angela Ximena Pedraza Martínez nacida en Bogotá (Cundinamarca), Colombia, el 9 de Junio de 1986. Estudiante de ingeniería electrónica. Tecnóloga en soporte de telecomunicaciones. Técnica en telecomunicaciones. A nivel profesional se ha desarrollado como directora operativa en proyectos de seguridad electrónica, fortaleciendo paralelamente la parte comercial en proyectos de tecnología. Actualmente se desempeña como directora comercial y operativa en una empresa Outsourcing de proyectos de seguridad electrónica, energía renovable, domótica e inmótica. AZUL AZUL+ROJO A. Andrés Felipe Rincón Ramírez nacido en Bogotá (Cundinamarca), Colombia, el 31 de mayo de 1994. Se graduó como Tecnólogo en electrónica Industrial el 7 de octubre de 2014. Actualmente se encuentra cursando octavo semestre de Ingeniería Electrónica en la Escuela Colombiana de Carreras Industriales.