USB と Type-C

このページの目次

240 W と表示される USB-C ケーブルでも、ファイル転送速度は USB 2.0 の速度に留まる可能性があります。ノートパソコンがドックから充電できたとしても、そのポートがディスプレイ出力をサポートしているとは限りません。コネクタ、データ伝送、ビデオ、給電は相互に関連しつつも、個別に宣言される能力です。本稿ではこれらの概念を分解し、デバイスの列挙と電力の交渉プロセスを通じて「接続後に何が起こるか」を解説します。

データ480M / 5G / 10G / 20G / 40G / 80G給電方向、交渉電圧、電流、ケーブル定格ビデオDP Alt Mode または USB4 ビデオトンネリング役割データ Host/Device と電力 Source/Sink同じ USB-C 外形でも、4つの能力はそれぞれ確認が必要ポート、ケーブル、ドック、デバイスがチェーンを形成します。いずれの段階でも目的のモードが欠けていると、利用可能な能力が低下する可能性があります。
確認したい能力参照箇所同時に確認すべき事項
ファイル転送速度データモードと有効スループットホスト、ケーブル、Hub、デバイス、共有アップリンク
システムが認識しない理由列挙とエンドポイントデータケーブル、電力の安定性、記述子、構成、ドライバ
USB-C 両面挿入の仕組みピングループと CC方向検出、配線、高速リマルチプレクス
目標電力での充電可否PD 契約Source、Sink、ケーブル、電力パス、温度
モニター接続可否DP Alt Mode と USB4レーン数、速度、カラーディプス、圧縮、デバイス対応

コネクタ名はデータモードに代えられない

Type-A、Type-B、Micro-B、Type-C はコネクタのタイプであり、速度ではありません。従来の USB 2.0 Type-A には VBUS、D−、D+、GND の 4 つの接点があります。SuperSpeed Type-A では 5 つの接点が追加され、そのうち 4 つが高速差動信号の 2 ペアを構成し、もう 1 つは基準用接点です。追加されるのは 5 つの接点であり、決して 5 ペアの差動線ではありません。

USB-C コネクタの完全な定義には 24 個の接点がありますが、USB 2.0 のみの製品では高速データチャネルを接続しない場合があります。一部の簡素化コネクタでは全接点が提供されないこともあります。コネクタの外形が同じだからといって、完全なデータまたはビデオ機能が実装されていると推測してはいけません。

一般的なデータ能力対応モード例理解の境界
1.5 / 12 / 480 Mbit/sUSB ロースピード / フルスピード / ハイスピードUSB 2.0 デバイスは 480 Mbit/s をサポートする必要はない
5 Gbit/sUSB 3.0、USB 3.1 Gen 1、USB 3.2 Gen 1×1異なる仕様における同等速度の名称
10 Gbit/sUSB 3.1 Gen 2、USB 3.2 Gen 2×1USB 3.2 にはもう一つのデュアルチャネル組み合わせがあり、Gen 番号だけを見るのではない
20 Gbit/sUSB 3.2 Gen 2×2 または USB4 20Gbps同じ表示速度が同じリンクモードを意味するわけではない
40 / 80 Gbit/s対応する USB4 能力ポートとケーブルが対応モードをサポートする必要がある

USB-IF のユーザー向け命名では、USB 5/10/20/40/80Gbps で性能を表します。USB4 Version 2.0 は 80 Gbit/s レベルまで拡張されたため、USB4 を一律に最大 40 Gbit/s と書くのは不十分になりました。バージョン名称が、各製品がすべてのオプション機能を実装していることを意味するわけではありません。USB-IF:データ性能の命名、USB4 概要

これらはリンク速度であり、ファイル速度として直接扱うことはできません。5 Gbit/s、8b/10b エンコーディングを例にとると、エンコーディング後には 5×8/10=4 Gbit/s、つまり 500 MB/s しか残りません。ヘッダー、フロー制御、再送、USB ストレージプロトコル、コントローラ、メディアがさらに予算を消費します。これが実測ディスクが必ず達成できるスループットであるかのように扱ったり、双方向の速度を単純に足して単方向速度として宣伝したりしないでください。

