对 USB Type-C 连接器的 Windows 支持

本文适用于想要使用 USB Type-C 连接器构建 Windows 系统的 OEM。 可以使用操作系统的功能,通过 Billboard 设备加快充电,提供电源,支持双重角色、替代模式,并发送错误通知。

传统的 USB 连接在每个端使用带有 USB A 和 USB B 连接器的电缆。 USB A 连接器始终插入主机端,USB B 连接器连接功能端,即设备(手机)或外围设备(鼠标、键盘)。 使用这些连接器,只能将主机连接到函数,不能将主机连接到另一个主机,也不能将函数连接到另一个函数。 主机是电源供应者,这个功能使用来自主机的电源。

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

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

用于比较的微型 USB 和 USB Type-C 连接器的图片。

功能摘要

  • 支持更快的充电,通过 USB-C 接口可实现高达 100 瓦的功率传输(PD)。
  • 对 USB 主机和 USB 设备使用单个连接器。
  • 切换 USB 角色以支持 USB 主机或设备。
  • 在供应和吸收电源之间切换电源角色。
  • 支持其他协议,例如 DisplayPort 和 Thunderbolt over USB Type-C。
  • 介绍 USB 广告牌设备类,为备用模式提供错误通知。

官方规范

硬件设计

USB Type-C 连接器是可逆的和对称的。

USB Type-C 对称电缆的图片。

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

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

选择驱动程序模型

使用此流程图确定 USB Type-C 系统的解决方案。

用于确定 USB Type-C 系统解决方案的流程图。

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

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

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

编写 USB Type-C 连接器驱动程序

编写 USB Type-C Policy Manager 客户端驱动程序
实现 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 Type-C 端口。 USB 连接器管理器驱动程序的启动工作取决于你为 USB Type-C 端口选择的驱动程序:Microsoft 内置 UCSI(UcmUcsiCx.sys 和 UcmUcsiAcpiClient.sys)驱动程序、UcmCx 客户端驱动程序或 UcmTcpciCx 客户端驱动程序。 有关详细信息,请参阅上一部分中的链接,这些链接介绍如何为 USB Type-C 系统选择合适的解决方案。

测试

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

  • 使用 USB Type-C ConnEx 测试 USB Type-C 系统:运行 Windows 硬件实验室工具包(HLK)中包含的 USB 测试。
  • 使用 C-to-A 电缆运行 USB 函数 HLK 测试:在 HLK 中搜索 Windows USB 设备
  • 认证和符合性:参加标准机构主办的电源交付和 USB Type-C 合规性研讨会。

另请参阅