HDMI EDID 信息查找 physical address

在使用 HDMI CEC 功能時,有些 CEC 命令需要用到 physical address 參數,該參數一般存儲在 HDMI EDID 信息當中,本文講述如何在 HDMI EDID 信息中找到 physical address。

一、EDID 信息結構

EDID 分為主塊和擴展塊,大小都是 128byte,整個 EDID 大小為 256byte,0-127 為主塊,128-255 為擴展塊,而 physical address 則儲存與擴展塊中。

 

二、physical address

HDMI 每個設備都會通過 DDC 總線來分配 physical address ,通過 CEC 總線分配 logic address,DDC 是 HDMI 中必需有的總線,而 CEC 是可選的,所以 每個設備都會有 physical address。

 

對於 EDID 擴展塊來說,其包含了 VDB、ADB、SADB、VSDB

 

擴展塊開始的 4 個字節信息如下:

 

而 physical address 存儲在 EDID 中的 VSDB(Vendor Specific Data Block)中,physical address = A.B.C.D:

 

每個功能塊的結構基本相似,參考 VSDB ,可以看到塊開始的第一個字節就是塊的 tag 和 塊的長度 length :

 

注意:length 不包括該字節

有了這些信息我們可以通過檢查 tag 判斷是否為 VSDB ,如果不是可以通過 length 計算下個功能塊的地址,繼續檢查 tag ,得到 VSDB 地址後就可以得到 physical address 了。

參考資料:

《HDMI 規範》

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論