Freigeben über


Gerätebuskonnektivität (Touchpad-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 Buskonnektivitätsmethoden für ein Windows Precision Touchpad-Gerät erläutert.

Ein Windows Precision Touchpad-Gerät kann die von Microsoft bereitgestellten Posteingangstreiber verwenden, um eine Verbindung mit seinem Windows-Host herzustellen, indem sie entweder HID über USB, HID über I²C oder (ab Windows 11) HID über SPI herstellen. Sie können jedoch einen beliebigen anderen Bus verwenden, solange Sie den erforderlichen Windows-kompatiblen HID-Miniporttreiber für das Touchpad-Gerät bereitstellen.

Diagram showing the driver stack for an integrated windows precision touchpad device, in windows 11 and later operating systems.

I²C-Geräte

Ein Windows Precision Touchpad-Modul wird als Kombination aus einem Controller-IC, einem Sensor und allen zugeordneten Mechanismen definiert.

Ein Windows Precision Touchpad-Modul, das mit seinem Windows-Host über den I²C-Bus verbunden ist, muss mindestens die folgenden fünf Verbindungsheften verfügbar machen:

  • Eine Datenlinie (SDA)
  • Eine Taktleitung (SCL)
  • Eine Interrupt-Leitung
  • Eine Stromversorgungsleitung
  • Eine Bodenverbindung (GND)

Das folgende Diagramm zeigt die I²C-Verbindungssignallinien zwischen einem Windows Precision Touchpad und seinem Windows-Host.

diagram showing the i2c connecting signal lines between a windows precision touchpad and its windows host.

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 Precision Touchpad-Modul wird eine I²C-Taktgeschwindigkeit von mindestens 400 KHz empfohlen. Es wird dringend empfohlen, dass Touchscreen-Controller und Windows Precision Touchpad-Controller nicht den gleichen I²C-Controller teilen, da dies zu Bandbreitenanforderungen führen kann, die die Busfunktion überschreiten.

Es wird empfohlen, dass die Unterbrechungslinie (auch als ATTN-Linie bezeichnet) mit einem On-SoC GPIO-Controller oder einem IOAPIC verbunden ist. Wenn die Aktivierungsfunktion gewünscht wird, muss die GPIO- oder IOAPIC-Ressource, mit der die Unterbrechungslinie verbunden ist, in der Lage sein, das SoC aufzuhalten, um dem Windows Precision Touchpad das Aktivieren des Systems in verschiedenen Szenarien zu ermöglichen.

Wenn Sie sich entscheiden, die Aktivierungsfunktion zu verwenden, sollte die mit dem Windows Precision Touchpad-Modul verbundene Stromlinie nicht für andere Geräte freigegeben werden, die nicht wake-fähig sind. Damit die Aktivierungsszenarien erfolgreich funktionieren können, muss die Stromlinie, die verwendet wird, während der angeschlossenen Standby- oder S3-Bedingungen energetisiert werden.

ACPI-Tabelleneinträge

Ein Windows Precision Touchpad-Gerät, das über den I²C-Bus mit seinem Windows-Host verbunden ist, muss einen Eintrag in der ACPI-Tabelle für das Gerät definieren, das erkannt werden soll. Der Eintrag sollte die folgenden Informationen angeben:

Eingabe Beschreibung
ACPI-Geräteeintragsname Eine 4-Zeichen-Identifikation, die für diese ACPI-Tabelle eindeutig ist, um auf das Gerät zu verweisen. Zum Beispiel „TPAD“.
ACPI-Hardware-ID Eine 4-Zeichen + 4-Nummer ACPI-Hardware-ID, um auf das Gerät zu verweisen. Die ACPI-Hardware-ID wird im Geräte-Manager verfügbar gemacht. Zum Beispiel „MSFT0001“.
Kompatible ID Dies sollte immer „PNP0C50“ sein, um anzugeben, dass das Gerät HID I²C-kompatibel ist.
I²C-Controller Der I²C-Controller, an den das Gerät angeschlossen ist, muss angegeben werden, um mit dem Gerät zu kommunizieren. Zum Beispiel „I2C3“, um Controller #3) darzustellen.
Adresse des I²C-Sekundärgeräts Die Adresse des I²C-Sekundärgeräts muss angegeben werden, damit der Host es adressieren kann. Zum Beispiel „0x6F“.
I²C-Geschwindigkeit Die maximale Geschwindigkeit, die sowohl vom Gerät als auch vom I²C-Controller unterstützt wird, sollte hier angegeben werden, um eine gute Kommunikationsleistung zu gewährleisten. Dies sollte nicht kleiner als 400KHz (oder 0x61A80 in hexadezimaler Weise sein).
GPIO-Controller Der GPIO-Controller, mit dem die Unterbrechungslinie des Geräts verbunden ist, muss angegeben werden, damit der Host darauf zugreifen kann. Zum Beispiel „GPIO0“ – für Controller Null (0).
GPIO-Ressource oder Pin Der tatsächliche Pin auf dem GPIO-Controller, mit dem die Unterbrechungslinie des Geräts angeschlossen ist, muss angegeben werden, damit der Host den Pin dem Gerät zuordnen kann. Zum Beispiel „{35}“ zum Darstellen von Pin 35).
GPIO-Ressourcentyp Dadurch werden die Einschränkungen für die GPIO-Ressource definiert. Dies sollte „Exklusiv“ sein, es sei denn, SoC Wake ist gewünscht. In diesem Fall sollte dies „ExclusiveAndWake“ sein.
GPIO-Interrupt-Assertionstyp Dadurch wird definiert, ob das Gerät edge-ausgelöste oder ausgelöste Unterbrechungen der Ebene bereitstellt. HID I²C-kompatible Geräte sollten „Level“-ausgelöste Unterbrechungen bereitstellen und angeben.
GPIO-Interrupt-Assertionsebene Dadurch wird die Zeilenebene definiert, wenn die Unterbrechung vom Gerät behauptet wird. Dies kann als „ActiveLow“ oder „ActiveHigh“ angegeben werden.

