次の方法で共有


WINDOWS での USB Type-C コネクタのサポート

この記事は、USB Type-C コネクタを使用して Windows システムを構築する OEM を対象としています。 高速充電、電力配信、デュアルロール、代替モード、およびビルボードデバイスを介したエラー通知を可能にするOS機能を使用できます。

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

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

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

比較用のマイクロ USB および USB Type-C コネクタの画像。

機能の概要

  • USB Type-Cを介した電源供給(PD)で最大100ワットの高速充電をサポートします。
  • USB ホストと USB デバイスの両方に 1 つのコネクタを使用します。
  • USB ホストまたはデバイスをサポートするように USB ロールを切り替えます。
  • 電力の役割を供給と吸収の間で切り替えます。
  • USB Type-C 経由の DisplayPort や Thunderbolt などの他のプロトコルをサポートします。
  • 代替モードのエラー通知を提供する USB ビルボード デバイス クラスを導入します。

公式仕様

ハードウェア設計

USB Type-C コネクタはリバーシブルで対称です。

USB Type-C 対称ケーブルの画像。

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

USB コンポーネントの設計と開発に関する推奨事項を検討してください。 最小ハードウェア要件、Windows ハードウェア互換性プログラムの要件、およびその要件に基づくその他の推奨事項を含めます。

ドライバー モデルを選択する

このフローチャートを使用して、USB Type-C システムのソリューションを決定します。

USB Type-C システムのソリューションを決定するためのフローチャート。

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

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

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

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

USB Type-C Policy Manager クライアント ドライバーを作成する
UCSI を実装しますが、ACPI 以外のトランスポートが必要です クライアント ドライバーを UcmUcsiCx クラス拡張機能に書き込みます。

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

UCSI クライアント ドライバーを記述する

ドライバーを起動する

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

    詳細については、 USB ファンクション ドライバーの記述に関する手順を参照してください。

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

    詳細については、 USB ロール スイッチ ドライバーを起動するためのガイダンスを参照してください。

  • Windows がシステム上の USB Type-C ポートを管理するには、USB コネクタ マネージャー ドライバーが必要です。 USB コネクタ マネージャー ドライバーの起動タスクは、USB Type-C ポートに対して選択したドライバーによって異なります。Microsoft インボックス 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 デバイス を検索します。
  • 認定とコンプライアンス: 規格機関がホストする電力配達および USB Type-C コンプライアンス ワークショップに参加します。

こちらも参照ください