基於OHCI的USB主機 描述符說明

2021-09-04 05:58:29 字數 2876 閱讀 2643

裝置描述符:

偏移值欄位名稱

字段大小 說明

0 blength 1

描述符長度

= 12h 1

bdescriptortype 1

裝置描述符型別

= 01h 2

bcdusb 2

usb規劃發布號 4

bdeviceclass 1

型別**(由

usb指定) 5

bdevicesubclass 1

子型別**(由

usb分配) 6

bdeviceprotocol 1

協議**(由

usb分配) 7

bmaxpackedsize0 1

端點0最大分組大小(只有8、

16、32、

64有效) 8

idvendor 2

**商id(由

usb分配)

10 idproduct 2

產品id(由廠商分配)

12 bcddevice 2

裝置出廠編碼

14 imanufacturer 1

廠商描述符字串索引

15 iproduct 1

產品描述符字串索引

16 iserialnumber 1

裝置序列號字串索引

17 bnumconfigurations 1

可能的配置數

配置描述符:

偏移值欄位名稱

字段大小 說明

0 blength 1

描述符的長度

= 09h 1

bdescriptortype 1

配置描述符的型別

= 02h 2

wtotallength 2

返回整個資料的長度,包括該配置所返回的所有描述符(配置、介面、端點以及型別或**商)的聯合長度 4

bnumberinte***ces 1

配置所支援的介面數 5

bconfigurationvalue 1

作為set configuration

的乙個引數選擇配置值 6

iconfiguration 1

用於描述該配置字串描述符的索引 7

bmattributes 1

配置特性:

d7         

匯流排供電

d6         

自供電

d5         

遠端喚醒

d4~0    

保留(復位為0)

8 maxpower 1

當裝置完全可操作時,在這種特定配置下,匯流排供電的

usb裝置的最大消耗電流(以

2ma為單位,即

2ma x 50 = 100ma)

介面描述符:

偏移值欄位名稱

字段大小 說明

0 blength 1

描述符長度

= 09h 1

bdescriptortype 1

介面描述符型別

= 04h 2

binge***cenumber 1

介面的編號 3

balternatesetting 1

用於為上乙個字段選擇可供替換的設定 4

bnumendpoint 1

使用的端點數目(端點

0除外) 5

binte***ceclass 1

型別**(由

usb指定) 6

binte***cesubclass 1

子型別**(由

usb分配) 7

binte***ceprotocol 1

協議**(由

usb分配) 8

iinte***ce 1

字串描述符的索引

端點描述符:

偏移值欄位名稱

字段大小 說明

0 blength 1

描述符長度

= 07h 1

bdescriptortype 1

介面描述符型別

= 05h 2

bendpointaddress 1

usb裝置的端點位址

d7         

方向,對於控制端點可忽略

0          

out端點

1     in端點

d6~4     

保留,復位為0

d3~0     

端點號 3

bmattributes 1

端點屬性,當進行配置是採用以下的配置值

d7~2      保留

d1~0     

傳輸型別

00       控制

01       同步

02       批量

03       中斷

4 wmaxpackedsize 2

本端點接受或傳送最大資訊包的大小。

對於同步傳送,此值用於為每幀的資料淨負荷預留時間。通道可能在實際執行時不需要預留頻寬。實際頻寬可由裝置通過一種非

usb定義的機制匯報給主機。

對於中斷傳送、批量傳送和控制傳送,端點可能傳送較小的資料報。在結束傳送後,既可能用間隙時間來重啟,也有可能不需要這段時間。 6

binterval 1

輪詢資料傳送端點的時間間隔。

此域值對於批量傳送的端點及控制傳送的端點忽略。對於同步傳送的端點,此域值必須為

1。對於中斷傳送的端點,此域值得範圍為

1~255。

4 4 基於OHCI的USB主機 描述符說明

原始出處 作者資訊和本宣告。否則將追究法律責任。裝置描述符 偏移值欄位名稱 字段大小 說明 0 blength 1 描述符長度 12h 1 bdescriptortype 1 裝置描述符型別 01h 2 bcdusb 2 usb規劃發布號 4 bdeviceclass 1 型別 由 usb指定 5 ...

基於OHCI的USB主機 OHCI(端點)

ohci open host controller inte ce 是康柏 微軟 國家半導體等公司共同制定的乙個usb主機介面規範,它提供乙個更抽象的介面來完成usb資料傳輸工作。在ohci規範中,最重要的幾個概念是端點 endpoint ed 傳輸描述符 transport descriptor ...

基於OHCI的USB主機 前言

很久以前,大概是前年年底吧,因為公司專案的要求,我做了基於ohci的usb主機訪問u盤的程式,用來把系統中產生的一些資料儲存到u盤中。本來做的時候就想把其中的一些經驗體會發表的,可是工作實在是太忙,而且也的確有點懶,就一直拖到了現在。做訪問u盤的usb主機,網上有很多現成的例子,從硬體到軟體。可是絕...