USB-Geräte

Ein Windows Precision Touchpad-Modul, das mit seinem Windows-Host über High-Speed/Full-Speed USB 2.0 verbunden ist, sollte die erforderlichen Pins für die Host-Verbindung verfügbar machen.

Die Verbindung mit dem Host kann viele Formen annehmen und liegt im Ermessen des Integrators.

Beachten Sie, dass beim Herstellen einer Verbindung mit einem USB-Hub die Bandbreitenanforderungen aller Komponenten, die diesen Hub freigeben, zu verstehen. Es wird dringend empfohlen, dass Geräte mit hoher Bandbreite und Windows Precision Touchpad-Controllern den gleichen USB-Hub nicht teilen, da dies zu Bandbreitenanforderungen führen kann, die die Busfunktion überschreiten.

USB Bridge Devices (I²C -> USB)

Wenn Sie eine USB-Brücke zum Verbinden eines I²C Windows Precision Touchpads mit seinem Windows-Host verwenden möchten, sollte die Brücke das Touchpad als eindeutiger Geräteknoten mit den eindeutigen Attributen des Geräts (wVendorID, wProductID, wVersionID) verfügbar machen.

HID SPI-Geräte

Ein Windows Precision Touchpad-Modul wird als Kombination aus einem Controller-IC und einem Sensor definiert.

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

  • Eine Datenlinie (SDA)
  • Eine Taktleitung (SCL)
  • Eine Chip-Select-Leitung (SS)
  • Eine Interrupt-Leitung
  • Eine Stromversorgungsleitung
  • Eine Bodenverbindung (GND)

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

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

ACPI-Tabelleneinträge

Ein Windows Precision Touchpad-Gerät, das über SPI verbunden ist, muss einen Eintrag in der Tabelle „Advanced Configuration and Power Interface“ (ACPI) des Hosts definieren, damit das Gerät vom Host erkannt wird. Weitere Informationen zu ACPI finden Sie unter Spezifikation für erweiterte Konfiguration und Power Interface.

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