Třída zařízení USB s lidským rozhraním - USB human interface device class

Ve výpočetní technice je třída zařízení USB s lidským rozhraním ( třída USB HID ) součástí specifikace USB pro počítačové periferie : specifikuje třídu zařízení (typ počítačového hardwaru ) pro zařízení s lidským rozhraním, jako jsou klávesnice , myši , herní ovladače a alfanumerické zobrazovací zařízení .

Třída USB HID je definována v řadě dokumentů poskytovaných pracovní skupinou zařízení USB Implementers Forum . Primárním dokumentem používaným k popisu třídy USB HID je definice třídy zařízení pro HID 1.11.

Zařízení

Třída USB HID popisuje zařízení používaná téměř u každého moderního počítače. Ve třídě USB HID existuje mnoho předdefinovaných funkcí. Tyto funkce umožňují výrobcům hardwaru navrhnout produkt podle specifikací třídy USB HID a očekávat, že bude fungovat s jakýmkoli softwarem, který také splňuje tyto specifikace.

Stejný protokol HID se používá beze změny v zařízeních Bluetooth s lidským rozhraním. Specifikace profilu Bluetooth pouze nasměruje čtenáře na dokumentaci USB HID. V tomto smyslu tato zařízení rovněž patří do třídy USB HID.

Klávesnice

Klávesnice jsou běžným druhem zařízení třídy USB HID. Klávesnice třídy USB HID je obvykle navržena s koncovým bodem IN, který komunikuje úhozy do počítače a koncovým bodem OUT, který komunikuje stav LED diod klávesnice z počítače na klávesnici. Standard PC 97 vyžaduje, aby BIOS počítače musel detekovat a pracovat s klávesnicemi třídy USB HID, které jsou navrženy pro použití během procesu zavádění.

Některé klávesnice implementují profil USB Boot Keyboard uvedený v definici třídy zařízení USB pro HID (Human Interface Devices) v1.11 a jsou výslovně nakonfigurovány pro použití bootovacího protokolu. Jsou omezeny na 6-klávesový rollover (6KRO) a přeruší CPU pokaždé, když je dotázána klávesnice (i když nedojde ke změně stavu), pokud toto chování nepřepíše řadič USB. Tento profil má umožnit systému BIOS zpracovávat klávesnici USB bez operačního systému podporujícího USB. Doporučený profil pro klávesnice, které nejsou v bootovacím režimu, v této specifikaci omezuje klávesnice na 6KRO a způsobí, že budou reagovat na přerušení zprávou o stavu alespoň každou půl sekundu (opět, i když nedojde ke změně stavu), aby bylo možné implementovat Typematic (opakování scancode při stisknutí tlačítka dostatečně dlouho), pokud řadič USB je naprogramován tak, aby říci klávesnice není, jak to udělat. Klávesnice v režimu bez spuštění však mohou implementovat alternativní profil HID zdarma.

Výše uvedené chování je na rozdíl od rozhraní PS / 2 (nezaměňovat s PlayStation 2), které podporuje klávesnici n -key rollover (NKRO) pro klávesnice, které ji mohou podporovat. Rozhraní PS / 2 nepřeruší CPU vůbec, když nedojde ke změnám stavu, kromě případů, kdy je klávesa držena dostatečně dlouho na aktivaci typematické. To, že nemusíte reagovat na opakované dotazování, šetří energii, takže rozhraní PS / 2 se často používá v interních klávesnicích notebooků.

Myši

Počítačové myši jsou dalším běžným zařízením třídy USB HID. Myši USB HID se mohou pohybovat od jednoduchých zařízení s jedním tlačítkem až po zařízení s více tlačítky. Většina moderních operačních systémů se dodává s ovladači pro standardní návrhy myší HID (nejběžnější moderní design myši má dvě vyhrazená tlačítka a kolečko myši, které slouží jako třetí tlačítko); myši s rozšířenou funkcí vyžadují vlastní ovladače od výrobce.

Myši USB mají nižší latenci než myši PS / 2, protože standardní myši USB jsou často dotazovány při výchozí frekvenci 125 Hz, zatímco standardní myši PS / 2 odesílají přerušení při výchozí frekvenci 100 Hz, pokud mají data k odeslání do počítače. Myši USB také nezpůsobí, že řadič USB přeruší systém, když nemají žádnou změnu stavu, aby mohli hlásit podle výchozího profilu specifikace USB HID pro zařízení myši. PS / 2 i USB umožňují přepsat vzorkovací frekvenci, přičemž PS / 2 podporuje vzorkovací frekvenci až 200 Hz a USB podporuje rychlost dotazování až 1 kHz, pokud myš USB běží plnou rychlostí nebo vyšší Rychlost USB.

V důsledku toho, že rozhraní myši PS / 2 má charakter přerušení, který nevyžaduje periodické dotazování, rozhraní PS / 2 šetří energii, což z něj činí oblíbenou volbu pro polohovací zařízení integrovaná do notebooků.

Herní ovladače

