Dispositivo de interfaz humana - Human interface device

Un dispositivo de interfaz humana o HID es un tipo de dispositivo informático generalmente utilizado por humanos que toma información de humanos y da salida a humanos.

El término "HID" se refiere más comúnmente a la especificación USB-HID . El término fue acuñado por Mike Van Flandern de Microsoft cuando propuso que el comité USB creara un grupo de trabajo de la clase de dispositivos de entrada humana. El grupo de trabajo fue rebautizado como la clase Dispositivo de interfaz humana a sugerencia de Tom Schmidt de DEC porque el estándar propuesto admitía la comunicación bidireccional.

HID para salida

HID comunes

HID menos comunes

Estándar HID

El estándar HID se adoptó principalmente para permitir la innovación en los dispositivos de entrada de PC y para simplificar el proceso de instalación de dichos dispositivos. Antes de la introducción del concepto HID, los dispositivos generalmente se ajustaban a protocolos estrictamente definidos para mouse , teclados y joysticks ; por ejemplo, el protocolo de mouse estándar en ese momento admitía datos relativos de los ejes X e Y y entrada binaria para hasta dos botones, sin soporte heredado. Todas las innovaciones de hardware requirieron sobrecargar el uso de datos en un protocolo existente o la creación de controladores de dispositivos personalizados y la evangelización de un nuevo protocolo para los desarrolladores. Por el contrario, todos los dispositivos definidos por HID ofrecen paquetes autodescriptivos que pueden contener cualquier número de tipos y formatos de datos. Un solo controlador HID en una computadora analiza los datos y permite la asociación dinámica de E / S de datos con la funcionalidad de la aplicación, lo que ha permitido una rápida innovación y desarrollo, y una prolífica diversificación de nuevos dispositivos de interfaz humana.

Un comité de trabajo con representantes de varias empresas destacadas desarrolló el estándar HID. La lista de participantes aparece en el documento "Definición de clase de dispositivo para dispositivos de interfaz humana (HID)". El concepto de un protocolo extensible autodescriptivo provino inicialmente de Mike Van Flandern y Manolito Adan mientras trabajaban en un proyecto llamado "Raptor" en Microsoft , e independientemente de Steve McGowan, quien trabajó en un protocolo de dispositivo para Access Bus mientras estaba en Forte . Después de comparar notas en una Conferencia de desarrolladores de juegos para consumidores, Steve y Mike acordaron colaborar en un nuevo estándar para el emergente Universal Serial Bus (USB).

El protocolo HID tiene sus limitaciones, pero todos los sistemas operativos convencionales modernos reconocerán los dispositivos HID USB estándar, como teclados y ratones, sin necesidad de un controlador especializado. Cuando se instala, generalmente aparece en la pantalla un mensaje que dice "Se ha reconocido un 'dispositivo compatible con HID'". En comparación, este mensaje no suele aparecer para los dispositivos conectados a través de los conectores DIN de 6 pines PS / 2 que precedieron al USB. Por lo general, PS / 2 no admite plug-and-play , lo que significa que conectar un teclado o mouse PS / 2 con la computadora encendida no siempre funciona y puede representar un peligro para la placa base de la computadora. Asimismo, el estándar PS / 2 no es compatible con el protocolo HID. La clase de dispositivo de interfaz humana USB describe un USB HID.

Componentes del protocolo HID

En el protocolo HID, hay 2 entidades: el "host" y el "dispositivo". El dispositivo es la entidad que interactúa directamente con un humano, como un teclado o un mouse. El anfitrión se comunica con el dispositivo y recibe datos de entrada del dispositivo sobre las acciones realizadas por el ser humano. Los datos de salida fluyen del host al dispositivo y luego al humano. El ejemplo más común de host es una PC, pero algunos teléfonos móviles y PDA también pueden ser hosts.

El protocolo HID hace que la implementación de dispositivos sea muy simple. Los dispositivos definen sus paquetes de datos y luego presentan un "descriptor HID" al host. El descriptor HID es una matriz codificada de bytes que describe los paquetes de datos del dispositivo. Esto incluye: cuántos paquetes admite el dispositivo, el tamaño de los paquetes y el propósito de cada byte y bit en el paquete. Por ejemplo, un teclado con un botón de programa de calculadora puede decirle al host que el estado presionado / liberado del botón se almacena como el segundo bit en el sexto byte en el paquete de datos número 4 (nota: estas ubicaciones son solo ilustrativas y son específicas del dispositivo) . El dispositivo normalmente almacena el descriptor HID en ROM y no necesita comprender o analizar intrínsecamente el descriptor HID. Cierto hardware de mouse y teclado del mercado actual se implementa utilizando solo una CPU de 8 bits .

