硬件设计: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 系统的示例:
下面是另一个视图:
对于具有嵌入式控制器的系统,请加载 Microsoft 提供的内置驱动程序。 UcmUcsi.sys 实现 USB Type-C 连接器系统软件接口 (UCSI) 规范。
UCSI 驱动程序。 有关为驱动程序加载的设备堆栈的信息,请参阅 支持具有嵌入式控制器的系统的 USB Type-C 组件的驱动程序。
对于具有使用非 ACPI 传输的嵌入式控制器的系统。
USB Type-C 系统设计
下面是没有嵌入式控制器的移动设备的 USB Type-C 系统示例:
下面是另一个视图:
对于前面的设计,实现一个与连接器通信的驱动程序,并使操作系统了解连接器上的 USB 类型 C 事件。