设备总线连接 (touchpad-device-bus-connectivity)

注意

本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。

本主题讨论 Windows 精确式触摸板设备的总线连接方法。

Windows 精确式触摸板设备可以使用 Microsoft 提供的内置驱动程序通过基于 USB 的 HID、基于 I²C 的 HID 或(从 Windows 11 开始)基于 SPI 的 HID 连接到其 Windows 主机。 不过,你可以使用所需的任何其他总线,只要你为触摸板设备提供所需的与 Windows 兼容的第三方 HID 小型端口驱动程序即可。

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

I²C 设备

Windows 精确式触摸板模块定义为控制器 IC、传感器和任何关联机制的组合。

通过 I²C 总线连接到其 Windows 主机的 Windows 精确式触摸板模块至少必须公开以下五个连接引脚:

  • 数据线 (SDA)
  • 时钟线 (SCL)
  • 中断线
  • 电源线
  • 接地 (GND)

下图显示了 Windows 精确式触摸板与其 Windows 主机之间的 I²C 连接信号线。

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

连接到 I²C 控制器时,了解共享该控制器的所有组件的带宽需求非常重要。 对于 Windows 精确式触摸板模块,建议至少使用 400 KHz 的 I²C 时钟速度。 强烈建议不要让触摸屏控制器和 Windows 精确式触摸板控制器共享同一个 I²C 控制器,因为这可能会导致带宽需求超出总线所能提供的量。

建议将中断线(也称 ATTN 线)连接到 On-SoC GPIO 控制器或 IOAPIC。 如果需要唤醒功能,则中断线连接的 GPIO 或 IOAPIC 资源必须能够唤醒 SoC,以便让 Windows 精确式触摸板在不同情况下唤醒系统。

如果决定使用唤醒功能,则不应将连接到 Windows 精确式触摸板模块的电源线与其他不支持唤醒功能的设备共享。 为了使唤醒方案成功,在处于联网待机或 S3 情况下,所使用的电源线必须是通电的。

ACPI 表条目

通过 I²C 总线连接到其 Windows 主机的 Windows 精确式触摸板设备必须在 ACPI 表中定义一个条目,以使设备能够被识别。 该条目应指定以下信息:

条目 说明
ACPI 设备条目名称 特定于此 ACPI 表的 4 字符标识,用于引用设备。 例如“TPAD”。
ACPI 硬件 ID 4 字符 + 4 数字 ACPI 硬件 ID,用于引用设备。 ACPI 硬件 ID 将在设备管理器中公开。 例如“MSFT0001”。
兼容 ID 此项应始终为“PNP0C50”,表示设备与 HID I²C 兼容。
I²C 控制器 必须指定设备连接到的 I²C 控制器才能与之通信。 例如,“I2C3”表示控制器 3。
I²C 从属地址 必须指定设备的 I²C 从属地址,以便主机对其进行寻址。 例如“0x6F”(在十六进制中为 0x61A80)。
I²C 速度 应在此处指定设备和 I²C 控制器支持的最大速度,以确保良好的通信性能。 此项不应低于 400KHz。
GPIO 控制器 必须指定设备的中断线连接的 GPIO 控制器,以便主机对其进行访问。 例如,“GPIO0”表示控制器零 (0)。
GPIO 资源或引脚 必须指定设备的中断线连接的 GPIO 控制器上的实际引脚,以便主机将引脚与设备进行关联。 例如,“{35}”表示引脚 35。
GPIO 资源类型 这定义 GPIO 资源的约束。 除非需要 SoC 唤醒(在这种情况下,此项应为“ExclusiveAndWake”),否则此项应为“Exclusive”。
GPIO 中断断言类型 此项定义设备将提供边缘触发的中断还是电平触发的中断。 与 HID I²C 兼容的设备应提供并指示“电平”触发的中断。
GPIO 中断断言电平 此项定义设备对中断进行断言时的线路电平。 此项可以指定为“ActiveLow”或“ActiveHigh”。

USB 设备

通过高速/全速 USB 2.0 连接到其 Windows 主机的 Windows 精确式触摸板模块应公开进行主机连接所需的引脚。

与主机的连接可以采用多种形式,这取决于集成商。

请注意,连接到 USB 集线器时,了解共享该集线器的所有组件的带宽需求非常重要。 强烈建议不要让高带宽设备和 Windows 精确式触摸板控制器共享同一个 USB 集线器,因为这可能会导致带宽需求超出总线所能提供的量。

USB 桥接设备 (I²C -> USB)

如果决定使用某个 USB 桥将 I²C Windows 精确式触摸板连接到其 Windows 主机,则该桥应使用设备的独特属性(wVendorID、wProductID、wVersionID)将触摸板公开为独特的设备节点。

HID SPI 设备

Windows 精确式触摸板模块定义为控制器 IC 和传感器的组合。

通过 SPI 总线连接到其 Windows 主机的 Windows 触摸板模块至少必须公开以下五个连接引脚:

  • 数据线 (SDA)
  • 时钟线 (SCL)
  • 芯片选择线 (SS)
  • 中断线
  • 电源线
  • 接地 (GND)

下面是 Windows 触摸板设备与其 Windows 主机之间的连线图。

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

ACPI 表条目

通过 SPI 进行连接的 Windows 精确式触摸板设备必须在主机的高级配置和电源接口 (ACPI) 表中定义一个条目,以便主机识别该设备。 有关 ACPI 的详细信息,请参阅高级配置和电源接口规范

ACPI 表条目应指定基于 SPI 的 HID 的即插即用支持一文所述的信息。