• 沒有找到結果。

USB 描述元

在文檔中 多個螢幕媒體設備之實作 (頁 16-22)

第二章 USB 介紹

2.2 USB 描述元

當一個新的 USB Device 經由 USB Cable 連接 USB Host 時,USB Host 必須透過 USB 描述元(Descriptor) 來了解這一個新連接 USB Device 的基本特性,並且尋找符 合這個 USB Device 的驅動程式。USB 描述元包括裝置描述元[1](Device

Descriptor)、組態描述元[1] (Configuration Descriptor)、介面描述元[1]

(Interface Descriptor)、端點描述元[1] (Endpoint Descriptor)、字串描述元[1]

(String Descriptor),逐一說明如下。

 裝置描述元(Device Descriptor)讓 USB Host 可以透過裝置描述元得到 USB Device 的特性,包括這一個裝置描述元長度、裝置描述元種類、所依據的 USB 規 範版本、裝置類別資訊、裝置通訊協定、控制型端點的封包最大傳輸量、製造商 代碼(VID)、產品代碼(PID)、裝置韌體版本、製造商字串索引、產品字串索引、

序號字串索引與組態描述元總數。其格式列表說明如下(如表 2.1)。

表 2.1 裝置描述元(Device Descriptor)

欄位 大小(BYTE) 說明

bLength 1 裝置描述元長度

bDescriptorType 1 裝置描述元種類

bcdUSB 2 USB 規範版本

bDeviceClass 1 bDeviceSubClass 1

裝置類別資訊

bDeviceProtocol 1 裝置通訊協定

bMaxPacketSize0 1 控制型端點的封包最大傳輸量 idVendor 2 製造商代碼(VID)

idProduct 2 產品代碼(PID)

bcdDevice 2 裝置韌體版本

iManufacturer 1 製造商字串索引

iProduct 1 產品字串索引

iSerialNumber 1 序號字串索引 bNumConfigurations 1 組態描述元總數

 組態描述元(Configuration Descriptor)包含一至多組的組態描述元,不同於裝 置描述元限定只能有一組。包括這個組態描述元長度、組態描述元種類、總長度(含 組態描述元、介面描述元及端點描述元)、介面描述元總數、組態描述元值、組態 描述元索引、組態描述元屬性(自我供電功能、遠端喚醒功能等)與設備所需最大 電流量。其格式列表說明如下(如表 2.2)。

表 2.2 組態描述元(Configuration Descriptor)

欄位 大小(BYTE) 說明

bLength 1 組態描述元長度

bDescriptorType 1 組態描述元種類

wTotalLength 2 總長度(含組態描述元、介面

描述元及端點描述元)

bNumInterface 1 介面描述元總數

bConfigurationValue 1 組態描述元值

iConfiguration 1 組態描述元字串索引

bmAttributes 1 組態描述元屬性

bMaxPower 1 設備所需最大的電流量

 介面描述元(Interface Descriptor)與組態描述元相同可以包含一至多組的介面 描述元。包括這個介面描述元長度、介面描述元種類、介面描述元索引、替代設 定、端點描述元總數、介面類別資訊、介面通訊協定與介面描述元字串索引。其 格式列表說明如下(如表 2.3)。

表 2.3 介面描述元(Interface Descriptor)

欄位 大小(BYTE) 說明

bLength 1 介面描述元長度

bDescriptorType 1 介面描述元種類 bInterfaceNumber 1 介面描述元索引 bAlternateSetting 1 替代設定

bNumEndpoints 1 端點描述元總數 bInterfaceClass 1

bInterfaceSubClass 1

介面類別資訊

bInterfaceProtocol 1 介面通訊協定

iInterface 1 介面描述元字串索引

 端點描述元(Endpoint Descriptor)包括這個端點描述元長度、端點描述元種類、

端點描述元位置及方向(輸入/輸出)、端點描述元傳輸模式(控制、中斷、巨量、

等時)、端點描述元最大傳輸量(單位:BYTE)與輪詢間隔。其格式列表說明如下(如 表 2.4)。

表 2.4 端點描述元(Endpoint Descriptor)

欄位 大小(BYTE) 說明

bLength 1 端點描述元長度

bDescriptorType 1 端點描述元種類

bEndpointAddress 1 端點描述元位置及方向 bmAttributes 1 端點描述元傳輸模式 wMaxPacketSize 2 端點描述元最大傳輸量

bInterval 1 輪詢間隔

 字串描述元(String Descriptor)提供人們可看懂的文字,在 USB 的描述元中此 描述元是可有可無的,並不一定要提供給 USB Host,如果沒有提供字串描述元的 話,則必須要將其他的描述元中的字串索引值設定成 0,代表並沒有字串可以提 供使用。包括這個字串描述元長度、字串描述元種類與字串描述元字串內容。其 格式列表說明如下(如表 2.5)。

表 2.5 字串描述元(String Descriptor)

欄位 大小(BYTE) 說明

bLength 1 字串描述元長度

bDescriptorType 1 字串描述元種類

Content N 字串描述元字串內容

在文檔中 多個螢幕媒體設備之實作 (頁 16-22)

相關文件