设备总线连接 (touchpad-device-bus-connectivity)
注意
本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。
本主题讨论 Windows 精确式触摸板设备的总线连接方法。
Windows 精确式触摸板设备可以使用 Microsoft 提供的内置驱动程序通过基于 USB 的 HID、基于 I²C 的 HID 或(从 Windows 11 开始)基于 SPI 的 HID 连接到其 Windows 主机。 不过,你可以使用所需的任何其他总线,只要你为触摸板设备提供所需的与 Windows 兼容的第三方 HID 小型端口驱动程序即可。
I²C 设备
Windows 精确式触摸板模块定义为控制器 IC、传感器和任何关联机制的组合。
通过 I²C 总线连接到其 Windows 主机的 Windows 精确式触摸板模块至少必须公开以下五个连接引脚:
- 数据线 (SDA)
- 时钟线 (SCL)
- 中断线
- 电源线
- 接地 (GND)
下图显示了 Windows 精确式触摸板与其 Windows 主机之间的 I²C 连接信号线。
连接到 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 主机之间的连线图。
ACPI 表条目
通过 SPI 进行连接的 Windows 精确式触摸板设备必须在主机的高级配置和电源接口 (ACPI) 表中定义一个条目,以便主机识别该设备。 有关 ACPI 的详细信息,请参阅高级配置和电源接口规范。
ACPI 表条目应指定基于 SPI 的 HID 的即插即用支持一文所述的信息。