Freigeben über


Gerätebuskonnektivität (touchscreen-device-bus-connectivity)

Hinweis

Dieser Artikel enthält Verweise auf den Begriff Slave, einen Begriff, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wird, wird er auch aus diesem Artikel entfernt.

In diesem Thema werden Methoden für die Gerätebuskonnektivität für ein integriertes Windows-Touchscreengerät erläutert.

Ein integriertes Windows-Touchscreengerät kann die von Microsoft bereitgestellten Eingangstreiber verwenden, um eine Verbindung mit seinem Windows-Host herzustellen, indem es entweder HID über USB, HID über I²C oder (ab Windows 11) HID über SPI verwendet. Sie können jedoch einen beliebigen anderen Bus verwenden, solange Sie den erforderlichen Windows-kompatiblen HID-Miniporttreiber eines Drittanbieters für das Touchscreengerät bereitstellen. Das folgende Diagramm zeigt den Windows 10-Treiberstapel für ein Windows-Touchscreengerät.

Diagramm, das den Treiberstapel für ein integriertes Windows-Touchscreengerät in Windows 11 und neueren Betriebssystemen zeigt.

Für vollständige Kompatibilität mit Windows 11 für Desktopeditionen (Home, Pro, Enterprise und Education) empfehlen wir, nach Möglichkeit die Windows-Eingangstreiber zu verwenden. Wenn Sie einen Miniporttreiber eines Drittanbieters verwenden müssen, müssen Sie diesen Drittanbietertreiber den entsprechenden OEM- (Original Equipment Manufacturer) und Systemwiederherstellungsimages hinzufügen und diese Images dann für den Download auf Windows Update zur Verfügung stellen.

In den folgenden Abschnitten werden einige Beispiele für Gerätekonfigurationen vorgestellt.

I²C-Geräte

Ein Windows-Touchscreenmodul ist als Kombination aus einem Controllerchip, einem Sensor und allen zugehörigen Mechanismen definiert.

Ein Windows-Touchscreenmodul, das über den I²C-Bus eine Verbindung mit seinem Windows-Host herstellt, muss mindestens die folgenden fünf Anschlusspins verfügbar machen:

  • Eine Datenleitung (SDA)
  • Eine Taktleitung (SCL)
  • Eine Interrupt-Leitung
  • Eine Stromversorgungsleitung
  • Eine Erdungsleitung (GND)

Nachfolgend sehen Sie ein Diagramm der Verbindungen zwischen einem Windows-Touchscreengerät und seinem Windows-Host.

Diagramm, das die Anschlussleitungen zwischen einem Windows-Touchscreengerät und seinem Windows-Host zeigt.

Beim Herstellen einer Verbindung mit einem I²C-Controller ist es wichtig, die Bandbreitenanforderungen aller Komponenten zu verstehen, die diesen Controller teilen. Für ein Windows-Touchscreengerät wird eine I²C-Taktgeschwindigkeit von mindestens 400 kHz empfohlen.

Es wird empfohlen, die Interrupt-Leitung (auch als ATTN-Leitung bezeichnet) mit einem On-SoC-GPIO-Controller oder mit einem IOAPIC zu verbinden. Die GPIO- oder IOAPIC-Ressource, mit der die Interrupt-Leitung verbunden ist, sollte in der Lage sein (und dafür konfiguriert), das SoC (System on a Chip) zu aktivieren. Die Aktivierungsfunktion ermöglicht dem Windows-Touchscreengerät, das System in verschiedenen Szenarien zu aktivieren.

Wenn Sie sich entscheiden, die Aktivierungsfunktion zu verwenden, sollte die mit dem Windows-Touchscreengerät verbundene Stromleitung nicht mit anderen Geräten geteilt werden, die nicht aktivierungsfähig sind. Damit die Aktivierungsszenarien ordnungsgemäß funktionieren können, muss die verwendete Stromleitung während des verbundenen Standbymodus/S3-Bedingungen bestromt werden.

ACPI-Tabelleneinträge

Ein Windows-Touchscreengerät, das über I²C verbunden ist, muss einen Eintrag in der ACPI-Tabelle (Advanced Configuration and Power Interface) des Hosts definieren, damit das Gerät vom Host erkannt wird. Weitere Informationen zu ACPI finden Sie in der Advanced Configuration and Power Interface-Spezifikation.

Der ACPI-Tabelleneintrag sollte die folgenden Informationen angeben:

