为 USB 类型 C 连接器开发 Windows 驱动程序的概述

如果 USB Type-C 系统未实现 PD 状态机,或者它实现状态机,但不支持非 ACPI 传输的 UCSI,则需要为连接器编写驱动程序。 如果这样做,可以加载 Microsoft 提供的 UCSI 驱动程序

显示用于实现 UcmTcpciCx 客户端驱动程序的决策过程的流程图。

建议的解决方案

下表建议基于硬件或固件功能的解决方案:

硬件/固件功能 不可分离 附加卡片
USB Type-C 连接器没有 PD 状态机。 将客户端驱动程序写入 UcmTcpciCx

UcmTcpciCx 端口控制器客户端驱动程序开始
将客户端驱动程序写入 UcmCx

UcmCx 示例开始。
连接器符合 ACPI 的 UCSI。 加载内置驱动程序、UcmUcsiCx.sys和 UcmUcsiAcpiClient。 请参阅 USB Type-C 连接器系统软件接口 (UCSI) 驱动程序 空值
连接器符合 UCSI 标准,无需 ACPI。 将客户端驱动程序写入 UcmUcsiCx。 有关详细信息,请参阅 编写 UCSI 客户端驱动程序

UcmCx 示例 开始,并将 ACPI 部分替换为所需总线的实现。
将客户端驱动程序写入 UcmCx
具有 PD 状态机,但不符合 UCSI。 将客户端驱动程序写入 UcmCx

UcmCx 示例开始。
将客户端驱动程序写入 UcmCx</br
UcmCx 示例开始。

本节内容

若要实现上表中建议的解决方案,请阅读以下主题:

主题 描述
体系结构:Windows 系统的 USB 类型 C 设计 介绍 USB Type-C 系统的典型硬件设计以及支持硬件组件的 Microsoft 提供的驱动程序。
在 USB 类型 C Windows 系统上启动功能控制器 函数控制器的驱动程序通知操作系统其 USB Type-C 连接器支持的充电级别,并在电池子系统可以开始充电时通知电池子系统,并且设备可以绘制的最大当前量。
为 USB 类型 C Windows 系统启动双角色控制器 USB 角色交换机驱动程序 (URS) 是一组 WDF 类扩展及其客户端驱动程序,用于处理双角色控制器的角色切换功能。 如果系统具有双重角色控制器,则可以根据附加到系统的 USB Type-C 连接器的合作伙伴端口的设备来切换系统的角色。 这允许有趣的方案,如有线停靠。
编写 USB 类型 C 连接器驱动程序 介绍 USB 连接器管理器 (UCM) ,用于管理 USB Type-C 连接器和连接器驱动程序的预期行为。
编写 USB 类型 C 端口控制器驱动程序 介绍如何编写 USB Type-C 端口控制器驱动程序,该驱动程序与没有 PD 状态机的 USB Type-C 连接器通信。
编写 UCSI 客户端驱动程序 介绍如何为使用非 ACPI 传输的符合 UCSI 的控制器编写驱动程序。
编写 USB 类型 C 策略管理器客户端驱动程序 Microsoft 提供的 USB Type-C 策略管理器监视 USB 类型 C 连接器的活动。 Windows 版本 1809 引入了一组编程接口,可用于将客户端驱动程序写入 Policy Manager。 客户端驱动程序可以参与 USB 类型 C 连接器的策略决策。 通过此设置,可以选择编写内核模式导出驱动程序或用户模式驱动程序。

请参阅

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