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

注意

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

本主题讨论集成式 Windows 触摸屏设备的总线连接方法。

集成式 Windows 触摸屏设备可以使用 Microsoft 提供的内置驱动程序通过基于 USB 的 HID、基于 I²C 的 HID 或(从 Windows 11 开始)基于 SPI 的 HID 连接到 Windows 主机。 不过,你可以使用所需的任何其他总线,前提是为触摸屏设备提供所需的与 Windows 兼容的第三方 HID 小型端口驱动程序。 下图显示了 Windows 触摸屏设备的 Windows 10 驱动程序堆栈。

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

请注意,为了与 Windows 11 桌面版(家庭版、专业版、企业版和教育版)完全兼容,建议尽可能使用 Windows 内置驱动程序。 如果必须使用第三方小型端口驱动程序,则必须将此第三方驱动程序添加到相应的 OEM 和系统还原映像,然后使这些映像可在 Windows 更新上下载。

以下部分介绍了一些设备配置示例。

I²C 设备

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

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

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

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

diagram showing the connection lines between a windows touchscreen device and its windows host.

连接到 I²C 控制器时,了解共享该控制器的所有组件的带宽需求非常重要。 对于 Windows 触摸屏设备,建议至少使用 400 KHz 的 I²C 时钟速度。

建议将中断线(也称为 ATTN 线)连接到 On-SoC GPIO 控制器或 IOAPIC。 中断线连接的 GPIO 或 IOAPIC 资源应该能够(并配置为)唤醒 SoC。 唤醒功能允许 Windows 触摸屏在各种情况下唤醒系统。

如果决定使用唤醒功能,则不应将连接到 Windows 触摸屏设备的电源线与其他不支持唤醒功能的设备共享。 为了使唤醒方案正常工作,在连接待机/S3 条件下,所使用的电源线必须是通电的。

ACPI 表条目

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

ACPI 表条目应指定以下信息:

条目 说明
ACPI 设备条目名称 ACPI 表独有的 4 字符标识,用于引用设备。 例如“TOUC”。
ACPI 硬件 ID 4 字符 + 4 数字 ACPI 硬件 ID,用于引用设备。 这在设备管理器中公开。 例如“MSFT0001”。
兼容 ID 此项应始终为“PNP0C50”,表示设备与 HID I²C 兼容。
I²C 控制器 指定 Windows 主机上的 I²C 控制器。 此控制器用于将触摸屏连接到 Windows 主机,并使触摸屏和主机能够进行通信。 例如,“I2C3”表示 I²C 控制器 #3。
I²C 从属地址 指定设备的 I²C 从属地址。 主机使用此地址在 I²C 总线上挑出触摸屏设备进行通信。 例如“0x6F”。
I²C 速度 指定设备和 I²C 控制器支持的最大速度。 在 ACPI 表中指定速度可确保可靠的通信。 此速度不应低于 400KHz (0x61A80)。
GPIO 控制器 触摸屏设备的中断线连接到的 GPIO 控制器。 此条目告诉主机在哪里“侦听”中断信号。 例如,“GPIO0”表示 GPIO 控制器 #0。
GPIO 资源/引脚 触摸屏设备的中断线连接到的 GPIO 控制器引脚。 然后,主机将此特定 GPIO 引脚与来自触摸屏的中断信号相关联。 例如,“{35}”表示引脚 35。
GPIO 资源类型 定义 GPIO 资源的约束。 ACPI 表的此条目应设置为“独占”,除非要选择 SoC 唤醒。 如果决定选择“SoC 唤醒”,请将此条目设置为“ExclusiveAndWake”。
GPIO 中断断言类型 定义触摸屏设备将为其中断提供的触发类型。 这可以是“边缘触发”或“电平触发”。与 HID I²C 兼容的设备应使用“电平触发”中断。
GPIO 中断断言电平 当设备断言中断时,定义中断线路上的电压电平。 此项可以指定为“ActiveLow”或“ActiveHigh”。

USB 设备

通过 USB 2.0 连接的高速/全速集成式 Windows 触摸屏设备应公开主机连接所需的引脚。

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

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

HID SPI 设备

Windows 触摸屏模块定义为控制器 IC 和传感器的组合。

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

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

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

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

ACPI 表条目

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

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