Menneskelig grensesnitt enhet - Human interface device

En menneskelig grensesnittenhet eller HID er en type datamaskin som vanligvis brukes av mennesker som tar innspill fra mennesker og gir utgang til mennesker.

Begrepet "HID" refererer oftest til USB-HID- spesifikasjonen. Begrepet ble laget av Mike Van Flandern fra Microsoft da han foreslo at USB -komiteen skulle opprette en arbeidsgruppe i klassen Human Input Device. Arbeidsgruppen ble omdøpt til klassen Human Interface Device etter forslag fra Tom Schmidt fra DEC fordi den foreslåtte standarden støttet toveiskommunikasjon.

HIDs for Output

Vanlige HID -er

Mindre vanlige HID -er

HID -standard

HID -standarden ble først og fremst vedtatt for å muliggjøre innovasjon i PC -inndataenheter og for å forenkle prosessen med å installere slike enheter. Før introduksjonen av HID -konseptet, var enhetene vanligvis i samsvar med strengt definerte protokoller for mus , tastatur og joystick ; for eksempel støttet den vanlige museprotokollen den gang relative X- og Y-aksedata og binær inngang for opptil to knapper, uten eldre støtte. Alle maskinvareinnovasjoner nødvendiggjorde enten overbelastning av bruk av data i en eksisterende protokoll eller opprettelse av tilpassede enhetsdrivere og evangelisering av en ny protokoll til utviklere. Derimot leverer alle HID-definerte enheter selvbeskrivende pakker som kan inneholde et hvilket som helst antall datatyper og formater. En enkelt HID-driver på en datamaskin analyserer data og muliggjør dynamisk tilknytning av data I/O med applikasjonsfunksjonalitet, noe som har muliggjort rask innovasjon og utvikling og en omfattende diversifisering av nye enheter for menneskelig grensesnitt.

Et arbeidsutvalg med representanter fra flere fremtredende selskaper utviklet HID -standarden. Listen over deltakere vises i dokumentet "Device Class Definition for Human Interface Devices (HID)". Konseptet med en selvbeskrivelig utvidbar protokoll kom opprinnelig fra Mike Van Flandern og Manolito Adan mens de jobbet med et prosjekt som heter "Raptor" hos Microsoft , og uavhengig av Steve McGowan, som jobbet med en enhetsprotokoll for Access Bus mens han var på Forte . Etter å ha sammenlignet notater på en Consumer Game Developer Conference, ble Steve og Mike enige om å samarbeide om en ny standard for den nye Universal Serial Bus (USB).

HID -protokollen har sine begrensninger, men alle moderne vanlige operativsystemer vil gjenkjenne standard USB HID -enheter, for eksempel tastaturer og mus, uten å trenge en spesialisert driver. Når den er installert, vises vanligvis en melding om at "En" HID-kompatibel enhet "er gjenkjent" på skjermen. Til sammenligning vises denne meldingen vanligvis ikke for enheter som er tilkoblet via PS/2 6-pinners DIN-kontakter som gikk foran USB. PS/2 støtter vanligvis ikke plug-and-play , noe som betyr at tilkobling av et PS/2-tastatur eller mus mens datamaskinen er slått på ikke alltid fungerer og kan utgjøre en fare for datamaskinens hovedkort. På samme måte støtter PS/2 -standarden ikke HID -protokollen. Den USB Human Interface Device klasse beskriver en USB HID.

Komponenter i HID -protokollen

I HID -protokollen er det to enheter: "verten" og "enheten". Enheten er enheten som direkte samhandler med et menneske, for eksempel et tastatur eller en mus. Verten kommuniserer med enheten og mottar inndata fra enheten om handlinger utført av mennesket. Utdata flyter fra verten til enheten og deretter til mennesket. Det vanligste eksempelet på en vert er en PC, men noen mobiltelefoner og PDAer kan også være verter.

HID -protokollen gjør implementering av enheter veldig enkel. Enheter definerer datapakkene sine og presenterer deretter en "HID -deskriptor" for verten. HID -deskriptoren er et hardkodet utvalg av byte som beskriver enhetens datapakker. Dette inkluderer: hvor mange pakker enheten støtter, størrelsen på pakkene og formålet med hver byte og bit i pakken. For eksempel kan et tastatur med en kalkulatorprogramknapp fortelle verten at knappens trykte/frigitte tilstand er lagret som 2. bit i den 6. byte i datapakke nummer 4 (merk: disse stedene er bare illustrerende og er enhetsspesifikke) . Enheten lagrer vanligvis HID -deskriptoren i ROM og trenger ikke å forstå eller analysere HID -deskriptoren iboende. Noe mus og tastatur på markedet i dag er implementert ved hjelp av bare en 8-biters CPU .

