Mar 15, 2024
DisplayPort: Altmode のタップ
実際のところ、DisplayPort の最も最新の実装は USB-C DisplayPort altmode であり、これは「USB-C 経由のビデオ」と同義であり、これをスキップしていたら見逃してしまうでしょう。 ちなみに、過去2つの記事は、
実際のところ、DisplayPort の最も最新の実装は USB-C DisplayPort altmode であり、これは「USB-C 経由のビデオ」と同義であり、これをスキップしていたら見逃してしまうでしょう。 ちなみに、USB-PD についての過去 2 つの記事は、何人かの人々に新しいクールなおもちゃを提供しました。記事にコメントをくれたり、デバッグの助けを求めて私に連絡をくれたり、FUSB302B を組み込んでいる人さえ見かけました。彼らのプロジェクト! この成果に続き、さらに一歩進んで、もう 1 つの USB-C 機能を征服しましょう。これは、ハッキングに値するものですが、まだ公開されていません。
私たちの長年の読者にとって、ありふれた機能がハッカーに拒否されるのを見るのは驚くことではありません。 多くのラップトップや携帯電話で USB-C ポートから DisplayPort 接続ができることは、もう皆さんご存知でしょう。 USB-C 仕様がオープンに利用可能であり、以前にその仕様を使用して PD シンクを実装したことを考えると、DisplayPort も同じように簡単に実行できると期待されるでしょう。 しかし、DisplayPort オルトモード仕様は VESA メンバーシップのペイウォールの背後にあり、高額な価格が設定されています。これは広く批判されており、標準化団体としての目的に反しており、その結果、標準の一部が不合格となっています。
ただし、心配する必要はありません。DisplayPort altmode の高レベルの概要と詳細を記載したさまざまな PDF を簡単に見つけることができます。私のお気に入りはこれです。 また、FUSB302 チップが接続された MicroPython を実行するデバイスと、逆アセンブルできる DisplayPort Altmode デバイスもいくつか持っています。 これは、オープンソースの DisplayPort altmode ライブラリをリバース エンジニアリングするのに十分すぎることがわかりました。
USB-C ポートには 4 つの高速ペアと 1 つの補助低速ペア (SBU) があります。 これは、最大 4 つの高速データ転送ペアと 1 つの AUX 構成チャネルを備えた DisplayPort 要件に見事に対応しています。 小さな癖が 1 つあります。HPD 信号用のピンがありません。 代わりに、そのステータスは PD チャネルを介して DisplayPort altmode メッセージ内で転送されます。 その結果、デバイスを DisplayPort 対応 USB-C に接続し、PD 経由でいくつかのマジック ワードを書き込み、USB-C TX/RX ピンで DisplayPort 信号を取得することができます。 DisplayPort の内部構造を詳しく調べる必要はありません。 必要なのは、HPD を PD メッセージとして転送することだけです。デバイスが USB-C ソケットを使用している場合は、USB-C ケーブルの接続方法に応じて安価なマルチプレクサで信号を反転させます。
DisplayPort のほかに、古き良き USB2 ピンで USB 2.0 も利用できるため、モニターの横にキーボードやマウスを接続するのに最適です。 ただし、抽出できるのはそれだけではありません。2 レーンの DisplayPort に満足している場合は、上流のデバイスに、1 組のピンに 2 レーンの DisplayPort を提供し、別のピンに 1 つの USB3 ポートを提供するように依頼できます。 これが、ほとんどの安価な USB-C ドックの仕組みです。VGA または HDMI に使用される DisplayPort の 2 レーン、高速ポートまたはいくつかの周辺機器用の USB3、その他のさまざまなもの用の USB2 があり、電力を処理します。側面に入力します。
ST から入手した PDF から判断すると、DisplayPort デバイスを構築する場合、応答する必要がある PD メッセージは 7 種類あります。13 ページの図はそれらすべてを示しています。 「USB-C のすべて: 低レベル PD の応答」の記事では、USB-C PSU 電源プロファイルのアドバタイズメントである Source_Capabilities と、取得するために作成された Request メッセージの 2 種類のメッセージを学習しました。これらの電力プロファイルの 1 つを使用して、USB-C ポートからより高い電圧を取得します。 2 から 7 まで – これは十分に手の届く範囲内です。
リバースエンジニアリングするには、最低限何をする必要がありますか? PDF には、それ自体で十分すぎる情報が含まれているようです。通信フロー、さまざまなコマンド コード、内容が説明されています。 ただし、パケット キャプチャを参照できるようになると、さらに快適になります。
USB-C 通信のスニッフィングは、特に高速信号が関係する場合には、あまり研究されていない分野です。 これらの場合、信号の完全性を維持しながら CC ピンを利用できるインターポーザー ボードが必要ですが、これらは 10 セントほどの費用ではありません。 USB-C スニッフィング用の商用ツールに関しては、そのほとんどが USB-C を理解していない人が多いという事実を考慮して価格設定されているように感じます。 しかし、それを回避する方法は確かにあります。最初の PD 講演記事のコメント セクションで、[WF] は、sigrok とパルスビュー! 私たちは DisplayPort altmode を盗聴するだけでなく通信できるデバイスを作成していますが、この記事を読み進めるときに自分のデバイスにアクセスしたい場合は、これで十分です。