Se espera que el anfitrión sea una entidad más compleja que el dispositivo. El host necesita recuperar el descriptor HID del dispositivo y analizarlo antes de que pueda comunicarse completamente con el dispositivo. Analizar el descriptor HID puede resultar complicado. Se sabe que varios sistemas operativos han enviado errores en los controladores de dispositivos responsables de analizar los descriptores de HID años después de que los controladores de dispositivos se lanzaron originalmente al público. Sin embargo, esta complejidad es la razón por la que es posible una rápida innovación con dispositivos HID.

El mecanismo anterior describe lo que se conoce como "protocolo de informe" HID. Debido a que se entendió que no todos los hosts serían capaces de analizar descriptores HID, HID también define "protocolo de arranque". En el protocolo de arranque, solo se admiten dispositivos específicos con características específicas porque se utilizan formatos de paquetes de datos fijos. El descriptor HID no se utiliza en este modo, por lo que la innovación es limitada. Sin embargo, el beneficio es que aún es posible una funcionalidad mínima en hosts que de otro modo no serían compatibles con HID. Los únicos dispositivos compatibles con el protocolo de arranque son

  • Teclado - Cualquiera de los primeros 256 códigos de tecla ("Usos") definidos en las Tablas de Uso de HID, Página de Uso 7 puede ser reportado por un teclado usando el protocolo de arranque, pero la mayoría de los sistemas solo manejan un subconjunto de estas teclas. La mayoría de los sistemas admiten las 104 teclas en el diseño IBM AT-101 , más las tres teclas adicionales diseñadas para Microsoft Windows 95 (la tecla Windows izquierda y derecha y la tecla Menú ). Muchos sistemas también admiten claves adicionales en diseños básicos de 105 teclas de Europa occidental, 106 coreanas, ABNT 107 brasileñas y 109 teclas DOS / V japonesas. Los botones, perillas y teclas que no se informan en la página de uso 7 no están disponibles. Por ejemplo, las teclas QWERTY de un teclado estadounidense en particular funcionarán, pero las teclas Calculadora y Cerrar sesión no lo harán porque están definidas en la página de uso 12 y no se pueden informar en el protocolo de inicio.
  • Mouse: solo estarán disponibles el eje X, el eje Y y los primeros 3 botones. Las funciones adicionales del mouse no funcionarán.

Un uso común del modo de inicio es durante los primeros momentos de la secuencia de inicio de una computadora. La configuración directa del BIOS de una computadora a menudo se realiza utilizando solo el modo de inicio. A veces, aparecerá un mensaje que informa al usuario que el dispositivo ha instalado el controlador correcto y ahora se puede utilizar.

Definición HID de un dispositivo

Según la especificación HID, un dispositivo se describe, durante el modo de informe, como un conjunto de controles o grupo de controles. Los controles se comparan con un campo que contiene los datos y otro que contiene una etiqueta de uso. Cada etiqueta de uso se describe en la especificación como el uso sugerido por el constructor de los datos descritos en el modo de informe.

Otros protocolos que utilizan HID

Desde la definición original de HID sobre USB, HID ahora también se usa en otros buses de comunicación por computadora . Esto permite que los dispositivos HID que tradicionalmente solo se encontraban en USB también se utilicen en buses alternativos. Esto se hace porque el soporte existente para dispositivos USB HID generalmente se puede adaptar mucho más rápido que tener que inventar un protocolo completamente nuevo para admitir mouse, touchpad, teclados y similares. Los autobuses conocidos que utilizan HID son:

  • Bluetooth HID : se utiliza para mouse y teclados que están conectados a través de Bluetooth
  • Serial HID: se utiliza en los receptores de control remoto de PC con Windows Media Center de Microsoft .
  • Dispositivo de entrada ZigBee : ZigBee ( RF4CE ) admite dispositivos HID a través del perfil de dispositivo de entrada ZigBee.
  • HID sobre I²C : se utiliza para dispositivos integrados en Microsoft Windows 8
  • HOGP (HID over GATT) : se utiliza para dispositivos HID conectados mediante tecnología Bluetooth de baja energía

Ver también

Referencias

enlaces externos