Share via


デバイス バス接続 (touchscreen-device-bus-connectivity)

Note

この記事には、Microsoft が使用しなくなった "スレーブ" という用語への言及が含まれています。 ソフトウェアからこの用語が削除された時点で、この記事から削除します。

このトピックでは、統合された Windows タッチスクリーン デバイスのバス接続方法について説明します。

統合 Windows タッチ スクリーンは、Microsoft が提供する受信トレイ ドライバーを使用して、Windows ホストに接続できます。そのためには、USB 経由の HID、I²C 経由の HID、または (Windows 11 以降) SPI 経由の HID を使用します。 ただし、タッチスクリーン デバイスに必要な Windows 互換のサードパーティ HID ミニポート ドライバーを提供する限り、他の任意のバスを使用できます。 次の図は、Windows タッチスクリーン デバイスの Windows 10 ドライバー スタックを示しています。

diagram showing the driver stack for an integrated windows touchscreen device, in windows 11 and later operating systems.

Windows 11 デスクトップ エディション (Home、Pro、Enterprise、および Education) との完全な互換性を確保するには、可能な限り Windows 受信トレイ ドライバーを使用することをお勧めします。 サードパーティ製のミニポート ドライバーを使用する必要がある場合は、このサードパーティのドライバーを適切な OEM およびシステムの復元イメージに追加してから、これらのイメージを Windows Update でダウンロードできるようにする必要があります。

以下のセクションでは、デバイス構成の例をいくつか紹介します。

I²C デバイス

Windows タッチスクリーン モジュールは、コントローラー IC、センサー、および関連するすべてのメカニズムの組み合わせとして定義されます。

I²C バスを介して Windows ホストに接続する Windows タッチスクリーン モジュールは、少なくとも次の 5 つの接続ピンを公開する必要があります。

  • データ行 (SDA)
  • クロック ライン (SCL)
  • 割り込みライン
  • 電源ライン
  • グランド接続 (GND)

次に示すのは、Windows タッチスクリーン デバイスとその Windows ホストの間の接続線の図です。

diagram showing the connection lines between a windows touchscreen device and its windows host.

I²C コントローラーに接続するときは、そのコントローラーを共有するすべてのコンポーネントの帯域幅要求を理解することが重要です。 Windows タッチスクリーン モジュールには、400KHz の最小 I²C クロック速度が推奨されます。

割り込み線 (ATTN 行とも呼ばれる) を On-SoC GPIO コントローラーまたは IOAPIC に接続することをお勧めします。 割り込み線が接続されている GPIO または IOAPIC リソースは、SoC をスリープ解除できる (および構成済みである) 必要があります。 ウェイクアップ機能により、Windows タッチスクリーンは、さまざまなシナリオでシステムをスリープ解除できます。

ウェイク機能を使用する場合は、Windows タッチスクリーン デバイスに接続されている電力線を、ウェイク対応ではない他のデバイスと共有しないでください。 ウェイク シナリオが適切に機能するためには、接続されたスタンバイまたは S3 状態で使用される電力ラインに電力が供給されている必要があります。

ACPI テーブル エントリ

I²C 経由で接続されている Windows タッチスクリーン デバイスは、デバイスがホストによって認識されるように、ホストの Advanced Configuration and Power Interface (ACPI) テーブルにエントリを定義する必要があります。 ACPI の詳細については、「高度な構成と電源インターフェイスの仕様」を参照してください。

ACPI テーブル エントリには、次の情報を指定する必要があります。

