Freigeben über


Gerätebuskonnektivität (pen-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 Stiftgerät erläutert.

Ein Windows Stiftgerät kann die von Microsoft bereitgestellten internen Treiber 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 auch einen beliebigen anderen Bus verwenden, solange Sie den erforderlichen Windows-kompatiblen HID-Miniport-Drittanbietertreiber für das Stiftgerät bereitstellen. Das folgende Diagramm zeigt den Windows 11 Treiberstapel für ein Windows-Stiftgerät.

Diagramm, das den Windows 11-Treiberstapel für ein Windows-Stiftgerät zeigt.

Für vollständige Kompatibilität mit Windows 11 für Desktopeditionen (Home, Pro, Enterprise und Education) empfehlen wir die Verwendung der von Microsoft bereitgestellten Windows-internen Treiber. Wenn Sie sich für die Verwendung eines Drittanbieter-Miniporttreibers entscheiden, müssen Sie diesen Drittanbietertreiber dem entsprechenden OEM hinzufügen und außerdem Images zur Systemwiederherstellung 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 integriertes Windows Stiftmodul wird als Kombination aus einem Controller-IC und einem Sensor definiert.

Ein Windows Stiftmodul, 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 Interrupt-Leitung
  • Eine Stromversorgungsleitung
  • Eine Erdungsleitung (GND)

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

Diagramm, das die Anschlussleitungen zwischen einem Windows-Stiftgerä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. Eine minimale I²C-Taktgeschwindigkeit von 400 KHz wird für einen integrierten Windows-Stift empfohlen. Es wird dringend empfohlen, dass integrierte Windows-Stiftcontroller nicht denselben I²C-Controller mit Komponenten teilen, die eine hohe Bandbreitenauslastung verursachen.

Es wird empfohlen, die Unterbrechungsleitung (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 Unterbrechungsleitung verbunden ist, sollte in der Lage sein (und dafür konfiguriert) den SoC zu aktivieren. Die Aktivierungsfunktion ermöglicht dem integrierten Windows-Stift, das System in verschiedenen Szenarien zu aktivieren.

Wenn Sie sich entscheiden, die Aktivierungsfunktion zu verwenden, sollte die mit dem integrierten Windows Stiftgerät verbundene Stromleitung nicht für andere Geräte freigegeben 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 Stiftgerät, das über I²C 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 Advanced Configuration and Power Interface.

Der ACPI-Tabelleneintrag sollte die folgenden Informationen angeben:

Eingabe Beschreibung
ACPI-Geräteeintragsname Eine 4-Zeichen-Identifikation, die in dieser ACPI-Tabelle eindeutig ist, um auf das Gerät zu verweisen. Zum Beispiel „WPEN“.
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 Stift mit dem Windows-Host zu verbinden, und ermöglicht es dem Stift und dem Host zu kommunizieren. Beispielsweise „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 Stiftgerät auf dem I²C-Bus für die Kommunikation auszuwählen. Zum 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 Unterbrechungsleitung des Stifts 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-Controller, mit dem die Unterbrechungsleitung des Stifts verbunden ist. Der Host verknüpft dann diesen spezifischen GPIO-Pin mit Unterbrechungssignalen vom Stift. Beispielsweise „{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-Interrupt-Assertionstyp Definiert den Typ des Auslösens, den der Stift für seine Unterbrechungen bereitstellt. Dies kann entweder „Edge-Triggered“ oder „Level-Triggered“ sein. HID I²C-konforme Geräte sollten „Level-Triggered“-Unterbrechungen verwenden.
GPIO-Interrupt-Assertionsebene 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-Stiftmodul 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 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 teilen, zu verstehen. Es wird dringend empfohlen, dass Geräte mit hoher Bandbreite und integrierte Windows Stiftcontroller nicht den gleichen USB-Hub teilen, da dies zu Bandbreitenanforderungen führen kann, welche die Busfunktionalität überschreiten.

USB-Brückengeräte (I²C -> USB)

Wenn Sie eine USB-Brücke verwenden, um einen integrierten I²C Windows-Stift mit dem Host zu verbinden, sollte die Brücke den integrierten Windows-Stift als eindeutigen Geräteknoten mit den eindeutigen Attributen des Geräts (wVendorID, wProductID, wVersionID) verfügbar machen.

HID SPI-Geräte

Ein Windows Stiftmodul wird als Kombination aus einem Controller-IC und einem Sensor definiert.

Ein Windows Stiftmodul, 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 Anschlussleitungen zwischen einem Windows Stiftgerät und seinem Windows-Host.

Diagramm, das den Treiberstapel für ein integriertes Windows Stiftgerät für Windows 11 und höhere Betriebssysteme zeigt.

ACPI-Tabelleneinträge

Ein Windows Stiftgerä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 Advanced Configuration and Power Interface.

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