En informática, un controlador de teclado es un dispositivo que conecta un teclado a una computadora . Su función principal es informar a la computadora cuando se presiona o se suelta una tecla . Cuando llegan los datos del teclado, el controlador genera una interrupción (una interrupción del teclado ) para permitir que la CPU maneje la entrada.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/b/b5/AT_hauptplatine_stromanschluss.jpg/440px-AT_hauptplatine_stromanschluss.jpg)
Si un teclado es una unidad de sistema periférico separada (como en la mayoría de las computadoras de escritorio modernas ), el controlador del teclado no está conectado directamente a las teclas, sino que recibe códigos de escaneo de un microcontrolador integrado en el teclado a través de algún tipo de interfaz en serie . En este caso, el controlador generalmente también controla los LED del teclado enviando datos al teclado a través del cable.
El IBM PC AT usó un chip Intel 8042 para interactuar con el teclado. Esta computadora también controlaba el acceso a la línea A20 para implementar una solución para un error de chip en el Intel 80286 . [1] El controlador de teclado también se utilizó para iniciar un restablecimiento CPU software con el fin de permitir que la CPU de transición de modo protegido a modo real [1] debido a que el 286 no permitió la CPU para pasar de modo protegido a modo real a menos que el La CPU se reinicia. Esto era un problema porque el BIOS y los servicios del sistema operativo solo podían ser llamados por programas en modo real. Estos comportamientos han sido utilizados por una gran cantidad de software que espera este comportamiento y, por lo tanto, los controladores de teclado han continuado controlando la línea A20 y realizando reinicios de CPU de software incluso cuando la necesidad de un reinicio a través del controlador de teclado fue obviada por la capacidad de Intel 80386 para cambiar al modo real desde el modo protegido sin un reinicio de la CPU. El controlador de teclado también maneja la entrada de mouse PS / 2 si hay un puerto de mouse PS / 2 presente. Hoy en día, el controlador del teclado es una unidad dentro de un dispositivo Super I / O o falta, sus funciones de teclado y mouse son manejadas por un controlador USB y su función en el control de la línea A20 manejada por el chipset.
IBM
- IBM juega un pequeño papel en la creación del controlador de teclado. Con las computadoras compatibles con IBM, el controlador de teclado o controlador de teclado Intel 8042 se encuentra en la placa base. El controlador maneja la entrada recibida desde el teclado de la computadora, las líneas A20, reinicio, descifrando códigos de escaneo, así como el mouse PS / 2. Con modelos posteriores de teclados, el 8042 fue reemplazado por el microcontrolador 8742, que tenía un microprocesador, RAM y puertos de E / S. [2]
- Cualquiera que intente utilizar el controlador de teclado clásico de estilo 8042 (KBC) que se encuentra en IBM PC / AT y casi todas las PC posteriores normalmente se encuentra con un problema debido a la falta de documentación precisa. El 8042 (o el 8742, o cualquier número de piezas compatibles integradas en chips Super I / O posteriores) está bastante bien documentado. El problema es que el 8042 es un microcontrolador programable con su propio software de control en (generalmente) ROM. Hasta hace poco, nadie fuera de unas pocas empresas (IBM, AMI, Phoenix) sabía exactamente lo que hacía el software de control. [3]
- IBM documentó una serie de comandos que el host puede enviar al KBC. Debe entenderse que todos esos comandos son una construcción de software puro, sin nada sobre el hardware 8042 que dicta que los comandos deben seguir un formato, función específica o que incluso deben estar allí. Por lo tanto, comprender el código de la ROM 8042 es la única forma de comprender exactamente qué son los comandos y qué hacen, con la salvedad de que diferentes controladores pueden tener y tienen un código algo diferente en su ROM. [4]
Lista de comandos de KBC [5]
-Los comandos listados como "ignorados" no realizan ninguna función.
- 00h-1Fh : lectura de KBC RAM indirecta. No documentado.
- 20h-3Fh : lee KBC RAM con un desplazamiento de 20h-3Fh. IBM solo documenta el comando 20h.
- 40h-5Fh : Escribe KBC RAM indirecto. No documentado.
- 60h-7Fh : escribe KBC RAM con un desplazamiento de 20h-3Fh. IBM solo documenta el comando 60h. El byte en el desplazamiento 20h es el byte de comando y se trata de manera especial.
- 80h-A8h : ignorado.
- AAh : Autoprueba. Este comando está documentado, pero sus efectos secundarios no.
- ABh : Prueba de interfaz.
- ACh : Volcado de diagnóstico. Mencionado por terceros, pero no documentado por IBM.
- ADh : Desactiva el teclado.
- AEh : habilita el teclado.
- AFh-BFh : Ignorado.
- C0h : Leer puerto de entrada.
- C1h : Sondeo del puerto de entrada continuo, nibble alto. Mencionado por terceros, pero no documentado por IBM.
- C2h : Sondeo de puerto de entrada continuo, nibble bajo. Mencionado por terceros, pero no documentado por IBM.
- C3h-CFh : ignorado.
- D0h : Leer puerto de salida.
- D1h : puerto de salida de escritura.
- D2h-DEh : ignorado.
- E0h : Leer entradas de prueba.
- E1h-EFh : ignorado.
- F0h-FFh : bits de salida de pulsos.
Conclusión
1. Un dispositivo informático portátil que comprende: un controlador de teclado que tiene una primera entrada para recibir entradas de pulsaciones de teclas y que tiene una salida para transmitir dichas entradas de pulsaciones de teclas a un procesador principal; y un procesador secundario que tiene una interfaz con dicho controlador de teclado a través de un bus secundario, utilizándose también dicho bus secundario para comunicarse con un módulo de batería, en el que dicho controlador de teclado también transmite dichas entradas de pulsación de tecla a dicho procesador secundario a través de dicho bus secundario. [6] El controlador del teclado está programado para admitir la interfaz en serie del teclado de la computadora personal compatible con IBM®. El controlador del teclado recibe datos en serie del teclado, verifica la paridad de los datos, traduce el código de escaneo y presenta los datos al sistema como un byte de datos en su búfer de salida. El controlador interrumpirá el sistema cuando los datos se coloquen en su búfer de salida. El byte de datos se enviará al teclado en serie con un bit de paridad impar insertado automáticamente. Se requiere el teclado para reconocer todas las transmisiones de datos. No se debe enviar ninguna transmisión al teclado hasta que se reciba el acuse de recibo del byte anterior enviado. El controlador de teclado y BIOS para mejorar el rendimiento de las máquinas IBM PC y sus compatibles. En este controlador de teclado se utiliza una metodología cableada en lugar de una implementación de software, como en el BIOS del teclado 8042 tradicional. Esto permite que el controlador del teclado responda instantáneamente a todos los comandos enviados desde el teclado al BIOS de la CPU. Esto permite que programas populares como Microsoft® Windows ™, NOVELL® y otros programas se ejecuten mucho más rápido. [7]
Ver también
- Búfer de teclado
- En el teclado
- Extensor KVM
- Controlador integrado : el Intel 8042 y otros controladores de teclado utilizados en computadoras basadas en el diseño IBM PC / AT pueden considerarse controladores integrados.
- Toda la hoja de datos
Referencias
- ^ a b http://www.win.tue.nl/~aeb/linux/kbd/A20.html
- ^ "¿Qué es un controlador de teclado?" . www.computerhope.com . Consultado el 4 de diciembre de 2019 .
- ^ "Comandos de controlador de teclado IBM PC / AT 8042 | Museo OS / 2" . www.os2museum.com . Consultado el 4 de diciembre de 2019 .
- ^ "Comandos de controlador de teclado IBM PC / AT 8042 | Museo OS / 2" . www.os2museum.com . Consultado el 4 de diciembre de 2019 .
- ^ "Comandos de controlador de teclado IBM PC / AT 8042 | Museo OS / 2" . www.os2museum.com . Consultado el 4 de diciembre de 2019 .
- ^ [1] , "Dispositivo informático con un procesador secundario de baja potencia acoplado a un controlador de teclado", publicado el 2001-03-08
- ^ "Hoja de datos KBD42W11 (PDF) - SMSC Corporation" . www.alldatasheet.com . Consultado el 4 de diciembre de 2019 .
enlaces externos
- controlador de teclado - Diccionario de computadora
- Teclado KBD43W13 y controlador de mouse PS / 2