Connettività del bus di dispositivo (touchscreen-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 touchscreen windows integrato.
Un dispositivo touchscreen windows integrato 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, è possibile usare qualsiasi altro bus desiderato, purché si forniscano i driver di mini-porta HID di terze parti necessari per il dispositivo touchscreen. Il diagramma seguente illustra lo stack di driver Windows 10 per un dispositivo touchscreen windows.
Si noti che per la compatibilità completa con Windows 11 per le edizioni desktop (Home, Pro, Enterprise e Education), è consigliabile usare i driver della posta in arrivo di Windows ogni volta che è possibile. E se è necessario usare un driver mini-port di terze parti, è necessario aggiungere questo driver di terze parti all'OEM appropriato e le 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 Touchscreen di Windows è definito come combinazione di un controller IC, un sensore e qualsiasi meccanismo associato.
Un modulo Touchscreen 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 Touchscreen di 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. La velocità minima dell'orologio I²C di 400 KHz è consigliata per un dispositivo Touchscreen di Windows.
È 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 al touchscreen di Windows di riattivare il sistema in vari scenari.
Se si decide di usare la funzionalità di riattivazione, la linea di alimentazione connessa al dispositivo Touchscreen di Windows 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 Touchscreen 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, "TOUC". |
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 il touchscreen all'host Di Windows e consente al touchscreen 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 individuare il dispositivo Touchscreen 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 riga di interruzione del dispositivo Touchscreen. Questo indica all'host dove "ascoltare" i segnali di interruzione. Ad esempio, "GPIO0" per indicare il controller GPIO #0. |
Risorsa GPIO/Pin | Il controller GPIO viene aggiunto a cui è connessa la riga di interruzione del dispositivo Touchscreen. L'host associa quindi questo pin GPIO specifico ai segnali di interruzione dal touchscreen. 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 il dispositivo Touchscreen 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 dispositivo Touchscreen Windows con velocità elevata/full-speed 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 Touchscreen windows non condividono lo stesso hub USB, in quanto ciò può causare richieste di larghezza di banda che superano la funzionalità del bus.
Dispositivi HID SPI
Un modulo Touchscreen di Windows è definito come combinazione di un ic controller e di un sensore.
Un modulo Touchscreen 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 Touchscreen di Windows e il relativo host Windows.
Voci di tabella ACPI
Un dispositivo Touchscreen 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.