HDMI-分辨率 時鐘頻率 lane速率計算

PCLK: pixel clock(像素頻率) 計算方法如下:
以1920x1080p/60hz為例,total pixel:2200,total line:1125,filed rate:60Hz,那么:PCLK = 2200112560 = 148.5MHz;
1280x720p/60hz為例,total pixel:1650,total line:750,filed rate:60Hz,那么:PCLK = 165075160 = 74.25MHz;
3840x2160p/60hz YCC444為例,total pixel:4400,total line:2250,filed rate:60Hz,那么:PCLK = 4400225060 = 594MHz;

1920x1080p/60hz:total pixel:2200,total line:1125,filed rate:60Hz. PCLK = 2200 * 1125 * 60 = 148.5MHz;
148.5MHz X 3 =445.5Mhz
148.5MHz X 4 =594Mhz
148.5MHz X 5 =742.5Mhz
148.5MHz X 6 = 891Mhz


圖片.png

HDMI TDMS

英文全稱:H-High,D-Definition,M-Multimedia,I-Interface;高清晰度多媒體接口。

主要組成:4對TMDS差分對+DDC(I2C)+HPD+CEC

信號介紹:

a.4對TMDS差分信號:1對時鐘+3對數(shù)據(jù);

TMDS通道0傳輸B信號,同時H信號和V信號也嵌入該通道

TMDS通道1傳輸G信號

TMDS通道2傳輸R信號,R和G通道的多余位置用來傳輸音頻信號

b.CEC:消費電子控制通道,通過這條通道可以控制設(shè)備(不過我們公司目前沒有開發(fā)這功能)

c.DDC:就是I2C信號,主要是獲取顯示器的基本信息(比如EDID信息)

d.HPD:熱插拔信號,該信號比較重要,當HPD引腳大于2V,TMDS才會輸出。因此,如果屏幕沒有顯示,首先要測量該信號?。?!

HDMI傳輸原理和DVI相同,由Silicon Image公司發(fā)明的TMDS(Time Minimized Differential Signal)最小化傳輸差分信號傳輸技術(shù)
每個數(shù)據(jù)通道都通過編碼算法(異或、異或非等),將8位數(shù)據(jù)轉(zhuǎn)換成10位數(shù)據(jù),前8為數(shù)據(jù)由原始信號經(jīng)運算后獲得,第9位指示運算的方式,第10位用來對應(yīng)直流平衡。通過這種算法,會使得數(shù)據(jù)的傳輸和恢復(fù)更加可靠。

HDMI

1.傳輸最小化


圖片.png
第一步:將8位并行RED數(shù)據(jù)發(fā)送到TMDS Tx。
第二步:并/串轉(zhuǎn)換.
第三步:進行最小化傳輸處理,加上第9位,即編碼過程。第9位數(shù)據(jù)稱為編碼位。

2、直流平衡(DC-balanced):在編碼過程中,保證信道的直流偏移為零。方法是在原來的第9位數(shù)據(jù)后面加上1位,使得TMDS發(fā)送的“0”、“1”數(shù)量保持基本一致。這樣,傳輸?shù)臄?shù)據(jù)趨于直流平衡,使信號對傳輸線的電磁干擾減少,提高信號傳輸?shù)目煽啃浴?/p>

3、差分信號:利用兩引腳間電壓差來傳送信號。

二 HDMI與分辨率

PCLK:像素時鐘
以1920x1080p/60hz為例:1920108060=124.4MHz
以1280x720p/60hz為例:128072060=55.3MHz

帶寬:1s內(nèi)傳輸?shù)臄?shù)據(jù)量(bit)

4K頻率需要的帶寬:選最常用的3840x2160分辨率,色深的話常用的是8位,RGB三色就是24bit,目標是60Hz刷新率(60fps)→→→ 3840216024bit*60fps=11.94Gbps

HDMI1.4像素時鐘高達340MHz,即最大帶寬是:
              →→→ 340MHz10bit(10bit編碼)3(3個數(shù)據(jù)通道)=10.2Gbps

但是由于HDMI采用的是8bit/10bit編碼方式,實際效率是理論值的80%,所以10.2Gbps能傳輸?shù)淖畲笠曨l帶寬是10.2*0.8=8.1Gbps

HDMI 各個版本對比

圖片.png
圖片.png

HDMI type 類型

圖片.png

HDMI SINK 工作流程

例如像TV這種就是HDMI的接收端,那么HDMI接收端需要做些什么東西。

HDMI可以接收到的有三個通道的TMDS Data,TMDS Clock,可以設(shè)置Hotplug,還有DCC傳輸用的I2C引腳。上面已經(jīng)講了TMDS Data,與設(shè)置Hotplug,接下來分析TMDS Clock。

TMDS Clock 就是Pixel Clock,即一個像素點所用的時鐘頻率。TMDS Clock通過clk 引腳傳輸?shù)浇邮斩?,但是接收端并不清楚發(fā)送端發(fā)過來的TMDS Clock 頻率為多少,因此需要通過Phy(PHY是模擬數(shù)字轉(zhuǎn)換部分,不同于ADC,PHY是不知道采樣頻率的,需要自己鎖頻、鎖相,偵測確切的輸入頻率)來進行鎖相得到。但是由于HDMI頻寬太寬(480P@60Hz為25.2MHz,1080P@60Hz為162MHz,甚至還有高達340MHz的),一般VCO(壓控振蕩器,通過電壓控制產(chǎn)生的頻率)無法覆蓋這么大的范圍,因此需要分頻帶來設(shè)置Phy:

先偵測輸入頻率落在哪個頻帶,然后根據(jù)不同頻帶做不同設(shè)置。

用TV產(chǎn)生的晶振來數(shù)count,數(shù)得count后就知道TDMS Clock了

f crystal =count×f TMDS fcrystal=count×fTMDS f_{crystal} = {count}\times{f_{TMDS}} ??

或者用1024個TMDS Clock來數(shù)晶振個數(shù)

1024×f TMDS =count×f crystal 1024×fTMDS=count×fcrystal {1024}\times{f_{TMDS}} = {count}\times{f_{crystal}} ??

由于視頻信號從RGB個8bit通過TMDS編碼后變成了10bit,然后又串行化,所以實際用于接收TMDS Data所用的時鐘應(yīng)該為:

f ReceiveClock =10×f TMDS fReceiveClock=10×fTMDS f_{ReceiveClock} = {10}\times{f_{TMDS}}

另外ReceiveClock也可以不用直接采用上面的乘法,而是采用TMDSClock為參考、硬件鎖相的方法來得到。

得到ReceiveClock后就可以去設(shè)置頻率PLL,然后對三個通道進行采樣得到TMDS Data。

Timming Detect

在Sink端還有需要進行Timming Detect,因為如果設(shè)備可以支持(如chroma),HDMI可以自由更換Timming,而當Timming更換了之后,Sink需要重新設(shè)定Phy。因此,通過偵測頻率的改變來檢測是否更換了Timing是必要的。一般會有一個中斷服務(wù)(或循環(huán))線程來偵測頻率的改變,一旦頻率改變后,該進程會通知重新設(shè)定Phy,保證HDMI的正確運行

參考

https://blog.csdn.net/qq_25814297/article/details/123630942

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容