USBデバイスは、“ディスクリプター”と呼ばれるさまざまな構成情報を保持しています。
ホストはこれらのディスクリプターの情報を使用して、デバイスを正しく初期化し利用可能な状態に構成します。
ディスクリプターの一覧を以下に示します。
ディスクリプター種類 | 内容 | 接続形態 |
---|---|---|
Device | 対応しているUSB仕様のバージョン デバイスクラス、デバイスサブクラス、デバイスプロトコルコード ベンダID、プロダクトID エンドポイント0の最大パケットサイズ コンフィグレーション数 製造者/製品/製造番号を示す各ストリングディスクリプターの番号 |
デバイスにつき1つ存在する |
Device_Qualifier | デバイスクラス、デバイスサブクラス、デバイスプロトコルコード ベンダーID、プロダクトID エンドポイント0の最大パケットサイズ コンフィグレーション数 |
USB 2.0より追加 Hi Speed対応デバイスに1つ存在する(Hi Speed対応デバイスが何らかの理由でFull Speedで動作する際に利用される) |
Configuration | インターフェース数 デバイス電源情報 消費電力 |
デバイスにつき1つ以上存在する |
Other_Speed_Configuration | Configuration Descriptor と同じ | USB 2.0より追加 Hi-Speed対応デバイスに1つ以上存在する(Hi-Speed対応デバイスが何らかの理由でFull-Speedで動作する際に利用される) |
Interface | インターフェイス番号 Alternative Setting数 エンドポイント数 インターフェイスクラス、インターフェイスサブクラス、インターフェイスプロトコルコード |
インターフェイスにつき1つ存在する |
Endpoint | エンドポイント番号、転送方向 転送方式(Isochronous, Bulk, Interrupt) 最大パケットサイズ 転送のインターバル |
各インターフェイスにつき独立して存在する エンドポイント0以外の各エンドポイントにつき1つ存在する |
String | UNICODE形式の文字列を保持 | 製造者, 製品名, 製造番号などの文字列 |