共用方式為


架構:Windows 系統的USB Type-C設計

描述 USB Type-C 系統的一般硬體設計,以及支援硬體元件Microsoft提供的驅動程式。 本文適用於開發具有 USB Type-C 連接器的系統的 OEM。

  • 使用 USB Type-C 的 USB 雙重角色功能
  • 使用 USB Type-C 電流電平和 Power Delivery 2.0 實現更快的充電速度
  • 藉由使用替代模式和有線對接功能來實現 Display-Out 能力。

支援 USB Type-C 元件的驅動程式

USB Type-C 軟體元件的圖表。

在上圖中,

  • 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 驅動程式。

    備註

    Windows 10 行動裝置版不支援 所有 USB 裝置類別

  • 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 Type-C 連接器的系統上,決策是根據 CC 引腳做出的。 連接器的用戶端驅動程式會執行 CC 偵測,並將該資訊轉送至角色切換驅動程式。

  • USB 連接器管理器 (UCM)

    這組驅動程式管理 USB Type-C 連接器的所有層面。 如果您的系統透過 ACPI 實作符合 UCSI 規範的內嵌控制器,請使用 Microsoft 提供的 UCSI 驅動程式。 否則,請撰寫非 ACPI 傳輸的 UCSI 用戶端驅動程式

    如果您的硬體不符合 UCSI 規範,則您應該 寫入 USB Type-C 連接器驅動程式,該驅動程式 是 UCM 類別延伸模組的用戶端。 它們一起管理 USB Type-C 連接器和連接器驅動程式的預期行為。

    如果您要撰寫驅動程式,USB 連接器管理員類別延伸模組會遵循 WDF 類別延伸模組用戶端驅動程式模型。 您的客戶端驅動程式會與硬體和類別擴展模組通訊,以處理 CC 偵測、PD 訊息、多工和 VBus/VConn 控制等工作,並選擇電源傳遞和替代模式的策略。 類別延伸模組會將用戶端驅動程式所報告的資訊傳達至作業系統。 例如,CC 偵測結果可用來設定角色切換驅動程式;USB Type-C/PD 電源資訊可用來判斷系統應充電的層級。 用戶端驅動程式會管理 USB Type-C 和 PD 狀態機器。 用戶端驅動程式可以將某些工作委派給其他驅動程式,例如,Mux 可能由另一個驅動程式控制。 若要撰寫用戶端驅動程式,請使用 USB Type-C 連接器驅動程式程式設計介面

    USB Type-C 連接埠控制器

    Type-C 埠控制器介面類別延伸模組 (UcmTcpciCx.sys) 是 Microsoft 所提供的 USB 連接器管理員延伸模組,可讓作業系統充當未實作 PD 狀態機器之連接器的 Type-C 埠管理員 (TCPM) 。 UcmTcpciCx 用戶端驅動程式可讓軟體 TCPM 控制硬體並即時取得其狀態。

    如需撰寫用戶端驅動程式的相關資訊,請參閱 撰寫 USB Type-C 埠控制器驅動程式

  • 充電仲裁驅動程式

    此驅動程式由 Microsoft 為 Windows 10 行動版提供。 驅動程式會擔任多個充電來源的仲裁者。 USB 連接器管理員會向 CAD 報告 USB Type-C 和 PD 充電來源資訊,CAD 會從該資訊和 USB 裝置端驅動程式 (如果適用) 執行的 BC1.2 充電器偵測中進行選取。 然後,CAD 向電池子系統報告最合適的充電源。

  • 電池驅動器

    類別驅動程式會定義系統中電池的整體功能,並與電源管理員互動。 迷你類別驅動程式會處理裝置特定的功能,例如新增和移除電池,以及追蹤其容量和充電。 迷你類別驅動程式會匯出類別驅動程式所呼叫的例程,以取得其所控制裝置的相關信息。