USB4 ポートが USB 3.2 Gen 2×2 デバイスに接続されている場合でも、Gen 2×2 を共通でサポートしているかどうかを確認する必要があります。「ホストの数字の方が大きい」からといって、すべての低い数字のリンク組み合わせが動作するとは限りません。Hub の複数のダウンストリームポートもアップストリーム帯域幅を共有しており、インターフェースが増えるたびにホストチャネルが自然に増えるわけではありません。

USB 2.0 と SuperSpeed の配線は同じではない

USB 2.0 は D+/D− を使用して半二重伝送を行います。ロースピードとフルスピードのプルアップ位置は接続/速度の識別に使用されます。ハイスピードデバイスはリセット段階でのハンドシェイクによってハイスピードモードに入り、D+ のプルアップだけを見てフルスピードとハイスピードを区別することはできません。ハイスピード信号の電気的条件は低/フルスピードとは異なり、「USB 2.0 差動 3.3 V」と一律に書くことはできません。

SuperSpeed は独立した送信と受信の差動チャネルを使用し、リンクトレーニング、電源状態、フロー制御があります。USB-C の高速ペアは挿入方向と使用モードに応じてリマルチプレクスされます。USB4 はさらに、ルーティングとトンネリングによってサポートされるプロトコルストリームを整理します。USB 2.0 D+/D− を直接加速するものではなく、すべての USB 世代の接続検出を D+ プルアップとして描くこともできません。

従来の USB バスはホスト/ルート Hub をルートとする階層ツリーを形成し、Hub がダウンストリーム接続を拡張します。ホストが伝送スケジューリングを制御し、デバイスはエンドポイントによって機能を提供します。これは、デバイスが常にリンク通知やウェイクアップ要求を送信できないことを意味するのではなく、通常の機能データが任意のピアツーピアネットワークのようにバスを勝手に占有できないということです。

列挙:電力供給からドライバ利用可能までには複数の状態がある

通常の USB 2.0 周辺機器を例に説明します。デバイス接続後、ホストはポートリセットを行い、デフォルトアドレス 0 のコントロールエンドポイントを使用して初期情報を読み取り、アドレスを割り当て、完全な記述子を取得して構成を選択します。システムによって読み取り順序に差異がありますが、デフォルトコントロールエンドポイント、アドレス、構成は異なる段階です。

接続とリセット接続を検出;ハイスピード能力はリセットハンドシェイク段階で交渉デフォルトアドレス 0必要な初期記述情報の読み取り;エンドポイント 0 はすでにコントロール伝送に使用可能デバイスアドレスの割り当てSET_ADDRESS 完了後、新しいアドレスで通信を継続完全な記述子の読み取り構成の選択とドライババインディングUSB 2.0 デバイスのデータパス確立:エンドポイント 0 がまずコントロール要求を担当デバイス、構成、インターフェース、エンドポイント、および必要なクラス記述子SET_CONFIGURATION;クラス/ベンダードライバが対応するインターフェースを準備これは教育的なメインラインです。ホスト実装は読み取りや要求順序の調整を繰り返すことができ、「アドレスが割り当てられた」ことをビジネス利用可能と同一視してはいけません。
オブジェクト何を記述するか一般的な誤解
DeviceVID/PID、バージョン、構成数などVID/PID は唯一のドライバマッチングルールではない
Configurationインターフェースの集合と対応する属性記述子を読み取ったからといって、その構成が選択されたわけではない
Interface / Alternate setting1 つの機能とそのエンドポイントの組み合わせ1 つの物理デバイスに複数のインターフェースとドライバが存在する可能性がある
Endpoint方向、伝送タイプ、パケット長などエンドポイントはコネクタ上の独立した配線ではない

