为 USB 类型 C 连接器开发 Windows 驱动程序的概述
如果 USB Type-C 系统未实现 PD 状态机,或者它实现了状态机,但不支持通过非 ACPI 传输 UCSI,则需要为连接器编写驱动程序。 如果存在,可以加载 Microsoft 提供的 UCSI 驱动程序。
建议的解决方案
下表建议基于硬件或固件功能的解决方案:
硬件/固件功能 | 不可分离 | 加载项卡 |
---|---|---|
USB Type-C 连接器没有 PD 状态机。 | 将客户端驱动程序写入 UcmTcpciCx。 从 UcmTcpciCx 端口控制器客户端驱动程序开始 |
将客户端驱动程序写入 UcmCx。 从 UcmCx 示例开始。 |
连接器与 ACPI 兼容 UCSI。 | 加载内置驱动程序,UcmUcsiCx.sys 和 UcmUcsiAcpiClient。 请参阅 USB Type-C 连接器系统软件接口 (UCSI) 驱动程序。 | N/A |
连接器符合 UCSI,没有 ACPI。 | 将客户端驱动程序写入 UcmUcsiCx。 有关详细信息,请参阅 编写 UCSI 客户端驱动程序。 从 UcmCx 示例 开始,将 ACPI 部分替换为所需总线的实现。 |
将客户端驱动程序写入 UcmCx。 |
具有 PD 状态机,但不符合 UCSI。 | 将客户端驱动程序写入 UcmCx。 从 UcmCx 示例开始。 |
将客户端驱动程序写入 UcmCx 从 UcmCx 示例开始。 |
本节内容
若要实现上表中建议的解决方案,请阅读以下主题:
主题 | 说明 |
---|---|
体系结构:Windows 系统的 USB 类型 C 设计 | 介绍 USB Type-C 系统的典型硬件设计,以及支持硬件组件的 Microsoft 提供的驱动程序。 |
在 USB 类型 C Windows 系统上启动功能控制器 | 功能控制器的驱动程序会通知操作系统其 USB Type-C 连接器支持的充电级别,并在电池子系统可以开始充电以及设备可以消耗的最大电流量时通知电池子系统。 |
为 USB 类型 C Windows 系统启动双角色控制器 | URS) (USB 角色切换驱动程序是一组 WDF 类扩展及其客户端驱动程序,用于处理双角色控制器的角色切换功能。 如果系统具有双角色控制器,则可以根据连接到系统 USB Type-C 连接器的伙伴端口的设备切换系统角色。 这允许有趣的方案,如有线停靠。 |
编写 USB 类型 C 连接器驱动程序 | 介绍 USB 连接器管理器 (UCM) ,用于管理 USB 类型 C 连接器和连接器驱动程序的预期行为。 |
编写 USB 类型 C 端口控制器驱动程序 | 介绍如何编写 USB Type-C 端口控制器驱动程序,该驱动程序在没有 PD 状态机的情况下与 USB Type-C 连接器通信。 |
编写 UCSI 客户端驱动程序 | 介绍如何为使用非 ACPI 传输的符合 UCSI 的控制器编写驱动程序。 |
编写 USB 类型 C 策略管理器客户端驱动程序 | Microsoft 提供的 USB Type-C 策略管理器监视 USB 类型 C 连接器的活动。 Windows 版本 1809 引入了一组编程接口,可用于将客户端驱动程序写入策略管理器。 客户端驱动程序可以参与 USB 类型 C 连接器的策略决策。 通过此设置,可以选择编写内核模式导出驱动程序或用户模式驱动程序。 |
相关章节
- (URS) 客户端驱动程序编写 USB 角色切换
- USB 双角色控制器驱动程序编程参考
- 编写 USB 函数客户端驱动程序
- USB function controller programming reference(USB 功能控制器编程参考)