Windows 对 USB 类型 C 连接器的支持

本主题适用于想要构建具有 USB 类型 C 连接器的Windows 10系统的 OEM,并希望利用 OS 功能,以便通过广告牌设备实现更快的充电、供电、双重角色、备用模式和错误通知。

传统的 USB 连接使用两端都有 USB A 和 USB B 接头的电缆。 USB A 连接器始终插入主机端,USB B 连接器连接功能端,该功能端是手机) 或外设 (鼠标、键盘) 的设备 (。 使用这些连接器,只能将主机连接到函数;绝不是另一个主机的主机或另一个函数的函数。 主机是电源提供程序,函数消耗主机的电源。

传统配置会限制某些方案。 例如,如果移动设备想要连接到外围设备,则设备必须充当主机,并为连接的设备供电。

USB 3.1 规范中定义的 USB-IF 引入的 USB Type-C 连接器解决了这些限制。 Windows 10引入了对这些功能的本机支持。

usb 连接器比较。

功能摘要

  • 允许通过 USB Type-C 提供高达 100W 的电源更快地充电。
  • USB 主机和 USB 设备的单个连接器。
  • 可以切换 USB 角色以支持 USB 主机或设备。
  • 可以在寻源和下沉电源之间切换电源角色。
  • 支持其他协议,如 DisplayPort 和 Thunderbolt over USB Type-C。
  • 引入 USB 广告牌设备类,为备用模式提供错误通知。

官方规范

硬件设计

USB 类型 C 连接器是可逆且对称的。

USB 类型 C 对称电缆。

main组件是:USB Type-C 连接器及其端口或 PD 控制器,用于管理连接器的 CC 引脚逻辑。 此类系统通常具有双角色控制器,该控制器可将 USB 角色从主机交换为功能。 它具有 Display-Out 模块,允许通过 USB 传输视频信号。 (可选)它可以支持 BC1.2 充电器检测。

考虑针对 USB 组件的设计和开发建议,包括最低硬件要求、Windows 硬件兼容性计划要求以及基于这些要求构建的其他建议。 硬件组件指南 USB

选择驱动程序模型

使用此流程图确定 USB 类型 C 系统的解决方案。 司机。

如果系统... 建议的解决方案...
不实现 PD 状态机 将客户端驱动程序写入 UcmTcpciCx 类扩展。

编写 USB 类型 C 端口控制器驱动程序
在硬件或固件中实现 PD 状态机,并支持 USB 类型 C 连接器系统软件接口 (基于 ACPI 的 UCSI) 加载 Microsoft 提供的内置驱动程序、UcmUcsiCx.sys 和 UcmUcsiAcpiClient.sys。

请参阅 UCSI 驱动程序
在硬件或固件中实现 PD 状态机,但不支持 UCSI,或支持 UCSI,但需要 ACPI 以外的传输 为 UcmCx 类扩展编写客户端驱动程序。

编写 USB 类型 C 连接器驱动程序

编写 USB 类型 C 策略管理器客户端驱动程序
实现 UCSI,但需要 ACPI 以外的传输 将客户端驱动程序写入 UcmUcsiCx 类扩展。

使用 此示例模板 ,并根据硬件使用的传输对其进行修改。

编写 UCSI 客户端驱动程序

启动驱动程序

  • 仅当支持 USB 功能模式时,才需要启动 USB 函数驱动程序。 如果以前为 USB micro-B 连接器实现了 USB 函数驱动程序,请在 ACPI 表中将相应的连接器描述为 USB Type-C,以便 USB 函数驱动程序继续工作。

    有关详细信息,请参阅 有关编写 USB 函数驱动程序的说明

  • 只有具有同时具有主机和功能角色的双角色控制器的设备才需要 USB Role-Switch 驱动程序启动。 若要启动 USB Role-Switch 驱动程序,需要修改 ACPI 表以启用 Microsoft 内置 USB 角色切换驱动程序。

    有关详细信息,请参阅 启动 USB 角色交换机驱动程序的指南

  • Windows 需要使用 USB 连接器管理器驱动程序来管理系统上的 USB 类型 C 端口。 USB 连接器管理器驱动程序的启动任务取决于为 USB 类型 C 端口选择的驱动程序:Microsoft 内置 UCSI (UcmUcsiCx.sys 和 UcmUcsiAcpiClient.sys) 驱动程序、UcmCx 客户端驱动程序或 UcmTcpciCx 客户端驱动程序。 有关详细信息,请参阅上一部分中的链接,这些链接介绍如何为 USB Type-C 系统选择正确的解决方案。

测试

对公开 USB Type-C 连接器的系统和设备执行各种功能和压力测试。

  • 使用 USB Type-C ConnEx 测试 USB 类型 C 系统:运行 Windows Hardware Lab Kit (HLK) 中包含的 USB 测试。
  • 使用 C-to-A 电缆运行 USB 函数 HLK 测试:在 HLK 中搜索 Windows USB 设备
  • 认证和合规性:参加由标准机构主办的电源交付和 USB 类型 C 合规性研讨会。

另请参阅