IN/OUT は常にホストの視点から命名されます。IN はデバイスからホストへ、OUT はホストからデバイスへです。エンドポイント 0 はデフォルトのコントロール伝送を担当し、他のエンドポイントは構成とインターフェース記述子によって宣言されます。複合デバイスにはキーボードインターフェースとベンダーデータインターフェースを同時に含め、それぞれにドライバをバインドできます。「1 つのデバイスドライバをロードする」ことをすべてのデバイスの固定モデルと見なすべきではありません。Microsoft:USB エンドポイントとパイプ

4 種類の伝送タイプが約束する「信頼性」は同じではない

タイプ主な用途とスケジューリング特徴保証されないこと
Control列挙、構成、コントロール要求、エラー処理ありリクエスト内容がビジネスによって必ず受け入れられるわけではない
Bulk利用可能な帯域幅を最大限に活用、データ完全性が優先されるシナリオに適す固定スループットまたは最悪のレイテンシ
Interrupt周期的なサービス機会、少量の即時データに適すデバイスがハード割り込みでホストバスを直接占有する
Isochronousリアルタイムストリームのためにサービス機会を予約、見逃したデータは通常のトランザクションで再送して取り戻さない各データユニットが必ず到達する

エンドポイントのスケジューリング制約とアプリケーションがデータを受信する時間の間には、コントローラ、ドライバ、バッファ、システムスケジューリングが存在します。オーディオ/ビデオは時間的な連続性を維持するために少量の損失を受け入れます。ファイル転送は通常、完全性を優先します。USB 伝送が成功したからといって、アプリケーションがデータを永続化したことを意味するわけではなく、デバイス内部のキャッシュとコマンド完了のセマンティクスは別途確認する必要があります。Linux:USB ホスト API と伝送モデル

一般的なクラスには、HID、Mass Storage、CDC ACM/NCM、Audio、Video、DFU があります。「ドライバ不要」は通常、オペレーティングシステムに互換性のあるクラスドライバがすでに存在することを意味します。バージョン、記述子、デバイスサブクラス、ベンダー拡張はサポートに影響を与えます。CDC は一連の通信クラス定義であり、CDC すべてを「ドライバが必要」と表示し、その中の ACM を「ドライバ不要」と表示するのは正しくありません。実際には常にドライバが存在し、ユーザーが追加でインストールする必要があるかどうかの違いだけです。

Type-C ピンは機能別にグループ化され、誤ったミラー文字図よりも参照しやすい

ピングループ役割実装上の注意点
VBUS / GND給電とリターン複数接点での分流、電流能力、電力パス制御
D+ / D−USB 2.0 データコネクタの両面の対応する同名接点はリファレンスデザインに従って接続
4 ペアの高速信号USB 3.x、USB4 またはモードリマルチプレクス方向検出、差動インピーダンス、適切な MUX/retimer
CC1 / CC2接続、方向、電流通知、PD 関連通信2 つの CC を直接ショートしてはいけない
SBU1 / SBU2モード関連サイドバンド信号例えば DP Alt Mode の AUX、一般的な USB データの第 2 グループではない

ここでは信号機能に基づいて説明し、表面/裏面を混乱させる可能性のあるパッド座標は提供しません。PCB を描画する場合は、選択したコネクタのデータシート、観察方向、パッケージピン番号に従って確認する必要があります。

CC は接続と電力役割を検出し、役割はさらに交渉できる

一般的な Source は Rp を提供し、Sink は Rd を提供します。挿入後、有効な CC パスによって接続と方向が検出されます。単純な固定 Sink コネクタは、CC1 と CC2 にそれぞれ独立した Rd を設定し、一般的な定格は 5.1 kΩ です。2 つのピンで 1 つの抵抗を共有してショートすることはできず、片側のみを取り付けると特定の方向で異常が発生する可能性があります。完全な役割、電流検出、または PD が必要な場合は、適切なコントローラと電力パス設計を使用する必要があります。TI:Type-C エンジニアリングガイド

