最終更新:2018-05-15 (火) 14:31:45 (2400d)  

USB/標準リクエスト
Top / USB / 標準リクエスト

標準デバイスリクエスト

概要

コマンド一覧

  • GET_STATUS - デバイスの状態の取得(給電状態、リモートウェイクアップ)
  • CLEAR_FEATURE - 特定の機能をなくしたり無効化
  • SET_FEATURE - 特定の機能を有効化
  • SET_ADDRESS - USBアドレスの設定
  • GET_DESCRIPTOR - 指定されたデスクリプタを(存在すれば)返す。
  • SET_DESCRIPTOR? - (オプション)既存のディスクリプタの更新
  • GET_CONFIGURATION - リクエストはデバイスの現在のコンフィグレーション値を返す。
  • SET_CONFIGURATION - デバイスのコンフィグレーションを設定
  • GET_INTERFACE? - returns the selected alternate setting for the specified interface.
  • SET_INTERFACE - allows the host to select an alternate setting for the specified interface.
  • SYNCH_FRAME? - used to set and then report an endpoint’s synchronization frame

デバイスリクエストの構造

  • オフセットフィールドサイズ説明
    0bmRequestType1ビットマップリクエストの性質を表す
    1bRequest1Valueリクエスト(GET_DESCRIPTORとか)
    2wValue2Valueリクエストによる。
    4wIndex2Index or Offsetリクエストによる。大抵はインデックスやオフセットを渡すのに使用。
    6wLength2Countデータステージがある場合は転送するバイト数。

bmRequestType

bRequest

  • bRequestの値bRequest機能wValuewIndexwLengthData
    0x00GET_STATUSエンドポイント等のステータス取得0デバイスの時は0、
    インターフェイス番号、
    エンドポイント番号
    2デバイス、インターフェイス、またはエンドポイントのステータス
    0x01CLEAR_FEATURE特定の機能をクリア。ストール解除など標準Featureセレクタデバイスの時は0、
    インターフェイス番号
    エンドポイント番号
    0
    0x02Reserved
    0x03SET_FEATUREリモートウェィクアップなどの機能を設定標準Featureセレクタデバイスの時は0、
    インターフェイス番号、
    エンドポイント番号
    0
    0x04Reserved
    0x05SET_ADDRESSデバイスのアドレスを設定デバイスアドレス00
    0x06GET_DESCRIPTORディスクリプタを取得ディスクリプタ種別、ディスクリプタ番号0、言語番号ディスクリプタの長さディスクリプタ
    0x07SET_DESCRIPTOR?ディスクリプタを変更ディスクリプタ種別、ディスクリプタ番号0、言語番号ディスクリプタの長さディスクリプタ
    0x08GET_CONFIGURATION現在のコンフィギュレーション番号取得001コンフィグレーションの番号
    0x09SET_CONFIGURATIONコンフィギュレーション番号設定構成値00
    0x0AGET_INTERFACE?現在の代替インタフェース番号を取得0インターフェイス1代替インターフェイスの番号
    0x0BSET_INTERFACEインタフェースを設定代替設定値インターフェイス0
    0x0CSYNCH_FRAME?パターン同期のアイソクロナス転送で使用される、パターン開始番号取得要求0エンドポイント2フレーム番号

USB 3.0で追加

  • 0x30SET_SELSEL(System Exit Latency)、電源状態U1,U2からの復帰時間の設定
    0x31SET_ISOCH_DELAYホストがパケット送出してからデバイスが受信するまでの遅延時間の設定

その他

標準Featureセレクタ

  • SET_FEATURE/CLEAR_FEATUREで使われる
    セレクタ対象
    0ENTPOINT_HALT?エンドポイント
    1DEVICE_REMORE_WAKEUP?デバイス
    2TEST_MODE?デバイス
  • TEST_MODE時のwIndexのMSB
    意味
    0x00Reserved
    0x01Test_J
    0x02Test_K
    0x03Test_SE0_NAK
    0x04Test_Packet
    0x05Test_Force_Enable
    0x06-0x3FReserved(標準テストセレクタ)
    0x3F-0xBFReserved
    0xC0-0xFFReserved(ベンダ依存テストモード)

関連

参考