USB Type-C コネクタに対する Windows サポート

このトピックは、USB Type-C コネクタを備えた Windows 10 システムを構築し、高速充電、Power Delivery、デュアル ロール、代替モード、ビルボード デバイスを通じたエラー通知を可能にする OS 機能を利用する OEM を対象としています。

従来の USB 接続では、各端に USB A および USB B コネクタを備えたケーブルが使用されます。 USB A コネクタは常にホスト側に接続し、USB B コネクタは、ファンクション側、つまりデバイス (電話) または周辺機器 (マウス、キーボード) に接続します。 これらのコネクタを使用すると、ホストをファンクションにのみ接続できます。ホストを別のホストに接続したり、ファンクションを別のファンクションに接続したりすることは決してありません。 ホストは電源プロバイダーであり、ファンクションはホストから供給される電力を消費します。

従来の構成では、一部のシナリオが制限されています。 たとえば、モバイル デバイスが周辺機器に接続された場合、デバイスはホストとして機能し、接続されたデバイスに電力を供給する必要があります。

USB 3.1 仕様で定義されている USB-IF によって導入された USB Type-C コネクタは、これらの制限に対処しています。 Windows 10 では、これらの機能のネイティブ サポートが導入されています。

usb connector comparison.

機能の概要

  • USB Type-C 経由の Power Delivery では、最大 100W の充電を高速化できます。
  • USB ホストと USB デバイスの両方の単一コネクタ。
  • USB ホストまたはデバイスをサポートするよう USB ロールを切り替えることができます。
  • 電源ロールを供給元とシンク電源の間で切り替えることができます。
  • USB Type-C 経由の DisplayPort や Thunderbolt などの他のプロトコルをサポートします。
  • 代替モードのエラー通知を提供する USB ビルボード デバイス クラスを導入します。

公式の仕様

ハードウェアの設計

USB Type-C コネクタは、どちらの方向でも使用でき、対称になっています。

USB Type-C symmetric cable.

主なコンポーネントは、USB Type-C コネクタと、コネクタの CC ピン ロジックを管理するポートまたは PD コントローラーです。 このようなシステムには通常、USB ロールをホストから機能にスワップできるデュアル ロール コントローラーがあります。 ビデオ信号を USB 経由で送信できるようにするディスプレイ出力モジュールを備えています。 必要に応じて、BC1.2 充電器の検出をサポートできます。

最小ハードウェア要件、Windows ハードウェア互換性プログラム要件、およびそれらの要件に基づいたその他の推奨事項など、USB コンポーネントの設計と開発に関する推奨事項について検討します。 ハードウェア コンポーネントのガイドライン USB

ドライバー モデルの選択

このフロー チャートを使用して、USB Type-C システムの解決策を決定します。 Drivers.

システム 推奨される解決策
PD ステート マシンを実装していない クライアント ドライバーを UcmTcpciCx クラス拡張機能に書き込みます。

USB Type-C ポート コントローラー ドライバーを記述する
ハードウェアまたはファームウェアに PD ステート マシンを実装し、ACPI 経由で USB Type-C Connector System Software Interface (UCSI) をサポートしている マイクロソフト提供のインボックス ドライバー (UcmUcsiCx.sys および UcmUcsiAcpiClient.sys) を読み込みます。

UCSI ドライバー」をご覧ください。
ハードウェアまたはファームウェアで PD ステート マシンを実装しているが、UCSI をサポートしていない、または UCSI をサポートしているものの、ACPI 以外のトランスポートを必要とする UcmCx クラス拡張機能のクライアント ドライバーを記述します。

USB Type-C コネクタ ドライバーを記述する

Write a USB Type-C Policy Manager client driver (USB Type-C ポリシー マネージャー クライアント ドライバーの作成)
UCSI を実装しているが、ACPI 以外のトランスポートを必要とする クライアント ドライバーを UcmUcsiCx クラス拡張機能に書き込みます。

このサンプル テンプレートを使用し、ハードウェアで使用するトランスポートに基づいて変更します。

Write a UCSI client driver (UCSI クライアント ドライバーの作成)

ドライバーの起動

  • USB ファンクション ドライバーの起動は、USB ファンクション モードをサポートしている場合のみ必要です。 USB micro-B コネクタ用の USB ファンクション ドライバーを以前に実装している場合、USB ファンクション ドライバーが動作し続けるよう、ACPI テーブルで USB Type-C として適切なコネクタを記述します。

    詳しくは、「USB ファンクション ドライバーの記述に関する手順」をご覧ください。

  • USB ロール スイッチ ドライバーの起動は、ホスト ロールとファンクション ロールの両方を引き受けたデュアル ロール コントローラーを持つデバイスでのみ必要です。 USB ロール スイッチ ドライバーを起動するには、マイクロソフトのインボックス USB ロール スイッチ ドライバーを有効にするよう ACPI テーブルを変更する必要があります。

    詳しくは、USB ロール スイッチ ドライバーを起動するためのガイダンスをご覧ください。

  • Windows でシステム上の USB Type-C ポートを管理するには、USB コネクタ マネージャー ドライバーが必要です。 USB コネクタ マネージャー ドライバーの起動タスクは、USB Type-C ポート用に選択したドライバーによって異なります。つまり、マイクロソフトのインボックス UCSI (UcmUcsiCx.sys および UcmUcsiAcpiClient.sys) ドライバー、UcmCx クライアント ドライバー、または UcmTcpciCx クライアント ドライバーです。 詳しくは、USB Type-C システムに適したソリューションを選択する方法について説明している、前のセクションのリンクをご覧ください。

テスト

USB Type-C コネクタを公開するシステムおよびデバイスに対して、さまざま各種ファンクション テストとストレス テストを実行します。

  • USB Type-C ConnEx を使用して USB Type-C システムをテストする: Windows Hardware Lab Kit (HLK) に含まれる USB テストを実行します。
  • C-A ケーブルを使用して USB ファンクション HLK テストを実行する: HLK で Windows USB デバイスを検索します。
  • 認定とコンプライアンス: 標準機関によってホストされた Power Delivery および USB Type-C コンプライアンス ワークショップに参加します。

関連項目