banner
ホームページ / ニュース / DisplayPort: 内部
ニュース

DisplayPort: 内部

Jun 15, 2023Jun 15, 2023

前回は、ユーザーにとって DisplayPort をユニークなものにするすべての点を検討しました。 ハッカーにとってユニークな点は何ですか? DisplayPort が現代のテクノロジーに関する議論の冒険に役立つすべての方法を見てみましょう。

DisplayPort では、これまで VGA、DVI、HDMI とバンドルされてきた I2C バスは廃止され、AUX バスに置き換えられました。 AUX は 1 MHz の双方向ディフペアです。安価なロジック アナライザとしては少し複雑すぎますが、RP2040 の PIO を使用して解決できる可能性があります。 ハッキング的な考えはさておき、これは I2C の透過的な代替品であるため、ソフトウェアを書き直す必要はありません。たとえば、通常は AUX 経由で I2C デバイスのパススルーを実行するため、EDID データは引き続きモニター上の別の EEPROM チップに保存できます。または eDP 液晶パネル。

AUX は単なる差動バスではなく、USB2 のような疑似差動です。たとえば、AUX_P と AUX_N は、物理接続のさまざまな状態を示す 1 MΩ と 100 kΩ のプルアップとプルダウンの組み合わせで個別に使用されます。 AUX+ のプルアップと AUX- のプルダウンは、外部デバイスが接続されていることを意味します。 どの抵抗の組み合わせが何を意味するのか知りたい場合は、DisplayPort 仕様を参照してください。これはオープンに配布されていませんが、入手するのも難しくありません。

また、DisplayPort リンク トレーニングは AUX 経由で行われ、これを容易にするために、通常、DisplayPort コントローラーの外部メモリの一部は、DPCD と呼ばれるメカニズムを通じて AUX チャネル経由で公開されます。 「DPCD」をキーワードとして使用して少し調べると、DisplayPort 接続の下位レベルの詳細に簡単に到達できます。 DPCD メモリ マップの一部は静的であり、一部の部分はデータを送受信できる FIFO です。 DPCD 構造について説明したさまざまなドキュメントをオンラインで見つけることができます。ここでは、AMD および Intel 用の Linux グラフィックス ドライバーで動作する Bash の一部を紹介します。これにより、DPCD の最初の 16 バイトが表示されます。

# sudo dd if=/dev/drm_dp_aux0 bs=1 Skip=256 count=16 |xxd00000000: 0084 0000 0000 0000 0108 0000 0000 0000 ...[...]

特に、ここの 4 番目のニブル (数字) は、確立された DisplayPort リンクのレーン数を表します。ご覧のとおり、私のラップトップは 4 レーンのリンクを使用しています。 また、デバイスに合わせて /dev/drm_dp_aux0 パスを調整する必要がある場合があります。 DP リンクをデバッグしたい場合は、このように DPCD メモリ空間に直接アクセスできると、かなり役立つかもしれません。 ここでは、他の実践的な側面に移りましょう。

eDP ディスプレイが手元にあり、それをプロジェクトで再利用したい場合はどうすればよいでしょうか? まず、ピン配列を知る必要があります。 ラップトップ ディスプレイの場合、eDP パネルのピン配置は合理的に標準化されています。ピン配置は 3 つあり、そのうちの 1 つは 30 ピン 2 レーン、もう 1 つはタッチスクリーン配線用の追加の USB および I2C ピンを備えた 40 ピン 2 レーン、もう 1 つは 40 ピンです。 4 レーンのピン コネクタ、タッチスクリーン サポートなし。 これらのピン配置の詳細については、ここで確認できます。 他のピン配置も存在しますが、それらはまれです。私の友人はこれまでのところ、ワコム タブレット内で 30 ピンのピン配置を使用しているディスプレイを 1 つ見つけましたが、ピンを反転して、ピン 1 がコネクタのピン 30 にマッピングされるようにしています。 ; 悲しいことに、これにより魔法の煙が発生しました。 とはいえ、これは稀なことであり、確信が持てない場合でも、基板のトレースを簡単に観察したり、マルチメーターをチェックしたりすることで、そのようなトラブルを回避できます。 また、パネルのデータシートは、すべてではないにしても、すべての質問に答えます。

ピン配列が 30 ピンの場合は幸運です。同じハードウェアとパネルに合わせたファームウェアを備えたさまざまなドライバー ボードがあります。 また、過去 5 年間でラップトップ画面で最も一般的な解像度である 1920 x 1080 パネルで適切に動作する傾向にある汎用ボードもあります。 ただし、これらのボードは、DisplayPort リンク管理に関して特定の種類のショートカットを作成する可能性があるように見えます。プログラムされているパネルのリンク トレーニング パラメータを想定しているのか、それともピクセル フォーマットを想定しているのかはわかりませんが、私の経験が示しています。特定のパネル用にプログラムされるようにラベル付けされたボードを入手できる場合は、それを検討してください。 そうしないと、起動しなかったり、視覚的なインターフェイスや奇妙なちらつきが発生したりする可能性があります。 一方、ラップトップのディスプレイの再利用に興味を持っていると、DP パネルの解像度をジャンパーで設定できるボードをいくつか見つけました。それらは十分に汎用性があることが証明されています。事前にプログラムされたボードの注文と一緒に入手すると、今後の eDP いじりの冒険で予想されるよりも優れた互換性が得られるかもしれません。