Eingabe Beschreibung
ACPI-Geräteeintragsname Eine in der ACPI-Tabelle eindeutige aus vier Zeichen bestehende Kennung, mit der auf das Gerät verwiesen wird. Beispiel: „TOUC“.
ACPI-Hardware-ID Eine aus vier Zeichen und vier Ziffern bestehende ACPI-Hardware-ID, mit der auf das Gerät verwiesen wird. Diese ID wird im Geräte-Manager verfügbar gemacht. Beispiel: „MSFT0001“.
Kompatible ID Dies sollte immer „PNP0C50“ sein, um anzugeben, dass das Gerät HID I²C-kompatibel ist.
I²C-Controller Gibt einen I²C-Controller auf dem Windows-Host an. Dieser Controller wird verwendet, um den Touchscreen mit dem Windows-Host zu verbinden, und ermöglicht die Kommunikation zwischen Touchscreen und Host. Beispiel: „I2C3“, um den I²C-Controller 3 anzugeben.
Adresse des I²C-Sekundärgeräts Gibt die Adresse des I²C-Sekundägeräts an. Der Host verwendet diese Adresse, um das Touchscreengerät auf dem I²C-Bus für die Kommunikation auszuwählen. Beispiel: „0x6F“.
I²C-Geschwindigkeit Gibt die maximale Geschwindigkeit an, die sowohl vom Gerät als auch vom I²C-Controller unterstützt wird. Die Angabe der Geschwindigkeit in der ACPI-Tabelle stellt eine zuverlässige Kommunikation sicher. Diese Geschwindigkeit sollte nicht kleiner als 400 kHz (0x61A80) sein.
GPIO-Controller Der GPIO-Controller, mit dem die Interrupt-Leitung des Touchscreengeräts verbunden ist. Dies teilt dem Host mit, wo er nach Unterbrechungssignalen „lauschen“ soll. Beispiel: „GPIO0“, um den GPIO-Controller 0 anzugeben.
GPIO-Ressource/Pin Der GPIO-Controllerpin, mit dem die Interrupt-Leitung des Touchscreengeräts verbunden ist. Der Host verknüpft dann diesen spezifischen GPIO-Pin mit Unterbrechungssignalen vom Touchscreen. Beispiel: „{35}“, um Pin 35 anzugeben.
GPIO-Ressourcentyp Dadurch werden die Einschränkungen für die GPIO-Ressource definiert. Dieser Eintrag für die ACPI-Tabelle sollte auf „Exclusive“ festgelegt werden, es sei denn, Sie möchten SoC-Aktivierung auswählen. Wenn Sie sich entscheiden, SoC-Aktivierung auszuwählen, legen Sie diesen Eintrag auf „ExclusiveAndWake“ fest.
GPIO-Unterbrechungsassertionstyp Definiert den Typ des Auslösens, den das Touchscreengerät für seine Unterbrechungen bereitstellt. Dies kann entweder „Edge-Triggered“ oder „Level-Triggered“ sein. HID I²C-konforme Geräte sollten Unterbrechungen vom Typ „Level-Triggered“ verwenden.
GPIO-Unterbrechungsassertionsebene Definiert den Spannungspegel auf der Interrupt-Leitung, bei dem die Unterbrechung durch das Gerät bestätigt wird. Dies kann als „ActiveLow“ oder „ActiveHigh“ angegeben werden.

USB-Geräte

Ein integriertes Windows-Touchscreengerät mit hoher/voller Geschwindigkeit, das über USB 2.0 angeschlossen ist, sollte die erforderlichen Pins für die Hostkonnektivität verfügbar machen.

Die Verbindung mit dem Host kann auf vielerlei Weise erfolgen und liegt im Ermessen des Integrators.

Beim Herstellen einer Verbindung mit einem USB-Hub müssen die Bandbreitenanforderungen aller Komponenten bekannt sein, die diesen Hub teilen. Es wird dringend empfohlen, dass Geräte mit hoher Bandbreite und Windows-Touchscreencontroller nicht den gleichen USB-Hub verwenden, da dies zu Bandbreitenanforderungen führen kann, die die Buskapazität überschreiten.

HID-SPI-Geräte

Ein Windows-Touchscreenmodul ist als Kombination aus einem Controllerchip und einem Sensor definiert.

Ein Windows-Touchscreenmodul, das über den SPI-Bus eine Verbindung mit seinem Windows-Host herstellt, muss mindestens die folgenden fünf Anschlusspins verfügbar machen:

  • Eine Datenleitung (SDA)
  • Eine Taktleitung (SCL)
  • Eine Chip-Select-Leitung (SS)
  • Eine Interrupt-Leitung
  • Eine Stromversorgungsleitung
  • Eine Erdungsleitung (GND)

Nachfolgend sehen Sie ein Diagramm der Verbindungen zwischen einem Windows-Touchscreengerät und seinem Windows-Host.

Diagramm, das den Treiberstapel für ein integriertes Windows-Touchscreengerät für Windows 11 und neuere Betriebssysteme zeigt.

ACPI-Tabelleneinträge

Ein Windows-Touchscreengerät, das über SPI verbunden ist, muss einen Eintrag in der ACPI-Tabelle (Advanced Configuration and Power Interface) des Hosts definieren, damit das Gerät vom Host erkannt wird. Weitere Informationen zu ACPI finden Sie in der Advanced Configuration and Power Interface-Spezifikation.

Der ACPI-Tabelleneintrag sollte die im Artikel Plug & Play Support für HID über SPI beschriebenen Informationen angeben.