Esto detalla un teclado PS
Fondo
Teclados PS / 2
PS / 2 (IBM Personal System / 2) es una interfaz para teclados y ratones a sistemas informáticos compatibles con PC a través de un conector Mini-DIN de 6 pines.
El sistema informático debe proporcionar al tecladoo al ratón conexiones de 5V y de tierra. La comunicación se produce a través de una interfaz serie de 2 hilos, que consta de una línea de reloj y una línea de datos. Ambas líneas requieren resistencias pull-up (2kΩ mostradas en la Figura 1). Las resistencias de la serie 120Ω en la Figura 1 son necesarias para conectar las E / S de 3,3V FPGA a las señales de 5V.
Una vez encendido, el teclado pasapor una secuencia de autoinicialización. Al finalizar, está listo para comunicar eventos de teclado a través de la interfaz PS / 2.
La figura 2 ilustra el formato de la transacción. Tanto las señales de reloj como las de datos son de nivel lógico alto cuando están inactivas (observe las resistencias pull-up). El teclado proporciona tanto el reloj como los datos. El reloj tiene una frecuenciaentre 10 kHz y 16,7 kHz (es decir, un periodo de 60-100us). Los datos comienzan con un bit de inicio (lógica baja), seguido por un byte de datos, un bit de paridad y finalmente un bit de parada (lógica alta). Los datos se envían LSB primero. Cada bit debe leerse en el borde descendente de la señal de reloj. Una vez completado, tanto el reloj como las señales de datos
vuelven al nivel lógico altoFigura 2. Diagrama de sincronización de la transmisión del teclado PS / 2
El byte de datos representa parte de un código de exploración de teclado: un código de ejecución (pulsación de tecla) o un código de interrupción (liberación de clave). Existen tres conjuntos diferentes de códigos de exploración, sin embargo, la gran mayoría de los teclados utilizan Scan Code Set 2, que se proporcionaaquí. Un código de hacer normalmente consta de uno o dos bytes. Si un código make utiliza dos bytes, el primer byte es x "E0". El código de ruptura de una clave dada suele ser el mismo que su código make, excepto que los códigos de interrupción incluyen un byte x "F0" adicional como segundo a último byte. (Las teclas PAUSE y PRNT SCRN son excepciones a las anteriores).
Si bien es posible enviar datosa un teclado (para cambiar su configuración, etc.), esto es generalmente innecesario y no está incluido en este componente VHDL
ASCII
ASCII (Código Estándar Americano para Intercambio de Información) es un estándar prominente para codificar caracteres y códigos de control en enteros binarios de 7 bits. ASCII define 128 códigos individuales (95 caracteres y 33 códigos de control). Todos estoscódigos pueden traducirse desde un teclado, ya sea como pulsaciones directas de teclas o como combinaciones de pulsaciones de teclas.
Conversión PS / 2 a ASCII
Este teclado PS / 2 ASCII maneja las transacciones entrantes desde el teclado PS / 2 y determina qué teclas se están presionando en un momento dado. A continuación, emite la codificación ASCII que corresponde a estas pulsaciones de teclas. Elapéndice muestra el conjunto de caracteres ASCII. Todas las teclas de caracteres tienen sus respectivos códigos ASCII emitidos por el convertidor PS / 2 a ASCII, cuando se pulsan de forma estándar (con respecto al cambio, bloqueo de mayúsculas, etc.). Si se mantiene pulsada una tecla de control, el convertidor emite el código de control correspondiente para cada tecla (independientemente del...
Regístrate para leer el documento completo.