Moderní herní ovladače a joysticky jsou často zařízení třídy USB HID. Na rozdíl od starších herních přístavní zařízení, USB HID třída herní zařízení obvykle nevyžadují proprietární ovladače fungovat. Téměř všechna herní zařízení budou fungovat pomocí integrovaných ovladačů, pokud je zařízení navrženo podle ovladačů a specifikací třídy USB HID.

Další zařízení

Specifikace třídy USB HID umožňují nesčetné množství dalších zařízení spadajících do třídy USB HID. Některé příklady jsou ovladače automobilové simulace, cvičební stroje, telefonní zařízení, teploměry, ovládání zvuku a lékařské přístroje. Dokonce i nepřerušitelné zdroje napájení a softwarové ochranné klíče se hlásí k této třídě, přestože často nemají vůbec žádné lidské rozhraní. Jakýmkoli zařízením může být zařízení třídy USB HID, pokud návrhář splňuje logické specifikace třídy USB HID. To neznamená, že není nutné dodávat ovladače pro tato zařízení, ani že operační systém zařízení okamžitě rozpozná. To znamená pouze to, že se zařízení může deklarovat pod třídou zařízení lidského rozhraní.

Zranitelnosti zabezpečení

Rozhraní USB je zranitelné vůči bezpečnostním exploitům, jako je BadUSB, které zneužívají kombinaci schopnosti USB připojit mnoho různých druhů zařízení, jeho neschopnost ověřit, že zařízení jsou ve skutečnosti tím, za co se vydávají, možnost USB zařízení změnit svůj typ nebo oznamovat další dílčí zařízení při připojení a jeho výchozí chování při přijímání jakéhokoli zařízení, které se k němu připojuje. Jako částečné protiopatření lze místo toho použít periferie PS / 2 společně s deaktivací všech portů USB.

Řidiči

Jednou z výhod dobře definované specifikace, jako je třída USB HID, je množství ovladačů zařízení dostupných ve většině moderních operačních systémů. Zařízení třídy USB HID a jejich základní funkce jsou definovány v dokumentaci USB-IF bez ohledu na konkrétní software. Z důvodu těchto obecných popisů je pro návrháře operačních systémů snadné zahrnout fungující ovladače pro zařízení, jako jsou klávesnice, myši a další obecná zařízení lidského rozhraní. Zahrnutí těchto obecných ovladačů umožňuje rychlejší nasazení zařízení a snadnější instalaci koncovými uživateli.

Logické specifikace

Funkční charakteristiky

Třídu zařízení USB pro lidské rozhraní lze použít k popisu tříd zařízení i rozhraní. Třída rozhraní se používá, když zařízení USB může obsahovat více než jednu funkci. Je proto možné mít zařízení USB se dvěma různými rozhraními současně (například telefon USB může používat klávesnici pokrytou třídou HID a reproduktor pokrytý třídou komunikačních zařízení USB ).

Zařízení rozhraní jsou také definována deskriptory podtříd. Deskriptor podtřídy se používá k deklaraci zaváděcího zařízení. Spouštěcí zařízení splňuje minimální přilnavost k základnímu protokolu a bude rozpoznán počítače BIOS .

Každé rozhraní USB HID komunikuje s hostitelem pomocí řídicího kanálu nebo kanálu přerušení . U zařízení třídy HID se nepoužívají izochronní a objemové trubky. Pro výčet jsou vyžadovány oba ovládací prvky IN a OUT; pro zprávy HID je vyžadován pouze IN přerušení přenosu. Přenosy přerušení OUT jsou u zařízení třídy HID volitelné.

Zprávy

Třída USB HID vyžaduje, aby každé zařízení popisovalo, jak bude komunikovat s hostitelským zařízením, aby bylo možné přesně předpovědět a definovat všechna současná a budoucí zařízení lidského rozhraní. Během výčtu zařízení popisuje, jak mají být jeho sestavy strukturovány, aby se hostitelské zařízení mohlo správně připravit na příjem těchto informací.

Hostitel během operace pravidelně dotazuje koncový bod IN na přerušení zařízení. Když má zařízení data k odeslání, vytvoří zprávu a odešle ji jako odpověď na dotazovací token. Běžná zařízení, jako jsou klávesnice a myši, odesílají zprávy, které jsou v souladu se standardy stanovenými ve fóru USB Implementers Forum (USB-IF). Když prodejce vytvoří vlastní zařízení třídy USB HID, musí se sestavy vytvořené zařízením shodovat s popisem sestavy poskytnutým během výčtu a ovladačem nainstalovaným v hostitelském systému. Tímto způsobem je možné, aby třída USB HID byla extrémně flexibilní.

USB HID API

S rozhraním USB HID souvisejí dvě úrovně rozhraní API: úroveň USB a úroveň operačního systému . Na úrovni USB existuje protokol, který zařízením oznamuje své schopnosti, a operační systém analyzuje získaná data. Operační systém poté nabízí pohled na vyšší úroveň aplikací, které nemusí zahrnovat podporu pro jednotlivá zařízení, ale pro třídy zařízení. Tato abstrakční vrstva umožňuje hře pracovat s jakýmkoli řadičem USB, například is těmi, které byly vytvořeny po hře.

Viz také

Reference

externí odkazy