Está en la página 1de 4

1

Teclado PS2
Universidad de las Fuerzas Armadas
Quito -Ecuador

cálculo para el diseño y simulación de 32 puntos de la FFT es


Resumen— Este artículo presenta una aplicación para teclado eficiente en términos de velocidad. [2]
PS2 y la tarjeta modular SPARTAN 3E en lenguaje en VHDL
utilizando el entorno de ISE Design Suite, en el cual se podrá En el 2014, B.Muralikrishna y Habibulla Khan pertenecientes
ingresar varios datos por teclado, y se podrá visualizar el carácter al Instituto de Ingeniería y Tecnología de la India, realizaron
en un grupo de 4 displays, en los cuales cada ingreso de dato se irá un “Sistema reconfigurable en el diseño del chip usando
desplazando. Los caracteres a visualizarse serán los dígitos de 0 a
FPGA”, System-on-Chip (SoC) diseño e integra procesadores,
9 y las letras de A a la F, además del enter y el espaciado.
memoria, y una variedad de direcciones IP en un solo diseño,
Palabras clave—. SPARTAN 3E, VHDL, Teclado PS2, Displays además SoC , están dirigidos cada vez más para la FPGA. [3].

En el 2011, Roja Ley, Franco Zulay pertenecientes del Centro


I. Introducción de Diseño de Micro Electrónica en la UNEXPO realizan
“Diseños Electrónicos digital utilizando tecnología FPGA”, el
PS2, se trata de una interfaz de un amplio apoyo para un teclado proceso de diseño consiste en 5 etapas: Definición de los
y mouse, para comunicarse con el anfitrión (host). El puerto requerimientos de diseño, descripción del diseño en VHDL,
PS2 contiene dos cables para fines de comunicación. Un cable Simulación del código fuente, Sintesis, optimizació y Ajuste de
es para los datos, que se transmite en un flujo en serie (Serial diseño, por último Programación del dispositivo. El diseño
Stream). El otro cable es para la información de reloj, que implementado trata sobre la interfaz de los puertos de teclado
especifica que los datos son válidos y puede ser recuperada. La PS/2 y puerto VGA, para la optimización del diseño se
información se transmite como un 11| - bit "paquete" que implementó bastante la corrección de errores usando módulos
contiene un bit de inicio, 8 bits de datos, un bit de paridad impar de antirebotes, capturando los datos en una FSM receptor serial.
y un bit de parada. Mientras que el formato básico del paquete [4]
es idéntico para el teclado y mouse, la interpretación de los bits
de datos es diferente. La placa de prototipo FPGA tiene un
puerto PS2 y actúa como anfitrión.
II. Desarrollo

En el 2011, Sujuan Li, Fei Xiang, y Juwei Zhang pertenecientes Para el presente proyecto se ha realizado una aplicación en la
a la Universidad de Ciencia y Tecnología de China, SPARTAN 3E Modular realizamos el ingreso de datos
desarrollaron “Diseño de controlador de teclado PS2 IP Core mediante el teclado PS2 y poder desplegar los datos en un grupo
basado en SOPC”, Fundamentado en el análisis del protocolo de displays que realizarán un barrido con cada ingreso de dato,
PS2 , y en el principio de funcionamiento y características del estos están limitados en el siguiente rango: 0, 1, 2, 3, 4, 5, 6, 7,
teclado, a través de un método de realización de la interfaz del 8, 9, A, B, C, D, E, entre y espacio.
teclado PS2 que se da en ALTERA Cyclone II EP2C35 FPGA
y está integrado en el sistema SOPC como un núcleo IP, y
personalizadas para el controladorlo, el resultado muestra que
el diseño es válido y factible. [1] Basado en la tecnologia de matriz de puertas

La programacion la realiza el cliente, y son


