Condividi tramite


Connettività del bus di dispositivo (connettività pen-device-bus)

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 Penna di Windows.

Un dispositivo penna Windows integrato può usare i driver di 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, è possibile usare qualsiasi altro bus desiderato, purché si forniscano i driver di mini-porta HID di terze parti necessari per il dispositivo penna. Il diagramma seguente mostra lo stack di driver Windows 11 per un dispositivo Penna di Windows.

diagramma che mostra lo stack di driver windows 11 per un dispositivo penna windows.

Per la compatibilità completa con Windows 11 per le edizioni desktop (Home, Pro, Enterprise e Education), è consigliabile usare i driver di posta in arrivo forniti da Microsoft. Se si decide di usare un driver mini-port di terze parti, è necessario aggiungere questo driver di terze parti all'OEM appropriato e alle immagini di Ripristino di sistema e quindi rendere disponibili queste immagini per il download in Windows Update.

Le sezioni seguenti presentano alcuni esempi di configurazioni dei dispositivi.

Dispositivi I²C

Un modulo penna windows integrato è definito come combinazione di un controller IC e di un sensore.

Un modulo penna di Windows che si connette all'host Windows tramite il bus I²C deve, almeno, esporre i cinque pin di connessione seguenti:

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

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

diagramma che mostra le linee di connessione tra un dispositivo penna windows e il relativo host windows.

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. È consigliabile una velocità minima di clock I²C di 400 KHz per una penna Windows integrata. È consigliabile che i controller penna Windows integrati non condividono lo stesso controller I²C con componenti con utilizzo elevato della larghezza di banda.

È consigliabile connettere la linea di interruzione (detta anche linea ATTN) a un controller GPIO on-SoC o a un IOAPIC. La risorsa GPIO o IOAPIC a cui è connessa la riga di interruzione, deve essere in grado di riattivare il SoC (e configurato per). La funzionalità di riattivazione consente alla penna di Windows integrata di riattivare il sistema in vari scenari.

Se si decide di usare la funzionalità di riattivazione, la linea di alimentazione connessa al dispositivo penna windows integrato non deve essere condivisa con altri dispositivi che non sono compatibili con la riattivazione. Affinché gli scenari di riattivazione funzionino correttamente, la linea di alimentazione usata deve essere energizzata durante le condizioni di standby/S3 connesse.

Voci di tabella ACPI

Un dispositivo penna Windows connesso tramite I²C deve definire una voce nella tabella Advanced Configuration and Power Interface (ACPI) dell'host, affinché il dispositivo venga riconosciuto dall'host. Per altre informazioni su ACPI, vedere Configurazione avanzata e specifica di Power Interface.

La voce della tabella ACPI deve specificare le informazioni seguenti:

Voce Descrizione
Nome voce del dispositivo ACPI Identificazione a 4 caratteri univoca per la tabella ACPI, per fare riferimento al dispositivo. Ad esempio, "WPEN".
ACPI Hardware ID ID hardware ACPI a 4 caratteri + 4 per fare riferimento al dispositivo. Questa operazione viene esposta in Gestione dispositivi. Ad esempio, "MSFT0001".
ID compatibile Questo deve essere sempre "PNP0C50" per indicare che il dispositivo è compatibile con HID I²C.
I²C Controller Specifica un controller I²C nell'host Windows. Questo controller viene usato per connettere la penna all'host Di Windows e consente alla penna e all'host di comunicare. Ad esempio, "I2C3" per indicare il controller I²C #3.
Indirizzo slave I²C Specifica l'indirizzo slave I²C per il dispositivo. L'host usa questo indirizzo per definire il dispositivo penna sul bus I²C per la comunicazione. Ad esempio, "0x6F".
Velocità I²C Specifica la velocità massima supportata sia dal dispositivo che dal controller I²C. La specifica della velocità nella tabella ACPI garantisce una comunicazione affidabile. Questa velocità non deve essere inferiore a 400KHz (0x61A80).
GPIO Controller Controller GPIO a cui è connessa la linea di interruzione della penna. Questo indica all'host dove "ascoltare" i segnali di interruzione. Ad esempio, "GPIO0" per indicare il controller GPIO #0.
Risorsa GPIO/Pin Il pin del controller GPIO a cui è connessa la linea di interruzione della penna. L'host associa quindi questo pin GPIO specifico ai segnali di interruzione dalla penna. Ad esempio, "{35}" per indicare il pin 35.
Tipo di risorsa GPIO Definisce i vincoli relativi alla risorsa GPIO. Questa voce per la tabella ACPI deve essere impostata su "Esclusiva" a meno che non si voglia selezionare Riattivazione soC. Se si decide di selezionare SoC Wake, impostare questa voce su "ExclusiveAndWake".
Tipo di asserzione di interruzione GPIO Definisce il tipo di attivazione che la penna fornirà per i relativi interruzioni. Questo può essere "Attivato da Edge" o "Trigger a livello". I dispositivi conformi a HID I²C devono usare gli interruzioni "Trigger a livello".
Livello di asserzione di interruzione GPIO Definisce il livello di tensione sulla linea di interruzione, quando l'interruzione viene asserta dal dispositivo. Questa opzione può essere specificata come "ActiveLow" o "ActiveHigh".

Dispositivi USB

Un modulo penna Windows integrato ad alta velocità/velocità elevata connesso tramite USB 2.0, deve esporre i pin necessari per la connettività host.

La connessione 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 l'hub. È consigliabile che i dispositivi a larghezza di banda elevata e i controller di penna Windows integrati non condividono lo stesso hub USB, perché ciò può causare richieste di larghezza di banda che superano la funzionalità del bus.

Dispositivi bridge USB (I²C -> USB)

Se si usa un bridge USB per connettere una penna windows I²C integrata all'host, il bridge deve esporre la penna di Windows integrata come nodo dispositivo distinto, con gli attributi univoci del dispositivo (wVendorID, wProductID, wVersionID).

Dispositivi HID SPI

Un modulo Penna di Windows è definito come combinazione di un controller IC e di un sensore.

Un modulo penna di Windows che si connette all'host Windows tramite il bus SPI deve, almeno, esporre i cinque pin di connessione seguenti:

  • Una riga di dati (SDA)
  • Linea di orologio (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 Pen e il relativo host Windows.

diagramma che mostra lo stack di driver per un dispositivo penna windows integrato, per i sistemi operativi windows 11 e versioni successive.

Voci di tabella ACPI

Un dispositivo Penna windows connesso tramite SPI deve definire una voce nella tabella Advanced Configuration and Power Interface (ACPI) dell'host, affinché il dispositivo venga riconosciuto dall'host. Per altre informazioni su ACPI, vedere Configurazione avanzata e specifica di Power Interface.

La voce della tabella ACPI deve specificare le informazioni descritte nell'articolo Plug and Play supporto per HID su SPI.