Type-C の電流通知には、USB Default、1.5 A、3 A などの 5 V 能力が含まれます。USB Default は対応する USB/充電ルールと組み合わせて判断する必要があり、「挿入すればすぐに 500 mA を取得できる」と一律に考えることはできません。また、2 つの Rd が見えるからといって、すぐに 3 A を取得できるとデフォルトで考えることもできません。Sink は実際の通知とプロトコル制限に従って電力を取得する必要があります。

データ役割 Host/Device と電力役割 Source/Sink は分離して考えるべきです。例えば、ノートパソコンはドックを管理するデータホストとして、同時にドックから充電する Sink として動作できます。PD をサポートするデバイスは能力に応じて役割を交換できます。現在の CC 通信に使用されていない対応する接点は、VCONN を担う可能性があり、ケーブルの電子デバイスに電力を供給します。VCONN と大電力の VBUS は同じ給電パスではありません。

PD:契約を先に結び、契約に従って給電する

通常の Type-C 接続では、まず安全な接続検出とデフォルトの給電プロセスを完了する必要があり、挿入直後に任意の高電圧を印加することはできません。PD は CC 上のメッセージ交換によって新しい給電条件を要求します。Source は能力を提供し、Sink は自身、ケーブル、システムの制限に基づいて Request を提出します。固定 PDO の例示フローは以下の通りです。

SourceSinkSource_Capabilities:例えば 5 V / 3 A、9 V / 3 A を提供Request:9 V / 2 A を要求Accept:その要求を承諾PS_RDY:切り替え完了、電源準備完了固定 PDO 交渉:Accept は要求の受諾、PS_RDY だけが電源準備完了を報告電力切り替えウィンドウ:Accept を新しい電圧がすでに安定していると見なしてはいけないGoodCRC などのプロトコル詳細は省略;この例は固定電力契約であり、PPS ではなく、EPR にも自動的には移行しない。

Source が Accept を送信するのは、要求を受諾したことを意味するだけで、電源は切り替えと安定化が必要であり、PS_RDY によって準備完了を報告します。PPS はプログラム可能な電源機能であり、Accept の後の共通状態ではありません。Request は拒否される可能性があり、給電能力はマルチポートの共有や温度変化によって再交渉される可能性があり、デバイスは交渉の失敗と契約の変更を処理する必要があります。

機能解決する問題避けるべき推論
SPR 固定電圧一般的な 5/9/15/20 V などの契約、範囲は 100 W に達する各充電器がすべての電圧と 5 A を提供するわけではない
EPR電圧範囲を拡張し、28/36/48 V を含み、最大 240 W通常の古い 5 A ケーブルが自動的に 48 V をサポートするわけではない
PPS宣言された範囲内でプログラム可能電圧/電流を要求デバイス内部に充電管理や電力変換が不要なわけではない

PD 3.1 で導入された EPR は、上限を 48 V×5 A=240 W に拡張し、ポート、ケーブル、電力パスが関連する能力を共同で備える必要があります。PD の表示バージョンが具体的な能力宣言に代わるわけではありません。USB-IF:USB Power Delivery

PPS は電源がデバイスの充電リンクにより適した出力を行い、一部の変換損失を削減できるようにしますが、バッテリーには依然として制御された電圧/電流、保護、熱管理が必要であり、一般的なシステムでは依然として降圧やチャージポンプなどの回路を使用しています。PPS Request のプログラミング粒度が実測電圧精度や電流リップルに等しいわけではありません。充電速度はバッテリーの状態と全体のシステムポリシーによって共同で制限されます。

電力計算例:インターフェース入力電力はバッテリー電力ではない

