由於項目需要通過HDMI獲取EDID的數據,需要學習一下其獲取的工作原理,所以在這里記錄下。
一、什么是HPD?
HPD是一種從HDMI顯示器端生成並傳輸至HDMI源端的檢測信號。HDMI中的Pin 19引腳的功能是檢測熱插拔,即HPD,Pin 19引腳上傳輸的信號是判斷HDMI源端是否發起EDID讀與發送TMDS信號的憑證標准。
熱插拔檢測(HPD)可以在配有HDMI接口的顯示設備信號中,當HDMI接口與源端相連或斷開時,確保HDMI源端可通過HDMI的HPD引腳檢測出這一過程並響應。
二、HDMI的HPD(熱插拔)原理
- 顯示器與HDMI源端設備通過HDMI連接,HDMI源端從HDMI接口的HPD引腳中檢測到顯示器與HDMI源端的連接狀態時,可通過HDMI接口顯示設備的數據通道,讀取到顯示器中的存儲數據。
- 當檢測出顯示器的工作模式和HDMI源端輸出設置相匹配時,HDMI源端即可激活TMDS信號的發送電路,並向顯示設備發送正常的HDMI信號。
- 如果顯示器和HDMI處於斷開狀態,HDMI源端可通過HPD的引腳檢測到顯示器的HDMI接口和HDMI源端處於斷開狀態,那么HDMI源端就會立即停止向HDMI發送信號。
三、HDMI源端對HPD信號有什么要求?
- HDMI源端檢測到HDMI接口的HPD引腳的電壓值大於2V時,即可判斷出HDMI顯示設備與HDMI源端已通過HDMI連接。而當HPD引腳的電壓小於0.8V時,即可判斷出HDMI顯示設備與HDMI源端的連接處於斷開狀態。
- HPD信號的狀態通常是由HDMI的Sink端表現出來,由一個1K歐姆的電阻上拉到HDMI +5V,並且本地的主處理器也可通過GPIO來控制。
- HDMI源端與HDMI 顯示器端進行連接時,HDMI源端可通過HDMI的第18根引腳把+5V電壓加到HDMI 顯示器端中的DDC儲存器中,並向DDC存儲器中供電,使HDMI Sink不啟動。此外,HDMI源端也可通過HDMI接口讀取EDID數據。
- HDMI源端啟動后生成+5V,並可通過第18根引腳向HDMI顯示器端實現供電,當HDMI顯示器接收到5V電壓后,內部線路可以把HDMI接口的第19根引腳HPD轉為高電平。
- 當HDMI顯示器與HDMI 源端之間的HDMI連接斷開時,HDMI 源端會檢測到HDP信號為低電平,那么HDMI源端的TMDS信號發送電路將停止工作。
- HDMI源端中的19Pin引腳可以接收到HPD的高電平,判斷出HDMI顯示器與HDMI源端處於連接狀態,並通過HDMI接口的第15、16根引腳DDC通道,讀取到顯示器中的EDID數據,同時讓HDMI源端的TMDS信號進行電路發送工作。