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

注意

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

本主题讨论 Windows 笔设备的总线连接方法。

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

diagram showing the windows 11 driver stack for a windows pen device.

为了与 Windows 11 桌面版(家庭版、专业版、企业版和教育版)完全兼容,我们建议使用 Microsoft 提供的收件箱驱动程序。 如果你决定使用第三方微型端口驱动程序,则必须将此第三方驱动程序添加到相应的 OEM 和系统还原映像,然后使这些映像可在 Windows 更新上下载。

以下各部分提供了一些设备配置示例。

I²C 设备

集成的 Windows 笔模块定义为控制器 IC 和传感器的组合。

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

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

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

diagram showing the connections lines between a windows pen device and its windows host.

连接到 I²C 控制器时,了解共享该控制器的所有组件的带宽需求非常重要。 对于集成的 Windows 笔,建议使用 400 KHz 的最小 I²C 时钟速度。 强烈建议集成的 Windows 笔控制器不要与具有高带宽使用的组件共享相同的 I²C 控制器。

建议将中断线(也称为 ATTN 线)连接到 SoC 上 GPIO 控制器或 IOAPIC。 中断线路连接到的 GPIO 或 IOAPIC 资源应能够(并配置为)唤醒 SoC。 唤醒功能支持集成的 Windows 笔在各种情况下唤醒系统。

如果决定使用唤醒功能,则不应将连接到集成的 Windows 笔设备的电源线与其他不支持唤醒功能的设备共享。 为了使唤醒方案正常工作,在处于联网待机/S3 情况下,所使用的电源线必须是通电的。

ACPI 表条目

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

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

条目 说明
ACPI 设备条目名称 特定于此 ACPI 表的 4 字符标识,用于引用设备。 例如“WPEN”。
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 集线器,因为这可能会导致带宽需求超出总线所能提供的量。

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 pen device, for windows 11 and later operating systems.

ACPI 表条目

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

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