發布時間:2024-03-29 文章來源:深度系統下載 瀏覽:
HID(Human Interface Device,人機接口設備)是USB設備中常用的設備類型,是直接與人交互的USB設備,例如鍵盤、鼠標與游戲桿等。在USB設備中,HID設備的成本較低。另外,HID設備并不一定要有人機交互功能,只要符合HID類別規范的設備都是HID設備。 Wndows操作系統最先支持的HID設備。在windows 98以及后來的版本中內置有 HID設備的驅動程序,應用程序可以直接使用這些驅動程序來與設備通信。 在設計一個USB接口的計算機外部設備時,如果HID類型的設備可以滿足需要,可以將其設計為HID類型設備,這樣可以省去比較復雜的USB驅動程序的編寫,直接利用Windows操作系統對標準的HID類型USB設備的支持。 HID設備的特點
HID設備除了傳送數據給主機外,它也會從主機接收數據。只要能夠符合HlD類別規范的設備都可以是HID設備。 設備除了HlD接口之外,它可能同時還包含有其他的USB接口。例如影像顯示設備可能使用HID接口來做亮度、對比度的軟件控制,而使用傳統的影像接口來傳送要顯示的數據。USB擴音器可以使用實時傳輸來播放語音,同時使用HID接口來控制音量、低音等。 HID類別設備的規范文HID類別設備的規范文件主要是以下兩份:
其中前者是HID的基本規范文件,后者可以是前者的附件,為開發人員提供實際的控制類型的描述。文件是用來定義讓主機了解以及使用HID數據的數值。這兩份文件是由 USB Device Working Group制定的,可以在網址http://www.usb.org 下載。 HID設備的硬件要求HID接口必須符合Device Class Definition for Human interface Devices規范內所定義的HID類別的需求。在此文件內描述了所需的描述符、傳輸的頻率以及傳輸的類型等。為了符合規范,HID接口的端點與描述符都必須符合數個要求。 所有的HID傳輸都是使用默認控制管道或是一個中斷管道,HID設備必須有一個中斷輸入端點來傳送數據到主機,中斷輸出端點則不是必需的。
主機與設備之間所交換的數據,可以分成兩種類型:
中斷管道是控制管道之外的另一種數據交換的方式,特別適合使用在接收端需要定時或是盡可能及時收到數據的時候。中斷輸入管道攜帶數據到主機,中斷輸出管道則是攜帶數據到設備。在總線忙的時候,控制管道可能會被延遲,而中斷管道保證會有可得到的帶寬。HID不需要一定有中斷輸出管道。如果沒有中斷輸出管道,主機會在控制管道上使用HID設備特有的Set_Report請求來傳送所有的報表。 HID固件的要求主機的驅動程序要與HID設備通信,設備的固件必須符合下列需求:
如果要傳送數據,固件必須支持Get_Report控制傳輸與中斷輸入傳輸。如果要接收數據,固件必須支持Set_Report控制傳輸與選擇性的中斷輸出傳輸。 所有的HID數據都必須使用定義過的報表格式來定義報表中數據的大小與內容。設備可以支持一個或多個報表。在固件中的一個報表描述符用來描述此報表,以及如何使用報表數據的信息。 在每一個報表中的一個數值,定義此報表是一個輸入(Input)、輸出(Output)或是特征(Feature)報表。主機在輸入報表中接收數據,在輸出報表中傳送數據,特征報表可以在任何方向傳遞。 Windows 98以及后來版本的HID驅動程序使用中斷傳輸來傳遞輸入報表。輸出報表的傳輸類型要根據設備支持的端點與Windows的版本而定。Windows 98 Gold只符合HID 1.0規范,它的HID驅動程序使用控制傳輸來傳遞輸出報表。Windows 98 SE、Wndows 2000符合HID 1.1規范,HID驅動程序在有中斷輸出端點時使用中斷傳輸,否則使用控制傳輸來傳遞輸出報表。特征報表都是使用控制傳輸。 |
上一篇: