设备总线连接 (touchscreen-device-bus-connectivity)
注意
本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。
本主题讨论集成式 Windows 触摸屏设备的总线连接方法。
集成式 Windows 触摸屏设备可以使用 Microsoft 提供的内置驱动程序通过基于 USB 的 HID、基于 I²C 的 HID 或(从 Windows 11 开始)基于 SPI 的 HID 连接到 Windows 主机。 不过,你可以使用所需的任何其他总线,前提是为触摸屏设备提供所需的与 Windows 兼容的第三方 HID 小型端口驱动程序。 下图显示了 Windows 触摸屏设备的 Windows 10 驱动程序堆栈。
请注意,为了与 Windows 11 桌面版(家庭版、专业版、企业版和教育版)完全兼容,建议尽可能使用 Windows 内置驱动程序。 如果必须使用第三方小型端口驱动程序,则必须将此第三方驱动程序添加到相应的 OEM 和系统还原映像,然后使这些映像可在 Windows 更新上下载。
以下部分介绍了一些设备配置示例。
I²C 设备
Windows 触摸屏模块定义为控制器 IC、传感器和任何关联机制的组合。
通过 I²C 总线连接到其 Windows 主机的 Windows 触摸屏模块至少必须公开以下五个连接引脚:
- 数据线 (SDA)
- 时钟线 (SCL)
- 中断线
- 电源线
- 接地 (GND)
下面是 Windows 触摸屏设备与其 Windows 主机之间的连线图。
连接到 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 主机之间的连线图。
ACPI 表条目
通过 SPI 进行连接的 Windows 触摸屏设备必须在主机的高级配置和电源接口 (ACPI) 表中定义一个条目,以便主机识别该设备。 有关 ACPI 的详细信息,请参阅高级配置和电源接口规范。
ACPI 表条目应指定基于 SPI 的 HID 的即插即用支持一文所述的信息。