búsqueda

lunes, 25 de febrero de 2013

FUNCIONAMIENTO DEL TECLADO


Junto con el ratón mecánico tradicional (no los actuales modelos ópticos), el teclado es el dispositivo más sencillo que puede conectarse al ordenador. Sin embargo, alberga una electrónica relativamente compleja y sofisticada que, en los modelos AT y siguientes, incluye un procesador relativamente potente; cierta cantidad de memoria EEPROM para guardar la configuración; cierta cantidad de memoria ROM que actúa como una mini-BIOS del dispositivo, y capacidad de chequeo y auto diagnóstico, además de otras funciones.
La razón de esta complejidad es que, aparte de enviar las señales adecuadas a la placa-base, la tarea de recoger la señal de interruptores mecánicos no es tan trivial como pudiera parecer a primera vista. Los que hayan intentado diseñar interfaces para introducir simples señales ON/OF en un PC, saben que la tarea puede ser extraordinariamente compleja. Incluso con los pequeños niveles de tensión que manejan en los circuitos TTL, los interruptores mecánicos producen microchispas y rebotes ("Bouncing") que duplican la señal y complican el diseño de estos dispositivos; hasta el extremo que no es infrecuente que se recurra a "chapucear" la electrónica del teclado para estos menesteres.
Después de haber lidiado con este tipo de dificultades, y haber comprobado que el único problema de un teclado medianamente bueno es derramar encima el café, me atrevería de decir que el diseño de los señores de la IBM, es una obra maestra de fiabilidad y simplicidad.
El teclado del IBM PC es un periférico que utiliza una comunicación serie síncrona   para conectar con la placa-base . El diálogo se realiza entre el controlador de periféricos  instalado en la placa  y la electrónica situada en el interior del propio teclado, aunque la comunicación con el PIC no se realiza directamente, sino a través de una interfaz constituida por un chip 8042 o un 8742 en el modelo AT . Como anunciábamos al tratar del controlador de periféricos, la conexión lógica se realiza por las direcciones 60h-63h en el PC XT y 060h-064h en el AT.
Nota: En los modelos XT esta comunicación era unidireccional, en el sentido del teclado a la placa-base, pero a partir del AT es bidireccional, con lo que es posible configurar ciertos comportamientos del teclado desde la placa-base.
El controlador de teclado en un circuito integrado (IC) situado en su interior. Inicialmente era un 8048 que posteriormente fue sustituido por un 8049. Pero actualmente cada fabricante utiliza su propio controlador de los que existen gran variedad en el mercado. La misión principal de este IC es escanear las teclas, e informar si alguna ha sido pulsada o liberada.
Además de la misión principal, el controlador de teclado realiza otras funciones auxiliares; tiene capacidad de chequeo y diagnóstico, y dispone de un "buffer" capaz de almacenar las últimas 20 pulsaciones para el caso improbable que el 8042 no pueda leerlas con suficiente rapidez. Además, si alguna tecla se mantiene pulsada por más de un tiempo determinado (del orden de 0.5 segundos), es capaz de generar repetidamente la acción a intervalos determinados.
Lejos de lo que podría parecer a primera vista, existe una larga, y a veces complicada, sucesión de acontecimientos entre el instante en que se pulsa una tecla, Por ejemplo una "A", y el momento en que aparece dicho carácter en el procesador de textos. La trayectoria más compleja se presenta en las aplicaciones ejecutadas bajo una interfaz gráfica. Por ejemplo un editor en Windows o Linux bajo uno de sus entornos gráficos (KDE, por ejemplo). El caso más simple podemos encontrarlo en aplicaciones corriendo en modo texto. Por ejemplo, en MS-DOS. Esta sucesión de acontecimientos explica, entre otras cosas, porqué puede pulsarse la tecla punto y coma :/; (a la derecha de la tecla "L") en un teclado americano, y aparecer una "Ñ" en la pantalla si hemos cargado el "Idioma" adecuado en nuestro sistema.
La exposición, desde la óptica del PC compatible IBM, la dividiremos en tres partes: Las dos primeras son comunes a todos los Sistemas Operativos; se refieren a la forma en que es detectado y configurado el teclado durante el arranque, y como llega la notificación de la tecla (o combinación de teclas) pulsadas a la placa-base. La tercera se refiere al tratamiento que hace el SO con la información recibida .
Cuando se establece la tensión adecuada, a través del cable que lo conecta con la placa-base, el controlador del teclado realiza un auto-test que comprende su electrónica y la de su interfaz, después de lo cual envía el código AA al 8042 o un FD si existe algún problema.
A tratar de el BIOS, señalamos que dentro de sus funciones, están el inventario de recursos y comprobación del hardware  . En lo referente al teclado, el POST realiza una comprobación de que este periférico y su interfaz funcionan correctamente, generándose un error en caso de problemas. Además de estas comprobaciones, el BIOS detecta el tipo de teclado conectado y lo inicializa.
La calidad de la verificación realizada por el POST depende del BIOS utilizado; en el mejor de los casos, los POST-codes referidos al teclado pueden ser del siguiente tipo (de una BIOS AMI color) 
Lo anterior es también de aplicación a los códigos de diagnóstico, que dependen de la BIOS utilizada. Los relativos al teclado de las BIOS IBM son los siguientes (mantenemos los mensajes en inglés - como aparecen en el manual IBM):
Nota: Tradicionalmente, los manuales de mantenimiento señalaban que si después de sustituido el teclado por uno comprobado, el problema persistía, debería sustituirse el integrado correspondiente de la placa-base (situado cerca del conector de teclado). En las placas actuales esto no es posible ni rentable. La solución es sustituir la placa-base.
Es importante reseñar que los primeros equipos estaban pensados para funcionar con teclado, por lo que en caso de error en el POST, el sistema se detenía. En la actualidad, cuando muchos equipos se utilizan como servidores sin atención humana, incluso conectados a un teclado compartido   las BIOSes permiten continuar el proceso, incluso en caso de fallo (por ausencia) del teclado. A este respecto, el comportamiento del POST depende de los parámetros de configuración establecidos. Los más importantes en lo que se refiere a este punto, son los siguientes (mantenemos el mensaje en inglés - como aparecen en el programa de "Set-Up"):





 

No hay comentarios:

Publicar un comentario