由于HID群組屬于慢速設備,因此HID群組的主要限制就是它的傳輸速度,其最高的傳輸率僅有64Kbps。這比全速的12Mbps傳輸速率 低了很多。但對于一般的I/O控制上的應用或輸入/輸出的設計來說,卻已經(jīng)足夠了。
以下,將會描述用來使操作系統(tǒng)可檢測到HID群組以及與其交換數(shù)據(jù)之所需固件的請求。當然,對在PC主機端中可與HID群組交換信 息的Windows API函數(shù)也會稍微介紹。
此外,在USB官方網(wǎng)站中也提供了數(shù)個開發(fā)輔助工具,也可以幫助用戶來開發(fā)固件,并且可確保在Windows操作系統(tǒng)下與此設各相互 通信,傳遞數(shù)據(jù)。
通過所定義的請求以及具有相似功能的設備所共有的特性,將會使得在群組底下來開發(fā)USB 1/O設備變得更為容易。操作系統(tǒng)能夠包 涵以群組規(guī)范為主的設各驅動程序,而相對的設各也確認能夠使用群組驅動程序,而不須再編寫針對某種特定目的的驅動程序。這樣 ,即可節(jié)省大量的開發(fā)時間。
HID群組是在Wind。ws下,首先支持USB群組中的一個群組。無庸置疑,這是因為這個群組涵蓋了最開始需要使用USB接口連接的一些 接口設備,如鍵盤或鼠標等設備。而關于群組規(guī)范與額外的數(shù)據(jù)文件,用戶可以進入USB的官方網(wǎng)站查詢。
所謂的人工接口,也就是設置了此設各后經(jīng)過人工的操作,彼此具有互動的關系。雨對于鍵盤或鼠標等設各,用戶人為的動作是用 來決定什么數(shù)據(jù)(按鍵或鼠標位置)會輸人(IN)至主機。此外,可將此群組設各類型延伸至其他的例子中,比如說操作的前置面板 、遠程監(jiān)控、電話按鍵以及游戲機的控制。但是這種所謂的人工接口設各HID,卻也可規(guī)劃為無需人為操作的硬件接口,如按鍵、搖 桿或開關等。這也說明了,如條形碼機、溫度計及電壓計等其他設備都可規(guī)劃為HID群組,因此應用的范圍相當廣泛。
所謂的HID就是將人為的數(shù)據(jù)傳回給主機。但除了須回傳數(shù)據(jù)至PC主機外,相對,HID群組也可從主機端接收所送出的數(shù)據(jù)。例如, 具有動力回饋的搖桿,用戶可以依個人喜好適度地設置(輸出)搖桿的動力效果,來體會飛機爬升時搖桿回饋的力度;或者是打開鍵盤上的NumLock按鍵LED,用來顯示設各的字體或LED的顏色等,以控制設各的相關特性.
延伸這類型的其他HID設備,還可能包括遠程顯示器、機器手臂、I/O監(jiān)控系統(tǒng),或可通過主機上的虛擬控制臺來執(zhí)行控制的設各。當然,用戶也可設計成可驅動設備上的繼電器的簡易輸出設各。
簡而言之,任何設各如果符合HID規(guī)范中所定義的各種限制,都可執(zhí)行HID設備的功能。以下列出數(shù)個HID群組的主要特性與限制:
●一個全速的HID設備能夠傳輸高達64×8×1 000字節(jié)每秒(64 bytes/1 ms);而低速的設備僅確保800字節(jié)每秒(8 bytes/10ms)的傳輸率而已。
●如果設備要送出數(shù)據(jù)(如鼠標的移動與鍵盤的敲擊)時,HID能夠請求主機以周期的方式輪詢設各,以求出相關的數(shù)據(jù)(所移動的坐標或按下的按鍵)。
●存在于HID所定義的數(shù)據(jù)結構描述符中,用來交換的數(shù)據(jù),稱之為“報告(report)”(請參閱稍后的報告描述符)。一個單一的報告能夠包含高達65535字節(jié)的數(shù)據(jù)。此設備的固件必須包含用來描述所要交換數(shù)據(jù)的報告描述符。此報告的格式能夠讓用戶來修改以處理任何類型的數(shù)據(jù)。
●每一次的數(shù)據(jù)交易可以攜帶小量至中量的數(shù)據(jù)。對于低速設各,每一次數(shù)據(jù)交易最大是8字節(jié);對于全速設各,每一次數(shù)據(jù)交易最大是64字節(jié);對于高速設各,每一次數(shù)據(jù)交易最大是l 024字節(jié)。而一個長的報告描述符,能夠使用多個數(shù)據(jù)交易。
●在Windows 98 Gold操作系統(tǒng)下,是不支持OUT傳輸?shù),因此所有主機輸出至設備的數(shù)據(jù)必須通過控制傳輸來實現(xiàn)。