Después de un paréntesis durante las Navidades, retomo mis posts de arquitectura de sistemas. Esta vez le toca el turno al teclado.

Todos sabemos lo que es un teclado, pero ¿sabemos como funciona?. Podemos ver el teclado como un conjunto de teclas distribuidas estratégicamente sobre puntos de conexiones de circuitos impresos, de tal forma que cada vez que pulsamos o liberamos una tecla, se cierra o abre una conexión, modificándose las corrientes que circulan por dichos circuitos. Estas modificaciones nos van a permitir identificar la tecla pulsada o liberada, para así poder transmitir esta información al ordenador.

En la siguiente foto se muestran estos circuitos impresos y puede apreciarse los puntos de conexión:

El mecanismo de funcionamiento es muy sencillo, tenemos tres laminas de goma, la superior e inferior tiene circuitos impresos con sus puntos de contacto, la lamina de en medio únicamente tiene unos orificios que se encuentran justo entre los puntos de contacto de las laminas superior e inferior. Cuando pulsamos una tecla, conectamos los puntos debajo de ella de las laminas superior e inferior, como la lamina de en medio tiene unos orificios entre estos puntos de contacto, al ejercer presión con la tecla, ambos puntos se tocan y se cierra el circuito. Cuando liberamos la tecla, se deja de ejercer presión, y la lamina de en medio es suficiente para que los dos puntos de contacto se separen. Lógicamente, la tecla debe tener algún mecanismo que la devuelva a su posición de reposo cuando dejamos de pulsarla, normalmente un simple muelle.

El mecanismo descrito es el de las teclas de contacto, una de las más habituales, aunque también podemos encontrar otros tipos de teclas, como las capacitivas o las de cúpula de goma. He escogido las teclas de contacto porque creo que es el mecanismo más didáctico para entender como se registran las pulsaciones y liberaciones de las teclas.

Códigos de rastreo

De acuerdo, ya sabemos como se detecta cuando pulsamos o liberamos una tecla, pero… ¿Cómo se transmite esta información a la CPU?. El teclado, como otros muchos dispositivos, cuenta con un microprocesador, un circuito integrado, que gestiona las comunicaciones con la CPU.

La secuencia de pasos que tienen lugar sería:

  1. Lo primero de todo, el usuario tiene que pulsar una tecla. Se cierra entonces el circuito impreso asociado a la tecla.
  2. El microprocesador del teclado detecta la pulsación. Este está continuamente revisando los cambios de corriente en los circuitos impresos del teclado, realizando cientos de barridos por segundo, por lo que puede fácilmente diferenciar una pulsación real de una fluctuación instantánea de corriente.
  3. Dependiendo del circuito impreso cuya corriente se halla modificado, se sabe que tecla se ha pulsado. Se genera entonces un código de rastreo, un número que identifica la tecla y la acción. Tenemos dos códigos por tecla, una para registrar la pulsación y otro para la liberación.
  4. El teclado dispone de una pequeña memoria, un buffer, donde el microprocesador guarda estos códigos de rastreo según se van produciendo.
  5. El microprocesador del teclado genera una interrupción, una señal que se envía a la CPU para indicarle que hay un código de rastreo esperando ser atendido. La interrupción no es más que una demanda de atención a la CPU, para que preste atención a un determinado dispositivo, en este caso el teclado.
  6. La CPU atiende la interrupción y, empleando el controlador del teclado que está en la BIOS, recupera el código de rastreo del buffer del teclado y lo borra de esta.
  7. Cuando la tecla pulsada es una de las teclas de conmutación o cambio, como puede ser por ejemplo la tecla de mayúsculas (Caps Lock), el controlador del teclado guarda esos códigos de rastreo y los emplea conjuntamente con los otros que vayan llegando.
  8. El controlador del teclado traduce los códigos de rastreo o la combinación de estos, a su correspondiente código ASCII, que es el que maneja el ordenador, y lo coloca en un buffer de memoria de la BIOS, de donde será recuperado por la CPU.

Conectores con el ordenador

La conexión del teclado con el ordenador ha sido siempre una conexión serie, propiciado por el hecho de que el teclado tiene una tasa de transferencia de datos muy bajo comparada con otros dispositivos.

Los primeros conectores que aparecieron fueron los DIN, indicados para placas base de factor AT. Luego aparecieron los conectores PS/2, también llamados MiniDin, adecuados para placas base de factor ATX. Ambos conectores están en desuso, hoy en día, la practica totalidad de los teclados utilizan un conector USB o son teclados Wireless, sin cables.

NOTA:

Este post es parte de la colección “Arquitectura de Sistemas” que reproduce los apuntes de la clase que imparto sobre este tema en ESIC. Puedes ver el índice de esta colección aquí.