En el 2012, Asmita Haveliya perteneciente al Departamento de reeprogramables
Electrónica de la Universidad de Amity desarrollo un “Diseño
y Simulación de 32 puntos FFT Usando Radix - 2 Algoritmo Aplicaciones de mayor potencia y no abarcan
para la implementación de la FPGA”, cuyo objetivo se sistemas complejos
concentra en el desarrollo de la Transformada Rápida de
Fourier (FFT), basado en el Radix-2 FFT-Diezmado en el Fig. 1. Características de FPGA
tiempo, además se utiliza VHDL como una entidad de diseño,
y la herramienta Xilinx. La entrada de la FFT ha sido dado
por un teclado PS2 usando un banco de pruebas y la producción En la Fig 1. Se puede visualizar el diagrama de bloques de
se ha mostrado usando las formas de onda en la síntesis de manera global con sus entradas y salidas.
Xilinx Design Suite. Los resultados muestran que la síntesis del
2

Tiene Es un periférico de Incluyen 11 bits


aproximadamente entrada, inspirado en repartidos en 1 bit de
entre 99 y 107 teclas, el teclado de inicio, 8 bits de datos,
y está dividido en las máquinas de 1 bit de paridad y un
cuatro bloques. escribir. bit de fin.

Fig. 1. Diagrama de bloques del circuito general


Fig. 4. Características del teclado de computadora
Para poder hacer la comunicación entre el teclado PS2 y la
tarjeta modular SPARTAN 3E es importante utilizar un módulo
externo para poder acoplar los dos dispositivos, en la Fig 2 se Para el envío de datos a partir del puerto PS/2 se rige al
muestra la configuración de los pines del Puerto PS/2. siguiente procedimiento:

a.- Comprueba que la línea de datos y reloj están a 1.


b.- Pone la línea de datos a 0, indicando el bit de inicio.
c.- Al cabo de entre 5-25us el dispositivo pone la línea del reloj
a ‘0’.
d.- Posteriormente se va poniendo el resto de los bits, indicando
mediante el flanco de bajada de la señal de reloj cuando deben
ser leídos.
Fig. 2. Pines puerto PS/2 e.- Si a continuación el dispositivo quiere enviar otra trama, lo
hace seguidamente después del bit de fin de la anterior trama.

Actualmente los teclados con puerto PS/2 no son utilizados, a Se puede visualizar el procedimiento en la Fig. 5
su vez, las interfaces de teclado y ratón PS/2, aunque
eléctricamente similares, se diferencian en que en la interfaz de
teclado se requiere en ambos lados un colector abierto para
permitir la comunicación bidireccional.

Fig. 5. Procedimiento para el envío de datos

Para desarrollar del programa éste se divide diferentes módulos


Fig. 3. Características del Puerto PS/2 con su respetivo main, inicialmente en el TOP main se declara
las variables de entrada y salida, además de las interconexiones
para los módulos internos a utilizar.
Como periférico de entrada el teclado de computadora dispone
de botones o teclas que envían la información, el teclado tiene
aproximadamente entre 99 y 107 teclas, en la Fig. 4 son
algunas características del teclado.

Fig. 6. TOP Main declaración de variables


3

IN Ps2_clk
Los módulos internos principales son: módulo decodificador,
módulo teclado y módulo reloj. Ps2-data
Clk

Módulo Reloj OUT Ps2_code_ne


Ps2_code_new
Se realiza un divisor de frecuencia necesario para la
correcta visualización de los datos en la salida de
los displays.
Ps2_code
Fig.9 Variables Módulo Teclado

El objetivo es reducir la frecuencia de entrada del


reloj  A manera de protocolo se recibe todos los bits del teclado
y se realiza corrección de errores verificando la paridad y
los bits de inicio y parada.
necesita de un factor de escalamiento y un
contador  En este proceso se valida que hay dato disponible y se
muestra el flujo de los datos a través de un LED.
Fig. 7. Módulo Reloj  El portmap del módulo Teclado a partir de los módulos de
antirebotes se sincroniza con el reloj validando si el bit es
El factor de escalamiento es la relación entre la frecuencia de “1” o “0”:
entrada y la frecuencia de salida deseada:
 En VHDL es posible realizar módulos para hacer
