硬件设计:USB 类型 C 系统

下面是 USB Type-C 系统的一些示例设计。

典型的 USB Type-C 系统具有以下组件:

  • USB Dual-Role 控制器 能够以主机角色或功能/设备/外设角色运行。 此组件已集成到 SoC 中。
  • 电池充电 1.2 检测 可能集成到某些 SoC 中。 某些 SoC 供应商提供实现检测逻辑的 PMIC 模块,其他供应商在软件中实现。 Windows 10 移动版支持所有这些选项。 请联系 SoC 供应商以获取有关此组件的详细信息。
  • Type-C -PD 端口控制器 管理 USB Type-C 连接器上的 CC 引脚。 支持电源传送消息的 BMC 编码/解码。 此组件未集成到大多数 SoC 中。
  • 复用函数 根据 Type-C 端口控制器检测到的方向,将超高速 USB 与控制器上的端口配对。 进入备用模式时,其他位置 (通常显示模块) 多路复用超速对和可能的 SBU 线。
  • 需要 VBus/VConn 源。 大多数 PMIC 实现 VBus/VConn 控制。 有关详细信息,请联系 SoC/PMIC 供应商。

使用嵌入式控制器进行 USB Type-C 系统设计

除了上述列表中的组件外,USB Type-C 系统还可以具有嵌入式控制器。 此智能微控制器充当系统的 Type-C 和 Power Delivery 策略管理器。

下面是具有嵌入式控制器的 USB Type-C 系统的示例:

显示嵌入式控制器设备的 U S B Type-C 硬件设计示例的示意图。

下面是另一个视图:

嵌入式控制器设备的 USB 类型 C 硬件设计示例示意图。

对于具有嵌入式控制器的系统,请加载 Microsoft 提供的内置驱动程序。 UcmUcsi.sys 实现 USB Type-C 连接器系统软件接口 (UCSI) 规范。

UCSI 驱动程序。 有关为驱动程序加载的设备堆栈的信息,请参阅 支持具有嵌入式控制器的系统的 USB Type-C 组件的驱动程序

对于具有使用非 ACPI 传输的嵌入式控制器的系统。

编写 UCSI 客户端驱动程序

USB Type-C 驱动程序参考

USB Type-C 系统设计

下面是没有嵌入式控制器的移动设备的 USB Type-C 系统示例:

移动设备的 USB Type-C 硬件设计示例示意图。

下面是另一个视图:

没有嵌入式控制器的 USB Type-C 硬件设计示例设备的示意图。

对于前面的设计,实现一个与连接器通信的驱动程序,并使操作系统了解连接器上的 USB 类型 C 事件。

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

USB Type-C 驱动程序参考