HID over SPI の概要
シリアル周辺機器インターフェイス (SPI) 経由でヒューマン インターフェイス デバイス (HID) クラス デバイスを利用する方法について説明します。 このガイドでは、帯域幅の増加、低待機時間、ハードウェア実装の容易さなど、HID デバイスに SPI を使用する利点について説明します。 Microsoft が提供する HID ミニポート ドライバーを使用して、キーボード、マウス、センサーなどのさまざまな HID デバイスを統合する方法について説明します。
Microsoft は、デバイスがシリアル周辺機器インターフェイス (SPI) バス経由で通信できるようにする HID ミニポート ドライバーを作成しました。
SPI の特長は次のとおりです。
- I2C よりも高速 – 帯域幅の増加、クロック レートの向上
- 待ち時間の短縮
- ハードウェアに簡単かつ安価に実装
- プラットフォームに統合され、リムーバブルではないデバイスに最適
この記事では、SPI に焦点を当てて、シンプルな周辺機器バス トランスポートでヒューマン インターフェイス デバイス (HID) クラス デバイスを使用する方法について説明します。 HID クラスは、主にコンピューター システムの動作を制御するために人間が使用するデバイスで構成されています。 HID クラス デバイスの一般的な例を次に示します。
- キーボードとポインティング デバイス (標準のマウス デバイス、トラックボール、ジョイスティックなど)
- ノブ、スイッチ、ボタン、スライダーなどのフロント パネル コントロール
- 電話、リモコン、ゲーム、シミュレーション デバイスなどのデバイスで見つかる可能性のあるコントロール。 たとえば、データ グローブ、ステアリング ホイール、キーパッド、ラダー ペダルなどです。
- 人間の操作を必要としない可能性があるが、バーコード リーダー、温度計、その他の形式のセンサーなど、HID クラス デバイスと同様の形式でデータを提供するデバイス
HID プロトコルは、もともとヒューマン インターフェイス デバイスを対象としていました。 ただし、HID プロトコルは、外部インターフェイスへの低待機時間の入出力操作と、そのデバイスが自身を記述する機能を必要とする任意のアプリケーションに役立ちます。 一般的な HID クラス デバイスとしては、インジケーター、特殊なディスプレイ、オーディオ フィードバック、フォースまたは触覚フィードバックなどが挙げられます。
HID プロトコルは非対称であり、ホストとデバイスの役割を識別します。 プロトコルは、デバイスがホストにその機能を記述するための形式 (記述子) を定義します。 ホストは、デバイスとの通信の形式を理解すると、ホストにデータを送信するようにデバイスをプログラムします。 HID プロトコルは、デバイスにデータを送信する方法と、デバイスの現在の状態を識別するためのステータス チェックも識別します。
クラスの拡張
HIDSPICx クラス拡張機能を使用することで、付属の HIDSPI Windows ドライバーの機能を追加できます。 詳細については、 HIDSPICx APIを参照してください。
HID over SPI の仕様
完全な HID over SPI プロトコルの仕様は、Microsoft ダウンロード センターからダウンロードできます。