HID

HID

Un dispositivo de interfaz humana o HID por sus siglas en inglés (Human Interface Device), es un tipo de dispositivo para computadores que interactúa directamente con, y que toman entradas de humanos, y que también pueden entregar una salida a los humanos. El termino "HID" comúnmente se refiere a la especificación USB-HID. El termino fue acuñado por Mike Van Flandern de Microsoft cuando el le propuso a la comitiva USB, crear un grupo de trabajo para la clase Human Input Device. El nombre del grupo de trabajo fue cambiado a la clase Human Interface Device en sugerencia de Tom Schmidt de DEC, porque la norma propuesta soportaba la comunicación bidireccional. Las principales motivaciones para HID eran las de permitir innovaciones en los dispositivos de entrada a la computadora y simplificar el proceso de instalar esos dispositivos. Antes de HID, los dispositivos normalmente se ajustaban a muy estrictos protocolos para el ratón, teclados y joysticks. Cualquier innovación en el hardware, requería sobrecargar el uso de datos en un protocolo existente o la creación de un nuevo driver y la evangelización de un nuevo protocolo para los desarrolladores de aplicación. En contraste con todos los dispositivos HID, entregan paquetes autodescriptivos que pueden contener una infinidad variada de tipos de datos y formatos. Un solo driver HID en la computadora parsea los datos y permite una asociación dinámica de datos de entrada y salida (I/O) con la funcionalidad de la aplicación. Este tiene habilitado la innovación rápida y proliferación de nuevos dispositivos de interfaz humana.

Los objetivos principales y subyacentes de la definición de clase HID son:[1]

  • Ser lo más compacto posible para ahorrar espacio de datos del dispositivo.
  • Permitir la aplicación de software para omitir información desconocida.
  • Ser extensible y robusto.
  • Que soporte la anidación y las colecciones.
  • Ser autodescriptivo para permitir aplicaciones de software genéricas.

El estándar del HID fue desarrollado por una comisión de trabajo con representantes de varias empresas, esta lista de participantes puede ser encontrada en el documento "Device Class Definition for Human Interface Devices (HID)". El concepto de un autodescribible protocolo libre, fue inicialmente concebido por Mike Van Flandern y Manolito Adan, cuando se encontraban trabajando en el proyecto llamado Raptor en Microsoft e independientemente por [Steve McGowan] mientras trabajaba en el protocolo de un dispositivo para Access Bus en Forte. Después de comparar notas en la conferencia de Consumer Game Developer, Steve y Mike aceptaron colaborar en un nuevo estándar para el emergente Universal Serial Bus ([USB]).

HID comunes:

HID menos comunes:

  • Driving simulator devices and flight simulator devices have HIDs such as gear sticks, steering wheels and pedals.
  • Nintendo Power Glove
  • Dance pad
  • Wii Remote

La mayoría de los sistemas operativos reconocen dispositivos estándares USB HID, como lo son los teclados y los ratones, sin necesidad de un controlador especial. Cuando se conectan, generalmente se despliega un mensaje en la pantalla diciendo que "un dispositivo HID-compliant ha sido reconocido"

En comparación, este mensaje usualmente no aparece para los dispositivos que son conectados a conectores de 6 pines [PS/2] lo cuales preceden al USB. El conector PS/2 no soporta [plug-and-play], lo que significa que conectar un teclado o ratón PS/2 con el computador encendido no siempre funcionarán. Además, PS/2 no soporta el protocolo HID.

Contenido

Componentes del protocolo HID

En el protocolo HID, existe 2 entidades: el "host" y el "dispositivo". El dispositivo es la entidad que directamente interactúa con un humano, como lo hace un teclado o un ratón. El host se comunica con el dispositivo y recibe datos de entradas del dispositivo en las acciones ejecutadas por el humano. Los datos de salidas van del host a el dispositivo y luego al humano. El ejemplo más común de un host es un computador pero algunos celulares y PDAs también pueden ser hosts.

El protocolo HID realiza la implementación de los dispositivos muy sencillo. Los dispositivos definen sus paquetes de datos y luego presentan un "Descriptor HID" al host. El descriptor HID es codificado como un arreglo de bytes que describen los paquetes de datos del dispositivo. Esto incluye: cuantos paquetes soporta el dispositivo, que tan grandes son los paquetes, y el propósito de cada byte y bit en el paquete. Por ejemplo, un teclado con un botón que ejecuta el programa de calculadora puede decirle al host que el estado de presionar/soltar ese botón, es almacenado en el 2 bit del 6 byte en el paquete de datos número 4 (nota: estas localizaciones solo son ilustrativas y son especificas al dispositivo). El dispositivo normalmente almacena el descriptor HID en la ROM y no se necesita intrínsecamente parsear el descriptor HID. Algunos hardwares de ratones y teclados en el mercado de hoy, son implementados usando solo un 8-bit CPU.