20 V、3 A で交渉し、インターフェース上限が 60 W と仮定します。3 A 負荷、完全な給電ループ抵抗 0.10 Ω の教育条件下では、ケーブルの電圧降下は 0.30 V、損失は 0.90 W で、受信端には約 59.1 W が得られます。デバイス自体が 10 W を消費する場合、残りの電力がさらに仮定 90% の効率の充電パスを経由して、バッテリーには約 (59.1−10)×0.9=44.19 W が得られます。

これは配分予算であり、特定のスマートフォンやコンピュータの実測効率ではありません。交渉電力を上げても、デバイスが上限に従って継続的に吸収することが保証されるわけではありません。ポートの共有、バッテリー充電段階、温度制御などが実際の値を変更する可能性があります。

Accept直後に新電源を使える?

Rejectでは従来の準備済み条件を保つ。Acceptでは目標電圧を即利用可能とせず遷移中にする。ボタンは因果関係と前提を持つプロトコルイベントを表す。

図を準備しています
Accept直後に新電源を使える?

Acceptは要求受理であり、電源遷移完了と利用準備を示すのはPS_RDY。

ケーブル表示とビデオ能力は別々に確認する

USB-IF の USB-C ケーブル認証表示はデータ性能と電力能力を区別します。USB 2.0 データケーブルでも高い PD 電力をサポートできるため、「240 W」が高速ケーブルの証明ではありません。e-marker はケーブル能力識別の一部であり、チップがあるからといってすべての速度をサポートすると判断することはできません。USB-IF:ケーブルとコネクタ、Type-C 製品説明ガイド

DP Alt Mode は高速信号ペアを DisplayPort に割り当てることができます。一般的な 2 本の DP レーン構成では、もう 1 つの USB 3.x トランシーバ接続が保持され、4 本の DP レーン構成では高速ペアがビデオに使用され、USB 2.0 D+/D− は引き続き使用できます。解像度はレーン数だけで決まるわけではなく、リンク速度、ブランキング、リフレッシュレート、カラーディプス、クロマサブSampling、DSC サポートにも依存し、「2 レーンが 4K60」と固定して書くことはできません。VESA:DisplayPort Alt Mode

USB4 内のビデオトンネリングは、USB4 接続内で帯域幅を割り当てるものであり、コネクタの高速ペアをネイティブ DP に直接切り替える Alt Mode とは異なります。Thunderbolt にも独自のバージョンと認証要件があり、すべての USB4 製品を特定の世代の Thunderbolt と直接同一視することはできません。

失敗段階によって特定し、「より高価なケーブル」を繰り返し交換するよりも明確である

現象まずどのレイヤーで区別するか確認のポイント
C-to-C で給電しないが、A-to-C では使用可能CC 接続検出Rd、方向、Source/Sink 構成、電源スイッチ
充電できるが、システムがデバイスを認識しないデータと列挙ケーブルのデータ能力、D+/D−、高速パス、記述子とログ
片方向のみで動作コネクタと方向リマルチプレクス両側の CC、USB 2.0 対応接点、高速 MUX
USB-C で表示出力なしビデオ能力とモードホストポート、ケーブル、ドック、モニター、モード交渉
ファイル転送が遅い実際のチェーンと共有負荷交渉速度、Hub アップリンク、ストレージメディア、プロトコルオーバーヘッド
充電が銘板電力に達しない給電契約と全体のシステムポリシーPDO、ケーブル定格、マルチポート配分、温度制御、バッテリー段階

帯域幅と電力の再計算

from math import isclose

encoded_byte_rate = 5e9*(8/10)/8
assert encoded_byte_rate == 500e6  # パケットとストレージプロトコルのオーバーヘッドをまだ控除していない
voltage, current, loop_r = 20, 3, 0.10
loss = current**2*loop_r
received = (voltage-current*loop_r)*current
assert isclose(loss, 0.9) and isclose(received, 59.1)
assert isclose(received+loss, voltage*current)
assert isclose((received-10)*0.9, 44.19)
assert 48*5 == 240
print('エンコードスループット、ケーブル電圧降下、電力配分、EPR 上限の計算式チェック通過')

継続的な参照