体系结构:Windows 系统的 USB 类型 C 设计

适用于使用 USB 类型 C 连接器开发系统的 OEM

  • 使用 USB 类型 C 的 USB 双角色功能
  • 使用 USB 类型 C 当前级别和电源交付 2.0 加快充电速度
  • 使用备用模式和有线停靠体验Display-Out功能。

上次更新时间

  • 2016 年 12 月

Windows 版本

  • Windows 10 桌面版(家庭版、专业版、企业版和教育版)
  • Windows 10 移动版

介绍 USB Type-C 系统的典型硬件设计以及支持硬件组件的 Microsoft 提供的驱动程序。

用于支持 USB Type-C 组件的驱动程序

usb type-c software components.

在上图中,

  • USB 设备端驱动程序

    USB 设备端驱动程序为功能/设备/外设提供服务。 USB 功能控制器类扩展支持 MTP(媒体传输协议),并使用 BC 1.2 充电器进行充电。 Microsoft 为 Synopsys USB 3.0 和 ChipIdea USB 2.0 控制器提供随机客户端驱动程序。 可以通过使用 USB 功能控制器客户端驱动程序编程接口,为功能控制器编写自定义客户端驱动程序。 有关详细信息,请参阅为 USB 功能控制器开发 Windows 驱动程序

    SoC 供应商可能会为旧版专有充电器检测提供 USB 功能较低的筛选器驱动程序。 如果函数控制器是 Synopsys USB 3.0 或 ChipIdea USB 2.0 控制器,则可以实现自己的筛选器驱动程序

  • USB 主机端驱动程序

    USB 主机端驱动程序是适用于与 EHCI 或 XHCI 兼容的 USB 主机控制器的一组驱动程序。 如果角色切换驱动程序枚举主机角色,则会加载驱动程序。 如果主机控制器不符合规范,则可以使用 USB 主机控制器扩展 (UCX) 编程接口来写入自定义驱动程序。 有关信息,请参阅为 USB 主机控制器开发 Windows 驱动程序

    注意并非所有 USB 设备类都支持Windows 10 移动版。

  • USB 角色切换驱动程序 (URS)

    可以设计系统,使双角色 USB 端口需要Windows将其配置为主机或函数模式。 这些设计需要使用 USB 角色开关 (URS) 驱动程序堆栈。

    URS 驱动程序根据平台中的硬件事件管理连接器、主机或函数的当前角色,以及适当设备端或主机端驱动程序的加载和卸载。 Microsoft 为 Synopsys USB 3.0 和 ChipIdea USB 2.0 控制器提供随机客户端驱动程序。 可以使用 USB 双角色控制器驱动程序编程接口编写角色交换机客户端驱动程序。 若要激活角色切换驱动程序,必须对 ACPI 表进行更改。 有关详细信息,请参阅 USB 双角色驱动程序堆栈体系结构

    在具有 USB micro-AB 连接器的系统上,此决定基于连接器中的 ID 引脚做出。 ID 引脚检测由客户端驱动程序使用分配给它的中断资源执行。

    在 USB 类型 C 连接器的系统上,基于 CC 引脚做出决策。 连接器的客户端驱动程序执行 CC 检测并将该信息转发到角色交换机驱动程序。

  • USB 连接器管理器 (UCM)

    这组驱动程序管理 USB Type-C 连接器的所有方面。 如果系统通过 ACPI 实现符合 UCSI 的嵌入式控制器,请使用 Microsoft 提供的 UCSI 驱动程序。 否则,为非 ACPI 传输 编写 UCSI 客户端驱动程序

    如果硬件不符合 UCSI,则预期会 编写 USB Type-C 连接器驱动程序 ,该驱动程序是 UCM 类扩展的客户端。 它们共同管理 USB Type-C 连接器和连接器驱动程序的预期行为。

    如果要编写驱动程序,USB 连接器管理器类扩展遵循 WDF 类扩展客户端驱动程序模型。 客户端驱动程序与硬件和类扩展通信,以处理抄送检测、PD 消息传送、复用和 VBus/VConn 控件等任务,并选择用于电源传递和备用模式的策略。 类扩展将客户端驱动程序报告的信息传达给操作系统。 例如,CC 检测结果用于配置角色切换驱动程序;USB 类型 C/PD 电源信息用于确定系统应充电的级别。 客户端驱动程序管理 USB 类型 C 和 PD 状态机。 客户端驱动程序可以将某些任务委托给其他驱动程序,例如,Mux 可能由另一个驱动程序控制。 若要编写客户端驱动程序,请使用 USB Type-C 连接器驱动程序编程接口

    USB Type-C 端口控制器

    Type-C 端口控制器接口类扩展 (UcmTcpciCx.sys) 是 Microsoft 提供的 USB 连接器管理器的扩展,允许 OS 充当类型 C 端口管理器 (TCPM) ,该连接器不实现 PD 状态机。 UcmTcpciCx 客户端驱动程序允许软件 TCPM 控制硬件并实时获取其状态。

    有关编写客户端驱动程序的信息,请参阅 写入 USB 类型 C 端口控制器驱动程序

  • 收费仲裁驱动程序

    此驱动程序由 Microsoft 提供用于Windows 10 移动版。 驱动程序充当多个充电源的仲裁程序。 USB 连接器管理器将 USB Type-C 和 PD 充电源信息报告给 CAD,从该信息和 BC1.2 充电器检测中进行选择,USB 设备端驱动程序 ((如果适用)) 。 然后,CAD 将报告用于电池子系统的最合适的充电源。

  • 电池驱动程序

    类驱动程序定义系统中电池的整体功能,并与电源管理器进行交互。 微型类驱动程序处理设备特定的功能,例如添加和删除电池,并跟踪其容量和充电。 微型类驱动程序导出类驱动程序调用的例程,以获取其控制的设备的相关信息。