Se espera del host que sea más una entidad más compleja que el dispositivo. El host necesita agarrar el descriptor HID del dispositivo y lo parsea antes que se puede entablar la comunicación con el dispositivo. Parsear el descriptor HID puede ser complicado. Muchos sistemas operativos son conocidos de tener shipped bugs en los drivers de los dispositivos para parsear los descriptores HID años antes de que los drivers del dispositivo fueran originalmente lanzado al publico. Sin embargo, esta complejidad es la razón del porque la innovación rápida con dispositivos HID fuesen posibles.

El mecanismo anterior describe los que es conocido como "el modo de reporte" HID. Ya que se conoce que no todos los host estarán en la capacidad de parsear los descriptores HID. El HID también define "el modo de arranque". En modo arranque, solo dispositivos específicos soportan características especificas ya que paquetes de datos definidos son usados. El descriptor HID no es usado en este modo así que la innovación está limitada. Sin embargo, el beneficio es que esta mínima funcionalidad es aun posible en los host que no soportan HID. Los únicos dispositivos soportados en modo arranque son:

  • Teclado — Solo el nucleo de 104 teclas es soportado. Cualquier funcionalidad avanzada no está disponible. Por ejemplo, un teclado en particular US con teclas QWERTY funcionaran, pero las teclas Calculadora y Apagar no.
  • Raton — Solo los eje-X y eje-Y, la rueda, y los primeros 3 botones están disponibles. Cualquier adicional característica en el ratón no funcionara.

Un uso común del modo arranque esta durante las primeras secuencias cuando el computador arranca. Configurando directamente la BIOS de la computadora es amenudo hecha usando modo de arranque.

Otros protocolos usando HID

Ya que HID fue definido originalmente sobre USB, HID también es usado en otros buses de comunicación de computadora. Esto permite a los dispositivos HID que normalmente solo eran encontrados en USB, que también sean usados en alternativos buses. Esto es hecho ya que soportar existentes dispositivos USB HID pueden ser adaptados más rápidos que tener que inventar completamente un nuevo protocolo que soporte un ratón, teclado, etc. Buses conocidos que usan HID son:

  • Bluetooth HID — Bluetooth es una tecnología de comunicación inalmbrica. Muchos ratones y teclados Bluetooth ya existen en el mercado.
  • Serial HID — usado en receptores de control remotos en Microsoft Windows Media Center.

Fuentes

  1. «Universal Serial Bus (USB) Device Class Definition for Human Interface Devices (HID) Firmware Specification 6/27/01 Version 1.11» (en inglés). USB Implementers Forum. USB.com. Consultado el 22 de noviembre de 2009.

Véase también

  • Interacción persona-ordenador

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • HID — HID: High Intensity Discharge lamp  газоразрядная лампа. Human Interface Device  устройство взаимодействия с человеком, устройство ввода. USB HID  соответствующий класс USB устройств. HID Global  компания, разработчик систем… …   Википедия

  • HID — is a three letter acronym which can stand for:*Human interface device, a computer device that interacts with and takes input from humans, such as the keyboard, mouse, etc. *HID Corporation, a major manufacturer of contactless access control… …   Wikipedia

  • Hid — Hid, imp. & p. p. of {Hide}. See {Hidden}. [1913 Webster] …   The Collaborative International Dictionary of English

  • hid — v. hidro . Trimis de LauraGellner, 13.09.2007. Sursa: DN  HID elem. hidr(o)1 . Trimis de raduborza, 15.09.2007. Sursa: MDN …   Dicționar Român

  • hid — [hıd] the past tense of ↑hide …   Dictionary of contemporary English

  • hid — past tense and alternative pp. of HIDE (Cf. hide) (v.1). How to entangle, trammel up and snare Your soul in mine, and labyrinth you there Like the hid scent in an unbudded rose? Aye, a sweet kiss you see your mighty woes. [Keats, Lamia ] …   Etymology dictionary

  • hid — adv.; kom hid! …   Dansk ordbog

  • hid — [hid] vt., vi. [ME < OE hydde] pt. & alt. pp. of HIDE1 …   English World dictionary

  • hid — /hid/, v. pt. and a pp. of hide1. * * * …   Universalium

  • hid — the past tense of hide1 …   Usage of the words and phrases in modern English

  • hid|e|os|i|ty — «HIHD ee OS uh tee», noun, plural ties. 1. a hideous thing: »There were paintings of ugliness, of contrived hideosities... (New Yorker). 2. = hideousness …   Useful english dictionary

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”