DP (DisplayPort)的二三事 - 其三 - HPD

DisplayPort 2.0 - DPCD Field Address Mapping

HPD

HPD (Hot Plug Detect)熱插拔檢測
用於讓 Source(顯卡/主機)知道 Sink(顯示器/擴展塢)是否已經連接並准備好。
    

HPD 的基本作用

DP 接口中,HPD 是一根由 Sink → Source 方向的信號線:

HPD = High:通常表示顯示器已連接,並且可以與 Source 通信。
HPD = Low:表示沒有連接、Sink 未准備好,或者 Sink 主動要求 Source 停止傳輸。
HPD Pulse(短暫拉低):非常重要,常用來通知 Source:
 • EDID/DPCD 等配置發生變化
 • Link 狀態發生變化
 • 需要重新讀取 DPCD
 • 需要重新進行 Link Training
    
HPD ¦ ¦← HPD_Timeout (2ms) →¦ ¦← IRQ_HPD Pulse (0.5 to 1.0ms) ────────┐ ┌──────────────── │ │ └──────┘ ↑ Pulse

一般DP插拔流程

PC / GPU Monitor │ │ │ DP Cable Plug-IN │ │<──────────────────────────────>│ │ │ │ Cable Detect / Connector Det. │ │ │ │ │ │<──────────── HPD HIGH ─────────│ │ │ │ │ │────── AUX: Read DPCD ─────────>│ │<───── DPCD Response ───────────│ │ │ │────── AUX: Read EDID ─────────>│ │<────── EDID Response ──────────│ │ │ │────── AUX: Link Training ─────>│ │<────── Status / Feedback ──────│ │ │ │════════ Main Link ════════════>│ │ Video / Audio │

1. Monitor 插入

DP cable在插入Source及Monitor,Monitor會先被觸發Cable Detect
不過在DP的接口定義上並沒有Cable Detect的腳位,
一般會在Monitor的DP接口的第16 pin 接一個上拉電阻,
在Source插入時因為DP的pin 16是Gnd而下拉DP_CABLE_DETECT的電位,
又或者同時偵測 Pin15 AUX_CH(p)為 高電位,Pin17 AUX_CH(n)為 低電位
    
Monitor Cable Detect Circuit 3.3v │ │ 10kΩ │ │ pin 16 ———————————— DP_CABLE_DETECT (Monitor) pin 15 ———————————— AUX_CH(p) pin 17 ———————————— AUX_CH(n)

2. HPD 拉 High

Monitor在偵測到Cable插入有Source後,便拉high HPD,用以通知Source
HPD ┌───────── │ │ ↑ Pull High ─────────┘

3. Source 檢測到 HPD

4. Source 通過 AUX 讀取 DPCD

Source確認到HPD high後,即開始透過 AUX讀取 DPCD,用以得到 Monitor訊息
「你是什麼裝置?」 「你支援什麼 DP capability?」 「你的 Link Rate 是多少?」 「你有幾條 Lane?」 「你的 training status 怎麼樣?」

5. 通過 AUX 獲取 EDID

接著透過 I2C-Over-AUX 讀取 EDID

6. Link Training

這是 DP 非常重要的一個階段。
假設 Monitor 告訴 Source:
  
Max Link Rate = HBR3 Max Lane = 4
不代表Source直接就開始送 video。 它需要先確認:「Source 與 Monitor 之間的高速訊號品質夠不夠?」 所以開始:Link Training
Source Sink │ │ │──── Training Pattern 1 ─────────>│ │ │ │<──── Clock Recovery Status ──────│ │ │ │──── Training Pattern 2 ─────────>│ │ │ │<──── Channel EQ Status ──────────│ │ │ │──── Adjust Voltage / Pre-emphasis│ │ │ │<──── Lane Status ────────────────│ │ │ └────── Training PASS ─────────────┘
Source 會根據 Sink 回報的 status 調整:  • Voltage Swing  • Pre-emphasis  • Training pattern  • Link rate  • Lane count 直到達到穩定的 link。

7. 開始正常傳輸視頻


Type-C Alt Mode

USB4 Type-C口可藉由 CC pin溝通讓C口切換為 DP影像傳輸的Alt mode
不過Alt mode的腳位定義上並沒有 HPD 的存在,HPD訊號會透過 CC 封包傳遞狀態

留言