Compartir a través de


Conectividad de Device Bus (touchpad-device-bus-connectivity)

Nota:

Este artículo contiene referencias al término esclavo, un término que Microsoft ya no usa. Cuando se quite el término del software, se quitará también del artículo.

En este tema se describen los métodos de conectividad de bus para un dispositivo de panel táctil de precisión de Windows.

Un dispositivo Windows Precision Touchpad puede usar los controladores de bandeja de entrada proporcionados por Microsoft para conectarse a su host de Windows, usando HID sobre USB, HID sobre I²C o (a partir de Windows 11) HID sobre SPI. No obstante, puede usar cualquier otro bus que desee, siempre que proporcione el controlador de minipuerto HID de terceros compatible con Windows necesario para el dispositivo del panel táctil.

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

Dispositivos I²C

Un módulo de panel táctil de precisión de Windows se define como la combinación de un circuito integrado de controlador, un sensor y cualquier mecanismo asociado.

Un módulo de panel táctil de precisión de Windows que esté conectado a su host de Windows a través del bus I²C debe, como mínimo, exponer los cinco pines de conexión siguientes:

  • Una línea de datos (SDA)
  • Una línea de reloj (SCL)
  • Una línea de interrupción
  • Una línea de fuente de alimentación
  • Una conexión a tierra (GND)

En el diagrama siguiente se muestran las líneas de señal de conexión de I²C entre un Panel táctil de precisión de Windows y su host de Windows.

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

Al conectarse a un controlador I²C, es importante comprender las demandas de ancho de banda de todos los componentes que comparten ese controlador. Se recomienda una velocidad mínima de reloj I²C de 400 KHz para un módulo de Panel táctil de precisión de Windows. Se recomienda encarecidamente que los controladores de las pantallas táctiles y los controladores del panel táctil de precisión de Windows no compartan el mismo controlador I²C, ya que esto puede dar lugar a demandas de ancho de banda que superen la capacidad del bus.

Se recomienda conectar la línea de interrupción (también denominada línea ATTN) a un controlador GPIO On-SoC o a un IOAPIC. Si se quiere una funcionalidad de activación, el recurso GPIO o IOAPIC al que está conectada la línea de interrupción debe ser capaz de activar el SoC para permitir que el panel táctil de precisión de Windows active el sistema en diversos escenarios.

Si decide usar la función de activación, la línea de alimentación que está conectada al módulo del panel táctil de precisión de Windows no debe estar compartida con otros dispositivos que no tengan capacidad de activación. Para que los escenarios de activación funcionen correctamente, la línea eléctrica que se use debe estar energizada durante las condiciones de espera conectada o S3.

Entradas de tabla ACPI

Un dispositivo de panel táctil de precisión de Windows que esté conectado a su host de Windows a través del bus I²C debe definir una entrada en la tabla ACPI para que se reconozca el dispositivo. La entrada debe especificar la siguiente información:

Entrada Descripción
Nombre de entrada de dispositivo ACPI Una identificación de 4 caracteres única para esta tabla ACPI, para hacer referencia al dispositivo. Por ejemplo, "TPAD".
Id. de hardware ACPI Identificador de hardware ACPI de 4 caracteres + 4 números, para hacer referencia al dispositivo. El identificador de hardware ACPI se expondrá en el administrador de dispositivos. Por ejemplo, "MSFT0001".
Id. compatible Esto siempre debe ser "PNP0C50" para indicar que el dispositivo es compatible con HID I²C.
Controlador I²C El controlador I²C al que está conectado el dispositivo debe especificarse para comunicarse con él. Por ejemplo, "I2C3" para representar el controlador #3).
Dirección esclava I²C Debe especificarse la dirección esclava I²C del dispositivo para que el host pueda abordarlo. Por ejemplo, "0x6F".
Velocidad I²C La velocidad máxima admitida por el dispositivo y el controlador I²C deben especificarse aquí para garantizar un buen rendimiento de las comunicaciones. Esto no debe ser inferior a 400 KHz (o 0x61A80 en hexadecimal).
Controlador GPIO Se debe especificar el controlador GPIO al que está conectada la línea de interrupción del dispositivo para permitir que el host acceda a él. Por ejemplo, "GPIO0" para el controlador cero (0).
Recurso o pin de GPIO El pin real del controlador GPIO al que está conectada la línea de interrupción del dispositivo, debe especificarse para permitir que el host asocie el pin con el dispositivo. Por ejemplo, "{35}" para representar el pin 35).
Tipo de recurso GPIO Esto define las restricciones alrededor del recurso GPIO. Debe ser "Exclusivo", a menos que se desee la reactivación de SoC, en cuyo caso, debe ser "ExclusiveAndWake".
Tipo de aserción de interrupción de GPIO Esto define si el dispositivo proporcionará interrupciones desencadenadas por el borde o desencadenadas por el nivel. Los dispositivos compatibles con HID I²C deben proporcionar e indicar interrupciones desencadenadas por "Nivel".
Nivel de aserción de interrupción de GPIO Esto define el nivel de línea cuando el dispositivo declara la interrupción. Se puede especificar como "ActiveLow" o "ActiveHigh".

Dispositivos USB

Un módulo de panel táctil de precisión de Windows que esté conectado a su host de Windows a través de USB 2.0 de alta velocidad/velocidad completa, debería exponer los pines necesarios para la conectividad con el host.

La conexión al host puede adoptar muchas formas y es a discreción del integrador.

Tenga en cuenta que al conectarse a un concentrador USB es importante comprender las demandas de ancho de banda de todos los componentes que comparten ese concentrador. Se recomienda encarecidamente que los dispositivos de gran ancho de banda y los controladores del panel táctil de precisión de Windows no compartan el mismo centro de conectividad USB, ya que esto podría dar lugar a demandas de ancho de banda que superen la capacidad del bus.

Dispositivos de puente USB (USB I²C ->)

Si decide usar un puente USB para conectar un panel táctil de precisión de Windows I²C a su host de Windows, el puente deberá exponer el panel táctil como un nodo de dispositivo distinto con los atributos exclusivos del dispositivo (wVendorID, wProductID, wVersionID).

Dispositivos HID SPI

Un módulo de panel táctil de precisión de Windows se define como la combinación de un circuito integrado de controlador y un sensor.

Un módulo de panel táctil de Windows que se conecte a su host de Windows a través del bus SPI debe, como mínimo, exponer los cinco pines de conexión siguientes:

  • Una línea de datos (SDA)
  • Una línea de reloj (SCL)
  • Una línea de selección de chip (SS)
  • Una línea de interrupción
  • Una línea de fuente de alimentación
  • Una conexión a tierra (GND)

A continuación se muestra un diagrama de las líneas de conexión entre un dispositivo de panel táctil de Windows y su host de Windows.

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

Entradas de tabla ACPI

Un dispositivo de panel táctil de precisión de Windows que se conecte a través de SPI debe definir una entrada en la tabla de la Interfaz avanzada de configuración y energía (ACPI) del host, para que el dispositivo sea reconocido por este último. Para más información sobre ACPI, consulte Especificación de la interfaz avanzada de configuración y energía.

La entrada de la tabla de ACPI debe especificar la información tal y como se describe en el artículo Compatibilidad de Plug and Play para HID sobre SPI.