Verten forventes å være en mer kompleks enhet enn enheten. Verten må hente HID -deskriptoren fra enheten og analysere den før den kan kommunisere fullt ut med enheten. Analyse av HID -deskriptoren kan være komplisert. Det er kjent at flere operativsystemer har sendt feil i enhetsdriverne som er ansvarlige for å analysere HID -deskriptorene år etter at enhetsdriverne opprinnelig ble utgitt for publikum. Denne kompleksiteten er imidlertid årsaken til at rask innovasjon med HID -enheter er mulig.

Mekanismen ovenfor beskriver det som kalles HID "rapportprotokoll". Fordi det var forstått at ikke alle verter ville være i stand til å analysere HID -deskriptorer, definerer HID også "oppstartsprotokoll". I oppstartsprotokollen støttes bare spesifikke enheter med bare spesifikke funksjoner fordi faste datapakkeformater brukes. HID -deskriptoren brukes ikke i denne modusen, så innovasjon er begrenset. Fordelen er imidlertid at minimal funksjonalitet fremdeles er mulig på verter som ellers ikke kunne støtte HID. De eneste enhetene som støttes i oppstartsprotokollen er

  • Tastatur - Enhver av de første 256 nøkkelkodene ("bruk") som er definert i HID -brukstabellene, bruk kan rapporteres av et tastatur ved hjelp av oppstartsprotokollen, men de fleste systemer håndterer bare et delsett av disse tastene. De fleste systemer støtter alle 104 nøkler i IBM AT-101- oppsettet, pluss de tre ekstra nøklene som er designet for Microsoft Windows 95 (venstre og høyre Windows-tast , og menytasten ). Mange systemer støtter også tilleggsnøkler på grunnleggende vest-europeiske 105-, koreanske 106-, brasilianske ABNT 107- og japanske DOS/V 109-tasters oppsett. Knapper, knapper og nøkler som ikke er rapportert på bruk side 7 er ikke tilgjengelige. For eksempel vil et bestemt amerikansk tastaturs QWERTY -taster fungere, men kalkulator- og avloggingstastene vil ikke fordi de er definert på bruk side 12 og ikke kan rapporteres i oppstartsprotokollen.
  • Mus-Bare X-aksen, Y-aksen og de tre første knappene vil være tilgjengelige. Eventuelle tilleggsfunksjoner på musen vil ikke fungere.

En vanlig bruk av oppstartsmodus er i de første øyeblikkene av datamaskinens oppstartssekvens. Direkte konfigurering av datamaskinens BIOS gjøres ofte bare med oppstartsmodus. Noen ganger vil det vises en melding som informerer brukeren om at enheten har installert riktig driver og nå er brukbar.

HID definisjon av en enhet

I henhold til HID -spesifikasjonen beskrives en enhet under rapportmodus som et sett med kontroller eller en gruppe kontroller. Kontrollene matches av et felt som inneholder dataene, og en annen som inneholder en brukskode. Hver brukskode er beskrevet i spesifikasjonen som konstruktøren foreslo bruk av dataene beskrevet i rapportmodus.

Andre protokoller ved bruk av HID

Siden HIDs opprinnelige definisjon over USB, brukes HID nå også i andre datakommunikasjonsbusser . Dette gjør at HID -enheter som tradisjonelt bare ble funnet på USB, også kan brukes på alternative busser. Dette er gjort siden eksisterende støtte for USB HID -enheter vanligvis kan tilpasses mye raskere enn å måtte oppfinne en helt ny protokoll for å støtte mus, styreflate, tastaturer og lignende. Kjente busser som bruker HID er:

  • Bluetooth HID - Brukes til mus og tastatur som er koblet til via Bluetooth
  • Serial HID - Brukes i Microsofts Windows Media Center PC -fjernkontrollmottakere.
  • ZigBee -inngangsenhet - ZigBee ( RF4CE ) støtter HID -enheter gjennom ZigBee -inngangsprofilen.
  • HID over I²C - Brukes for innebygde enheter i Microsoft Windows 8
  • HOGP (HID over GATT) - Brukes for HID -enheter som er tilkoblet med Bluetooth lavenergiteknologi

Se også

Referanser

Eksterne linker