版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、USB®述符的分類與介紹USB的符述符分為幾類?有人可能會(huì)答:設(shè)備描述符、配置描述符、接口描述符、 端點(diǎn)描述符、字符申描述符等。但這里說的不是這樣的。上面的幾類描述符屆于 USBfe準(zhǔn)描述符。另外還有HID描述符和Hub描述符。所以分類是這樣的: 1.標(biāo)準(zhǔn)描述符1)設(shè)備描述符2)配置描述符3)字符申描述符4)接口描述符5)端點(diǎn)描述符6)設(shè)備限定描述符7)其他速率配置描述符2. HID描述符3. Hub描述符1標(biāo)準(zhǔn)描述符標(biāo)準(zhǔn)描述符是指一組設(shè)備描述符,包括設(shè)備描述符、配置描述符、字符申描述符、 接口描述符、端點(diǎn)描述符、設(shè)備限定描述符和其他速率配置描述符。這七種描述符具有類似的格式,比如說
2、它們的第一個(gè)字段都是bLength,第二個(gè)字段都是bDescriptorType。七種描述符在使用時(shí)以 bDescriptorType 字段來區(qū)分。描述 符類型與對(duì)應(yīng)的bDescriptorType字段值對(duì)應(yīng)關(guān)系為:bDescriptorType 值描述符類用bDescriptorType設(shè)備蹴符1端娜述符51蝴述符2設(shè)備限定描述符6字符串脫符37|接口描林41.1設(shè)備描述符設(shè)備描述符描述的是設(shè)備的整體信息, 與設(shè)備本身一一對(duì)應(yīng),一個(gè)設(shè)備只能有一 個(gè)設(shè)備描述符。在主機(jī)對(duì)US瞅備枚舉的過程中,首先要做的就是獲取設(shè)備描述 符,以對(duì)設(shè)備有一個(gè)整體的了解。設(shè)備描述符由14個(gè)字段組成,總長度18字節(jié):字
3、段名長度/字節(jié)地址偏移說明bLength10描述符長度伽2)bDescriptorType11描述符類型(0X01)bedUSB22US9規(guī)范版本號(hào)(眄碼bDeviceClass14類代碼bDeviceSubClass15子類代碼bDeviceProtocol16癡代碼bMaxPacketSizeO17糕。支特最大娜包長度idVendor28供應(yīng)商IDidProduct210產(chǎn)品IDbed DeviceI12設(shè)備版本號(hào)(采用BCD碼)iManufacturer114供應(yīng)商字符耦述符索引iProduct115產(chǎn)品字髀描述符索引iSeriNumber116設(shè)備序列號(hào)字符串索引bNumCcmfigu
4、rations117所支持的配置字符符串斜這些字段都有一個(gè)小寫字母表示的前綴,它們所表示的意思如下:b表一個(gè)字節(jié),=8bits ;w 表一個(gè)字,=16bits ;bm表按位尋址;bcd用BCDK表示;i表索引值id表標(biāo)識(shí)碼各字段含義:bLength :表示描述符的長度,對(duì)丁設(shè)備描述符來說,其值為18,即0x12。bDescriptorType :描述符類型,對(duì)應(yīng)表1中的值,設(shè)備描述符為0x01。bcdUSB:該設(shè)備遵循的 USB®本號(hào),以BC況表示,USB1.1為0x0101, USB2.0 為 0x0200。bDeviceClass :該設(shè)備所屆的標(biāo)準(zhǔn)設(shè)備類,USEft、議中對(duì)常見
5、的設(shè)備進(jìn)行了 分類。該字段值為0x010xFE時(shí),表示是USBB議中已定義的設(shè)備類,常用的 HID設(shè)備類編號(hào)為0x03,其它設(shè)備類編號(hào)參:/developers/defined_classbDeviceProtocol :用丁表示USB®備類所采用的設(shè)備類協(xié)議,其值和 bDeviceClass和bDeviceSubClass有關(guān)。當(dāng)此 字段為0時(shí),表示不使用任何設(shè) 備類協(xié)議。如果該US瞅備屆丁某個(gè)設(shè)備類和設(shè)備子類,則應(yīng)該繼續(xù)指明所采用 的設(shè)備類協(xié)議。當(dāng)該字段為0xFF時(shí),表明設(shè)備 類協(xié)議由供應(yīng)商自定義。bMaxPacketSizeO :用丁表示在US
6、EK備中,端點(diǎn)0所支持最大數(shù)據(jù)包的長度, 它以字節(jié)為單位。對(duì)丁低速 USE®:備,bMaxPacketSizeO為8;對(duì)丁全速USB 設(shè)備,bMaxPacketSizeO 為 8、16、32、64;對(duì)丁高速 USB® 備,bMaxPacketSizeO 為64。IdVendor :用丁表示USB®備供應(yīng)商的ID。USBffl織中規(guī)定每種產(chǎn)品都必須 包含一個(gè)供應(yīng)商ID,這樣可以使主機(jī)加載合適的驅(qū)動(dòng)程序。idProduct :用丁表示USB產(chǎn)品的ID,由設(shè)備供應(yīng)商提供。idProduct用丁表 示特定的US瞅備,在US般備上電的時(shí)候可以幫助 USB主機(jī)選擇合適的驅(qū)動(dòng)程
7、 序。bcdDevice :用丁表示USB®備的版本號(hào),它以BC況的形式表示。一般來說 bcdDevcie由設(shè)備供應(yīng)商指定,在US瞅備上電的時(shí)候可以幫助USB主機(jī)選擇合 適的驅(qū)動(dòng)程序。iManufacturer :用丁表示供應(yīng)商字符申描述符的索引值。 具體字符申的內(nèi)容 在后面字符申描述符中定義。如果沒有供應(yīng)商字符申,可以置0。iSerialNumber :用丁表示設(shè)備序歹0號(hào)字符申描述符的索引值,如果沒有,可 以置為00bNumConfigurations :用丁表示該USB設(shè)備所支持的配置數(shù)。1.2配置描述符一個(gè)USB設(shè)備可以有多種配置,不同的配置使設(shè)備工作在不同的狀態(tài)下,每個(gè)配置
8、必須有一個(gè)配置描述符。其格式包括 8個(gè)字段,共9字節(jié)字段名長射字節(jié)«耕b Length10描述符的長度609bDescriptorType11描述符的類型02wTotolLength2I配置信息的長度bNumlnterface14該配置支持的接口數(shù)bConfiguratlonValue15配置值iconfiguration16字符串艇符索弓1值bmAttributes17陽置特性bMaxPower18所需要的最大總線電流各個(gè)字段含義:bLength :用丁表示配置描述符的長度,固定為 9個(gè)字節(jié),即0x09。bDescriptorType :用丁表示配置描述符的類型值,固定為 0x02
9、。wTotalLength :用丁表示配置信息的總長度,包括配置描述符、接口描述符、 端點(diǎn)描述符長度的總和。bNumInterfaces :用丁表示配置所支持的接口數(shù)。一般來說,USBES備的接口至少有一個(gè),因此其最小值為1。bConfigurationValue :用丁表示 USBiS備的配置值。iConfiguration :用丁指出配置字符申描述符的索引值。具體字符申的內(nèi)容 在后面字符申描述符中定義。如果沒有配置字符申,可以置為0。bmAttributes :用丁表示USE®備特性。bmAttributes 是接位尋址的,第 6 位置1表示使用總線電源;第5位置1表示支持遠(yuǎn)程喚
10、醒功能;該字段其他位均 保留,一般來說,第04位置0即可,第7位置1即可。bMaxPowen用丁表示USE®備運(yùn)行時(shí)所需要消耗的總線電流,單位以 2mA 為基準(zhǔn)。USB備可以從USB總線上獲得最大的電流為500mA因此bMaxPower 字段的最大值可以設(shè)置為250。1.3字符申描述符在USBB議中字符申描述符是可選的。字符申描述符用丁保存一些供應(yīng)商名稱、 產(chǎn)品序列號(hào)等文本信息。它的長度是不固定的,隨字符申的數(shù)量和信息的長度變化而變化。其格式如下:mbLengthi0鼬聯(lián)度(W字節(jié))bDescriptorTypei1瞬嫩頂3hittingN2各字段含義:bLength :字符申描述符
11、的長度,其值應(yīng)為 N+2 bDescriptorType :字符申描述符的類型值,為 0x03 bString : UNICOD編碼的字符申。1.4接口描述符接口是端點(diǎn)的集合,負(fù)責(zé)完成USB勺特定功能,例如數(shù)據(jù)的輸入輸出。接口描述 符用丁描述一個(gè)接口,包含了接口的特性,如端點(diǎn)個(gè)數(shù),所屆設(shè)備類和子類等。它有9個(gè)字段,共9字節(jié)。具格式如下:字段名JI蜘量;bLength10描述苻的長 (M9bDescriptorType11描述符的類地0x04MnterfattNumber12接口號(hào)bAhernateSetting13mm| bNumEndpoints14前哪的端愚blnterfacetlass1
12、5類代科bl nt erf ace SubChss16瑚碼blnterfa 俚 Protocol17眥代碼ilnterface18祎概述醐索牖2. HID描述符3. Hub描述符1.5端點(diǎn)描述符端點(diǎn)描述符用丁指出US酬點(diǎn)的特性,包括其所支持的傳輸類型、傳輸方向等信 息。USE規(guī)定,端點(diǎn)0沒有端點(diǎn)描述符,其余端點(diǎn)必須包含端點(diǎn)描述符。端點(diǎn) 描述符由6個(gè)字段組成,共7個(gè)字節(jié)。其格式如下:字段名長度/字節(jié)地址翩量設(shè)明bLength10描述符的長尾0X07bDescriptorType11描述符的類性娜一bEndpointAddress12端點(diǎn)號(hào)、傳輸方向bm Attributes13端楠性wMaxPa
13、ckebize24最大觥包長度blnterval16訪問間隔各字段含義:bLength :用丁表小端點(diǎn)描述符的長度,固正為 7bDescriptorType :用丁表小接口描述符的類型值,字節(jié),即0x07。固定為0x05。bEndpointAddress :用丁表示端點(diǎn)的端點(diǎn)號(hào)以及端點(diǎn)的數(shù)據(jù)傳輸方向。第七位表示端點(diǎn)的數(shù)據(jù)傳輸方向,0表示OU嗷據(jù)傳輸,1表示IN數(shù)據(jù)傳輸;第0 位表示端點(diǎn)號(hào),例如001B表示端點(diǎn)1、010B表示端點(diǎn)2;其余位均保留,必須 置0。bmAttributes :用丁表示端點(diǎn)的特性。其中第 0位和第1位表示端點(diǎn)的數(shù)據(jù) 傳輸類型,00B表示控制傳輸、01B表示同步傳輸、10
14、B表示塊傳 輸、11B表示 中斷傳輸;如果是同步傳輸,第 2位和第3位表示同步類型,00B表示非同步、 01B表小異步、10B表小自適應(yīng)、11B表小同步;第4、5位表小端點(diǎn)的用法類型, 00B表示數(shù)據(jù)端點(diǎn)、01B表示顯示反饋端點(diǎn)、10B表示隱匿反饋端點(diǎn)、11B保留。 其余位保留。wMaxPacketSize :用丁表示端點(diǎn)所支持最大數(shù)據(jù)包的長度。其中第 010位 表示數(shù)據(jù)包的長度,第11位和12位指出每小幀最多傳輸?shù)氖聞?wù)數(shù),其余位均保 留,必須置00bInterval :用丁指定端點(diǎn)數(shù)據(jù)傳輸?shù)脑L問間隔。 低速中斷端點(diǎn),取值范圍為 10255,對(duì)應(yīng)的訪問間隔為10255ms對(duì)丁全速中斷端點(diǎn),取值
15、范圍為1255, 對(duì)應(yīng)的訪問間隔為1255ms對(duì)丁其他端點(diǎn),可以參閱 USB!關(guān)協(xié)議。1.6設(shè)備限定描述符設(shè)備限定描述符用丁指定另一傳輸速率下該設(shè)備的總體信息,如果高速USB®備既需要采用高速傳輸乂需要全速傳輸,則它必須支持設(shè)備限定描述符 (Device_Qualifier)。設(shè)備限定描述符包含9個(gè)字段,長度固定為10個(gè)字節(jié)。 其格式如下:字段名jfewi蝴bLength10描述苻長度:0他bDescriptorType1i描述瞬型頂06bcdUSB22USB腕版本號(hào)(BCD碼)bDeviceOass14類代碼bDeviceSubClass15子類代碼b Deviceprotocol
16、16bMaxPacketSizeO17端點(diǎn)0所支贛景大觥起建bNumConfigurations18所翅姬置敖bReserved19艇各字段含義:bLength :用丁表示設(shè)備限定描述符的長度,為固定值 0x0abDescriptorType :用丁表示設(shè)備限定描述符的類型值,固定為0x06。bcdUSB:用丁表示US瞅備及其描述符所遵循的USE®范版本,以BCDK的 形式表示,其值必須在版本2.0以上。bDeviceClass :用丁表示USB®備所屆的設(shè)備類。該字段值在 10xFE之間 的時(shí)候,表示為US耽義的某個(gè)設(shè)備類,如0x03表示HID設(shè) 備類。當(dāng)為0時(shí), 表示U
17、SB設(shè)備的各個(gè)接口互相獨(dú)立,分別屆丁不同的設(shè)備類,在接口描述符中會(huì) 進(jìn)一步說明。當(dāng)為0xFF時(shí),表示該設(shè)備為供應(yīng)商自定義的。bDeviceSubClass :用丁表示USE®備所采用的設(shè)備類協(xié)議,它對(duì)USE®備類 進(jìn)行了更詳細(xì)的定義。例如,對(duì)丁前面的HID設(shè)備類,只有一個(gè) 子類代碼0x01。 而對(duì)丁顯示設(shè)備類(0x04)子類代碼0x01表示CRT顯示器、0X02表示平面顯示器、 0x03表示3D顯示器。當(dāng)bDeviceClass=0時(shí),該字段也必須為0;當(dāng)該字段為 0xFF時(shí),表示由供應(yīng)商自定義的設(shè)備子類。bDeviceProtocol :用丁表示USB®備所采用
18、的設(shè)備類協(xié)議,其值和 bDeviceClass及bDevcieSubClass的值有關(guān)。當(dāng) 該字段為0時(shí),表示不使用任 何設(shè)備協(xié)議。如果該USB備屆丁某個(gè)設(shè)備類和設(shè)備子類,則應(yīng)該繼續(xù)指明所采 用的設(shè)備類協(xié)議。當(dāng)該字段為 0xFF時(shí),表示由供 應(yīng)商自定義設(shè)備類協(xié)議。bMaxPacketSize0 :用丁表示USB®備端點(diǎn)0支持最大數(shù)據(jù)包的長度,它以字 節(jié)為單位。對(duì)丁低速 US般備,bMaxPacketSize0為8,對(duì)丁全速USB®備, bMaxPacketSize0 為 8、16、32 或 64;對(duì)丁高速 USB®備 bMaxPacketSize。為 64。bNu
19、mConfigurations :表示USB設(shè)備另一個(gè)速率所支持的配置數(shù)。 bReserved :保留項(xiàng),要置 0。1.7其他速率配置描述符其他速率配置描述符用丁指定另一傳輸速率下該設(shè)備的配置信息,如果高速USB設(shè)備既需要采用高速傳輸乂需要全速傳輸,則它必須支持其他速率配置描述符。其他速率配置描述符包含8個(gè)字段,長度固定為9個(gè)字節(jié)。其格式如下:字既H湃節(jié)mm撅bLength10bDescriptorType1 1融牘您0x07wTotalLengthI2覆信息長度bNumInterfaces14所殊的接岐_bConfigurationValue15Elfiiconfiguration16bmA
20、ttributes17椰性bMaxPower18所蔽的馱仍8總線電澈2M為單園各字段含義:bLength :描述符的長度,固定為0x09。bDescriptorType :描述符類型,固定為0x07。wTotalLength :用丁表示其他速率配置信息的總長度,包括配置描述符、接 口描述符、端點(diǎn)描述符、設(shè)備類定義描述符和供應(yīng)商自定義描述符的總和。bNumInterfaces :用丁表示其他速率配置所支持的接口數(shù)。bConfigurationValue :用丁表示其他速率配置值。iConfiguration :用丁指出配置字符申描述符的索引值,具體字符申的內(nèi)容 在字符申描述符中定義。如果沒有配置
21、字符申,可以置 0。bmAttributes :用丁表示配置特性。它量按位尋址的,第 6位置1表示使用 總線電源;第5位置1表示支持遠(yuǎn)程喚醒功能;該字段的其他位均保留,一般來 說,第04位應(yīng)該置0,第7位應(yīng)該置1。bMaxPower用丁表示US瞅備運(yùn)行時(shí)所需要消耗的總線電流,單位以 2mA 為基準(zhǔn)。USBK備可以從USB總線上獲得最大電流為500mA因此該字段的最大 值為250。2 HID描述符USB®備中有一大類就是 HID設(shè)備,即Human Interface Devices ,人機(jī)接口設(shè) 備。這類設(shè)備包括鼠標(biāo)、鍵盤等,主要用丁人與計(jì)算機(jī)進(jìn)行交互。它是USB&議最早支持的
22、一種設(shè)備類。HID設(shè)備可以作為低速、全速、高速設(shè)備用。由丁 HID設(shè)備要求用戶輸入能得到及時(shí)響應(yīng),故其傳輸方式通常采用中斷方式。在USBfe議中,HID設(shè)備的定義放置在接口描述符中,USB的設(shè)備描述符和配置 描述符中不包含HID設(shè)備的信息。因此,對(duì)丁某些特定的HID設(shè)備,可以定義多 個(gè)接口,只有其中一個(gè)接口為 HID設(shè)備類即可。當(dāng)定義一個(gè)設(shè)備為HID設(shè)備時(shí),其設(shè)備描述符應(yīng)為:bDeviceClass=ObDeviceSubCiass=Ob Device P ratocol=0其接口描述符應(yīng)該:bInterfaceClass=0x03另外(接口描述符):對(duì)無引導(dǎo)的HID設(shè)備,子類代碼bInter
23、faceSubClass 應(yīng)置0,此時(shí) bInterfaceProtocol 無效,置零即可。即為:bInterfaceClass=0x03bInterfaceSubClass=0bInterfaceProtocol=0對(duì)支持引導(dǎo)的USB設(shè)備,子類代碼bInterfaceSubClass 應(yīng)置1,此時(shí) bInterfaceProtocol 可以為1或2, 1表示鍵盤接口,3表示鼠標(biāo)接口。其參考 設(shè)置如下:bInterfaceClass=0x03bInterfaceSubClass=1bInterfaceProtocol=1或 2HID設(shè)備支持USBB準(zhǔn)描述符中的五個(gè):設(shè)備描述符、配置描述符、接
24、口描述符、 端點(diǎn)描述符、字符申描述符。除此之外,HID設(shè)備還有三種特殊的描 述符:HID描述符、報(bào)告描述符、物理描述符。一個(gè) USB®備只能支持一個(gè)HID描述符,但 可以支持多個(gè)報(bào)告描述符,而物理描述符則可以有也可以沒有。2.1 HID描述符HID描述符用丁識(shí)別HID設(shè)備中所包含的額外描述符,例如報(bào)告描述符或物理描 述符等。其格式如下:字段名長度/字節(jié)地扯偏移量誠bLength10報(bào)告描述符長度序節(jié))bDescriptorType11描述符類型兩nbcdHID22HID版本號(hào)(BCD碼)bCountryCode14國家/地區(qū)代碼bNumDescriptor1S支持的其他類型描述符數(shù)量bDescriptorType16類別描述符的類型wDescriptofLength27報(bào)告描述符的總長度bDescriptorType19用于識(shí)別艇符類型的常數(shù)wDescriptoftengtii210描述符齡長度n各字段含義:bLength : HID描述符長度。bDescriptorType : HID描述符類型,值為 0x21。bcdH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江宇翔職業(yè)技術(shù)學(xué)院《公路工程定額原理與計(jì)價(jià)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工業(yè)職業(yè)技術(shù)學(xué)院《采購過程演練》2023-2024學(xué)年第一學(xué)期期末試卷
- 反諧振阻抗比較小的原因
- 中國傳媒大學(xué)《計(jì)算機(jī)電子電路基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長治醫(yī)學(xué)院《劇場品牌管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南司法警官職業(yè)學(xué)院《體育-臺(tái)球》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)內(nèi)部知識(shí)分享平臺(tái)構(gòu)建方案
- 保險(xiǎn)行業(yè)數(shù)字營銷模板
- 拿破侖歷史名人人物介紹
- 中考誓師大會(huì)學(xué)生發(fā)言稿
- 集團(tuán)公司垂直管理辦法
- 小學(xué)外來人員出入校門登記表
- GB/T 25283-2023礦產(chǎn)資源綜合勘查評(píng)價(jià)規(guī)范
- 《滑炒技法-尖椒炒肉絲》教學(xué)設(shè)計(jì)
- 【人生哲學(xué)與傳統(tǒng)道德4200字(論文)】
- 116個(gè)公共信息圖形通用符號(hào)
- 勞動(dòng)仲裁證據(jù)目錄清單
- DB11T 1832.11-2022建筑工程施工工藝規(guī)程 第11部分幕墻工程
- 怎樣移動(dòng)重物幻燈片
- GB/T 29529-2013泵的噪聲測量與評(píng)價(jià)方法
- GB/T 29494-2013小型垂直軸風(fēng)力發(fā)電機(jī)組
評(píng)論
0/150
提交評(píng)論