技術解説 Technical Referrence

複合デバイス

  • 複合デバイスとは
    USB における複合デバイス (composite device) とは、1 つの機器において複数の USB 機能 (function) を持ったデバイスの事を指します。複合デバイスがホストコンピュータに接続された場合、ホストはそれぞれの機能毎に別々のデバイスとして認識します。
  • 複合デバイスを構成するためには
    USB において、デバイスの構成は Configuration descriptor によって表されます。デバイスの“機能”は USBでは“インターフェース”として捉えられ、Interface descriptor によって、表されることになります。複合デバイスは、このインターフェースを複数持つことによって論理的に複数のデバイスとして動作するようになっています。例として、USB フラッシュメモリなどに使用される Mass storage class(MSC) とマウス・キーボードなどに使用される Human interface device class(HID) の複合デバイス構成の場合を挙げておきます。

図 1 MSC+HID 複合デバイス

灰色の囲みが Configuration descriptor に対応し、水色の囲みが Interface descriptor に対応することになります。
また、機器によってはより複雑な機能を提供するものがあります。例えば、Audio や Video などが該当し、これらは複数のインターフェースが組み合わさって 1 つの機能として動作するようになっています。
例えば、Audioの場合には音データを転送するための Audio streaming と、音量調整などを行うためのAudio control の 2 つのインターフェースによって構成されます。複数のインターフェースを使用して 1 つの機能を提供するデバイスの場合には、Interface Association Descriptor を使用してインターフェースの関連を表すことになります。

図 2 Audio+HID 複合デバイス

灰色の囲みが Configuration descriptor に対応し、水色の囲みが Interface descriptor に対応し、オレンジ色の囲みが Interface Association Descriptor に対応することになります。