Condividi tramite


Connessione ivity del bus di dispositivo (touchpad-device-bus-connectivity)

Nota

Questo articolo contiene riferimenti al termine slave, che Microsoft non usa più. Quando il termine verrà rimosso dal software, verrà rimosso anche dall'articolo.

Questo argomento illustra i metodi di connettività del bus per un dispositivo Touchpad precisione Windows.

Un dispositivo Touchpad precisione Windows può usare i driver posta in arrivo forniti da Microsoft per connettersi all'host Windows, usando HID tramite USB, HID su I²C o (a partire da Windows 11) HID su SPI. Tuttavia, puoi usare qualsiasi altro autobus che vuoi, purché fornisca il driver di mini-porta HID compatibile con Windows richiesto per il dispositivo touchpad.

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

Dispositivi I²C

Un modulo Touchpad di Precisione Windows viene definito come la combinazione di un controller IC, un sensore e qualsiasi meccanismo associato.

Un modulo Touchpad di Precisione Windows connesso al relativo host Windows tramite il bus I²C deve esporre almeno i cinque pin di connessione seguenti:

  • Una riga di dati (SDA)
  • Una linea di clock (SCL)
  • Riga di interruzione
  • Una linea di alimentazione
  • Connessione a terra (GND)

Il diagramma seguente mostra le linee di segnale di connessione I²C tra un Touchpad di Precisione Windows e il relativo host Windows.

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

Quando ci si connette a un controller I²C, è importante comprendere le richieste di larghezza di banda di tutti i componenti che condividono tale controller. Per un modulo Touchpad precisione Windows è consigliabile una velocità di clock I²C minima di 400 KHz. È consigliabile che i controller touch screen e i controller touchpad di Precisione Windows non condividono lo stesso controller I²C, in quanto ciò può comportare richieste di larghezza di banda che superano la funzionalità del bus.

È consigliabile che la riga di interruzione (detta anche riga ATTN) sia connessa a un controller GPIO On-SoC o a un IOAPIC. Se si desidera la funzionalità di riattivazione, la risorsa GPIO o IOAPIC a cui è connessa la linea di interruzione deve essere in grado di svegliare il SoC per consentire al touchpad precisione di Windows di riattivare il sistema in vari scenari.

Se si decide di usare la funzionalità di riattivazione, la linea di alimentazione connessa al modulo Touchpad precisione Windows non deve essere condivisa con altri dispositivi che non supportano la riattivazione. Affinché gli scenari di riattivazione funzionino correttamente, la linea di alimentazione utilizzata deve essere eccitata durante le condizioni di standby connesso o S3.

Voci della tabella ACPI

Un dispositivo Touchpad di Precisione Windows connesso al relativo host Windows tramite il bus I²C deve definire una voce nella tabella ACPI per il riconoscimento del dispositivo. La voce deve specificare le informazioni seguenti:

Movimento Descrizione
Nome voce dispositivo ACPI Identificazione di 4 caratteri univoca per questa tabella ACPI, per fare riferimento al dispositivo. Ad esempio, "TPAD".
ACPI Hardware ID ID hardware ACPI a 4 caratteri + 4, per fare riferimento al dispositivo. L'ID hardware ACPI verrà esposto in Gestione dispositivi. Ad esempio, "MSFT0001".
ID compatibile Deve essere sempre "PNP0C50" per indicare che il dispositivo è compatibile con HID I²C.
I²C Controller Il controller I²C a cui è connesso il dispositivo deve essere specificato per comunicare con esso. Ad esempio, "I2C3" per rappresentare il controller #3).
Indirizzo slave I²C L'indirizzo slave I²C per il dispositivo deve essere specificato per consentire all'host di risolverlo. Ad esempio, "0x6F".
Velocità I²C La velocità massima supportata sia dal dispositivo che dal controller I²C deve essere specificata qui per garantire buone prestazioni di comunicazione. Questo non deve essere inferiore a 400 KHz (o 0x61A80 in esadecimale).
GPIO Controller Il controller GPIO a cui è connessa la riga di interruzione del dispositivo, deve essere specificato per consentire all'host di accedervi. Ad esempio, "GPIO0" - per controller zero (0).
Risorsa O Pin GPIO Il pin effettivo nel controller GPIO a cui è connessa la riga di interrupt del dispositivo, deve essere specificato per consentire all'host di associare il pin al dispositivo. Ad esempio, "{35}" per rappresentare il pin 35).
Tipo di risorsa GPIO In questo modo vengono definiti i vincoli relativi alla risorsa GPIO. Deve essere "Esclusivo" a meno che non si desideri riattivare SoC, nel qual caso dovrebbe essere "ExclusiveAndWake".
Tipo di asserzione interrupt GPIO In questo modo viene definito se il dispositivo fornirà interruzioni attivate dal perimetro o a livello di attivazione. I dispositivi conformi a HID I²C devono fornire e indicare interruzioni attivate a livello.
Livello di asserzione interrupt GPIO Questo definisce il livello di riga quando l'interrupt viene asserito dal dispositivo. Questa opzione può essere specificata come "ActiveLow" o "ActiveHigh".

Dispositivi USB

Un modulo Touchpad di Precisione Windows connesso all'host Windows tramite USB 2.0 ad alta velocità/velocità massima deve esporre i pin necessari per la connettività host.

Connessione ion all'host può assumere molte forme ed è a discrezione dell'integratore.

Si noti che quando ci si connette a un hub USB è importante comprendere le richieste di larghezza di banda di tutti i componenti che condividono tale hub. È consigliabile che i dispositivi a larghezza di banda elevata e i controller touchpad precisione Windows non convidano lo stesso hub USB, in quanto ciò può comportare richieste di larghezza di banda che superano la funzionalità del bus.

Dispositivi bridge USB (I²C -> USB)

Se si decide di usare un bridge USB per connettere un touchpad di Precisione Windows I²C al relativo host Windows, il bridge deve esporre il touchpad come nodo dispositivo distinto con gli attributi univoci del dispositivo (wVendorID, wProductID, wVersionID).

Dispositivi SPI HID

Un modulo Touchpad di Precisione windows viene definito come combinazione di un controller IC e di un sensore.

Un modulo touchpad di Windows che si connette al relativo host Windows tramite il bus SPI deve esporre almeno i cinque pin di connessione seguenti:

  • Una riga di dati (SDA)
  • Una linea di clock (SCL)
  • Una linea di selezione chip (SS)
  • Riga di interruzione
  • Una linea di alimentazione
  • Connessione a terra (GND)

Di seguito è riportato un diagramma delle linee di connessione tra un dispositivo Windows Touchpad e il relativo host Windows.

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

Voci della tabella ACPI

Un dispositivo Touchpad di Precisione Windows connesso tramite SPI deve definire una voce nella tabella ACPI (Advanced Configuration and Power Interface) dell'host, affinché il dispositivo venga riconosciuto dall'host. Per altre informazioni su ACPI, vedere Advanced Configuration and Power Interface Specification.For more information about ACPI, see Advanced Configuration and Power Interface Specification.

La voce della tabella ACPI deve specificare le informazioni descritte nell'articolo Supporto plug and play per HID su SPI .