入力 説明
ACPI デバイス エントリ名 デバイスを参照するための、この ACPI テーブルに一意の 4 文字の識別子。 たとえば、“TOUC”。
ACPI ハードウェア ID デバイスを参照する 4 文字 + 4 数値の ACPI ハードウェア ID。 これは、デバイス マネージャーで公開されます。 たとえば、“MSFT0001”。
互換性 ID これは、常に、デバイスが HID I²C と互換性を持つことを示す "PNP0C50" にする必要があります。
I²C コントローラー Windows ホストで I²C コントローラーを指定します。 このコントローラーはタッチスクリーンと Windows ホストを接続するために使用され、タッチスクリーンとホストが通信できるようになります。 たとえば、"I2C3" – I²C コントローラー #3 を示します。
I²C スレーブ アドレス デバイスの I²C スレーブ アドレスを指定します。 ホストは、このアドレスを使用して、I²C バス上のタッチスクリーン デバイスを通信に選出します。 例、"0x6F"。
I²C の速度 デバイスと I²C コントローラーの両方でサポートされる最大速度を指定します。 ACPI テーブルで速度を指定すると、信頼できる通信が確保されます。 この速度は、400 KHz (0x61A80) 以上にする必要があります。
GPIO コントローラー タッチスクリーン デバイスの割り込みラインが接続されている GPIO コントローラー。 これで、割り込み信号を "リッスン" するホストに指示します。 たとえば、"GPIO0" – GPIO コントローラー #0 を示します。
GPIO リソース/ピン タッチスクリーン デバイスの割り込みピンが接続されている GPIO コントローラー。 ホストは、この特定の GPIO ピンと、タッチスクリーンの割り込み信号を関連付けます。 たとえば、 “{35}” – ピン 35 を示します。
GPIO リソースの種類 GPIO リソースに関する制約を定義します。 SoC ウェイクを選択しない限り、ACPI テーブルのこのエントリは "Exclusive" に設定する必要があります。 SoC ウェイクを選択する場合は、この項目を "ExclusiveAndWake "に設定します。
GPIO 割り込みアサーションの種類 タッチスクリーン デバイスが割り込みに対して提供するトリガーの種類を定義します。 これは、"Edge-triggered" または "Level-triggered" のいずれかになります。HID I²C 準拠のデバイスは、"Level-triggered" を使用する必要があります。
GPIO 割り込みアサーションのレベル 割り込みがデバイスによってアサートされる場合、割り込みラインの電圧レベルを定義します。 これは、"ActiveLow" または "ActiveHigh" として指定できます。

USB デバイス

USB 2.0 経由で接続されている、高速/最高速度の統合 Windows タッチスクリーン デバイスでは、ホスト接続に必要なピンが公開されている必要があります。

ホストへの接続にはさまざまな形式があり、インテグレーターの裁量に任されます。

USB ハブに接続するときは、そのハブを共有するすべてのコンポーネントの帯域幅の需要を理解することが重要であることに注意してください。 高帯域幅デバイスと Windows タッチスクリーン コントローラーが同じ USB ハブを共有しないことを強くお勧めします。これにより、バス容量を超える帯域幅の要件が発生する可能性があります。

HID SPI デバイス

Windows タッチスクリーン モジュールは、コントローラー IC とセンサーの組み合わせとして定義されます。

SPI バスを介して Windows ホストに接続する Windows タッチスクリーン モジュールは、少なくとも次の 5 つの接続ピンを公開する必要があります。

  • データ行 (SDA)
  • クロック ライン (SCL)
  • チップ選択ライン (SS)
  • 割り込みライン
  • 電源ライン
  • グランド接続 (GND)

次に示すのは、Windows タッチスクリーン デバイスとその Windows ホストの間の接続線の図です。

diagram showing the driver stack for an integrated windows touchscreen device, for windows 11 and later operating systems.

ACPI テーブル エントリ

SPI 経由で接続されている Windows タッチスクリーン デバイスは、デバイスがホストによって認識されるように、ホストの Advanced Configuration and Power Interface (ACPI) テーブルにエントリを定義する必要があります。 ACPI の詳細については、「高度な構成と電源インターフェイスの仕様」を参照してください。

ACPI テーブル エントリでは、「HID over SPI でのプラグ アンド プレイのサポート」で説明されている情報を指定する必要があります。