𝑓𝑒𝑛𝑡𝑟𝑎𝑑𝑎 antirebotes de señales, de esta manera se tiene una lectura
𝐸𝑠𝑐𝑎𝑙𝑎 = (1) con menor error. El uso de flip-flops sincrónicos representa
𝑓𝑑𝑒𝑠𝑒𝑎𝑑𝑎
El cálculo que se obtuvo es la siguiente: una máquina secuencial que recibe datos de manera serial.

50𝑀𝐻𝑧
𝐸= (2) El módulo decodificador tiene la función es decodificar los
10𝐾𝐻𝑧
datos obtenidos del ps2_Keyboard (dato) y devolver un valor
Una señal de reloj se mantiene el mismo tiempo en alto que en (datodis) que se pueda mostrar en los displays.
bajo; para este caso en particular, de esta manera se divide para
2 y se obtiene 2500 ciclos en alto y 2500 ciclos en bajo. Dado
que se empieza a contar desde cero, el límite superior es 2500-
1 dando como resultado una escala de 2499.

Las variables para el módulo Reloj es clk y div, el primero


corresponde a la variable de entrada y la segunda es una
variable de salida que corresponde al divisor de frecuencia.

Fig. 10 Variables Módulo Decodificador

Fig. 8 Variables Módulo Reloj Se utiliza un proceso el cual recibe un dato proveniente de
ps2_keyboard y se asigna el nuevo valor al datosdis, los valores
decodificados fueron los números del 0 al 9 y las letras a, b, c,
El segundo módulo corresponde al Teclado, cumple la función d, e y f y las teclas enter y espacio respectivamente.
es captar la información proveniente del teclado PS2. Las
variables que se utilizan se muestra en La Fig. 9
4

III. Conclusiones

 Al trabajar con teclado PS2 la transmisión de datos se


trabaja mediante 11 bits, de los cuales 8 corresponderán al
dato que será decodificado para ser visualizado en los
displays.
 Para poder realizar la comunicación debemos de realizar la
sincronización y utilización del clk de la FPGA y el clk del
teclado, para el clk de la FPGA se debe realizar una
división de frecuencia para obtener 2500 ciclos en alto y
2500 ciclos en bajo.
 El reloj de frecuencia de la FPGA viene dado como 50MHz
propio del pin P184 de la FPGA, y como máximo valor es
de 66Mhz dato obtenido de especificaciones de la FPGA.
 La tarjeta SPARTAN 3E nos permite trabajar con
dispositivos periféricos y poder programarlos según las
necesidades del usuario.
 La señal de reloj con la que trabaja un teclado de
computadora PS2 viene dado entre los valores 10KHz y
15KHz.

REFERENCIAS

[1] F. X. J. Z. Sujuan Li, Artist, Design of PS2 Keyboard


Controller IP Core Based On SOPC. [Art]. Electronic &
Information Engineering College, Henan University of
Science and Technology, 2011.
[2] A. Haveliya, Artist, Design and Simulation of 32-Point
FFT Using Radix-2 Algorithm for FPGA. [Art].
M.Tech.(Pursuing),Dept. Of Electronics, Aset, 2012.
[3] B. H. Khan, Artist, Reconfigurable System-On-Chip
Fig. 11 Decodificación caracteres
Design Using FPGA. [Art]. Department of ECE, K L
Otros módulos que conforman al módulo decodificador es: University, 2014.
[4] Rojas Leireny, M F (s.f. ) Diseños de circuitos
electrónicos digitales utilizando la tecnología FPGA.
UNEXPO.
Módulo Memoria
• La función es el almacenamiento de los
valores mostrados en el displays

Módulo Barrido
• La función es la multiplexación

Módulo Decodificador
• Contendrá a los tres módulos previos
Fig. 12 Módulos Decodificador

Es importante tener presente que el valor del reloj con el cual


se trabajar