隨著超高清視頻與高幀率顯示需求的提升,大帶寬視頻接口被廣泛應(yīng)用,其中HDMI是使用最廣泛的音視頻傳輸接口。AMDFPGA憑借其高性能的邏輯資源和穩(wěn)定的高速串行接口,可以幫助用戶(hù)輕松實(shí)現(xiàn)HDMI2.1接口的產(chǎn)品部署。本文將以ZCU106開(kāi)發(fā)板為基礎(chǔ),介紹HDMI2.1的硬件和軟件實(shí)現(xiàn),并針對(duì)常見(jiàn)調(diào)試問(wèn)題給出解決思路。
HDMI2.1接口概述
High-Definition Multimedia Interface(HDMI)是一種傳輸音視頻數(shù)據(jù)的專(zhuān)用接口。目前最新的版本為HDMI 2.1,最大帶寬48Gbps,最大可支持8K30Hz RGB無(wú)壓縮的數(shù)據(jù)傳輸。
HDMI2.1在兼容HDMI2.0 TMDS傳輸模式的前提下,新增了FRL模式傳輸,并且可在TMDS和FRL模式之間任意切換,全方位兼容用戶(hù)使用需求。
AMD HDMI2.1 IP介紹
AMD HDMI2.1子系統(tǒng)支持最高12Gb/s@4lanes線(xiàn)速率并向下兼容HDMI2.0協(xié)議。子系統(tǒng)還支持可選的HDCP1.4和HDCP2.3加解密功能,并且已經(jīng)通過(guò)CTS認(rèn)證測(cè)試。
AMD HDMI2.1子系統(tǒng)支持16nm和7nm器件,最小器件為AU20P,并且在-1、-1LV、-2LV有速率限制,在選型時(shí)需要注意。

基于AMD FPGA實(shí)現(xiàn)的HDMI2.1方案需要兩個(gè)IP配合使用,分別是HDMI Phy Controller和HDMI2.1 subsystem。下面分別進(jìn)行介紹。
HDMI Phy Controller:
HDMI Phy Controller主要負(fù)責(zé)高速串行數(shù)據(jù)的物理層收發(fā),包括TMDS或FRL模式下的數(shù)據(jù)編解碼、時(shí)鐘恢復(fù)、電氣均衡等,簡(jiǎn)化串行收發(fā)器的使用。
接口介紹:
HDMI PHY Controller由多個(gè)子模塊組成,如下圖所示。
PHY Control/Status Manager模塊實(shí)現(xiàn)軟核對(duì)IP的寄存器和中斷控制,所有模塊的狀態(tài)和控制信號(hào)均由該模塊通過(guò)axi-lite總線(xiàn)與CPU或軟核通信。
NI-DRU用于支持較低線(xiàn)速率的應(yīng)用,如TMDS模式下的640x480@60Hz分辨率,線(xiàn)速率時(shí)鐘為25MHz,該時(shí)鐘通過(guò)GTREFCLK管腳接入QPLL或CPLL,但時(shí)鐘頻率小于QPLL(61.25MHz)和CPLL(50MHz)的最小工作頻率,此時(shí)通過(guò)NI-DRU功能仍然可以正常恢復(fù)出視頻數(shù)據(jù)。
User Clock Source模塊負(fù)責(zé)管理HDMI子系統(tǒng)的時(shí)鐘資源,例如HDMI2.1 RX子系統(tǒng)需要三個(gè)時(shí)鐘輸入到FPGA內(nèi)部,分別是TMDS模式下的隨路時(shí)鐘、FRL模式下的參考時(shí)鐘以及NI-DRU時(shí)鐘。

IP配置:

以HDMI2.1-RX為例,協(xié)議選擇HDMI2.1,最大線(xiàn)速率為12Gbps,時(shí)鐘模塊建議選擇MMCM,這樣可以很好的支持小數(shù)時(shí)鐘頻率。RX子系統(tǒng)需要三個(gè)外部輸入的時(shí)鐘:
Rx Ref clock selection:TMDS模式下的隨路時(shí)鐘,時(shí)鐘頻率跟隨分辨率變化;
FRL Ref clock selection:FRL模式下參考時(shí)鐘,-2器件頻率為400MHz,-1器件頻率為200MHz;
NI-DRU Ref clock Selection:提供給DRU模塊的時(shí)鐘,以恢復(fù)低線(xiàn)速率視頻數(shù)據(jù),可以與FRL參考時(shí)鐘共用一個(gè);
所有提供給GT的參考時(shí)鐘的抖動(dòng)要求不超過(guò)±100PPM,ni-dru參考時(shí)鐘頻率誤差不能超過(guò)±10 kHz。
HDMI2.1 Subsystem
HDMI2.1 Subsystem主要負(fù)責(zé)從PHY層捕獲HDMI流,從HDMI流中解析數(shù)據(jù)并轉(zhuǎn)換為視頻和音頻流。
接口介紹:
HDMI子系統(tǒng)主要為三部分組成,如下圖所示。HDMI Receiver Core主要功能為負(fù)責(zé)HPD握手、解析音頻、視頻流和HDR數(shù)據(jù),AXI-lite接口負(fù)責(zé)與軟核進(jìn)行寄存器和中斷通信,HDCP為可選功能,實(shí)現(xiàn)HDCP1.4和HDCP2.3加解密功能。

IP配置:

IP提供了axi-stream和native video接口供用戶(hù)內(nèi)部邏輯使用。
當(dāng)使用axis-stream接口時(shí),用戶(hù)需要外部提供s_axis_video_clk,時(shí)鐘頻率要求s_axis_video_clk >= HActive*Vactive*Frame Rate/PPC。
當(dāng)使用native video接口時(shí),PPC固定為4,視頻數(shù)據(jù)時(shí)鐘域?yàn)関ideo_clk,該時(shí)鐘來(lái)自hdmi phy controller。Tmds模式下,該時(shí)鐘為像素時(shí)鐘,頻率與分辨率成比例,如3840x2160@60Hz時(shí),該時(shí)鐘為4400*2250*60/4=148.5MHz;在FRL模式下,該時(shí)鐘為固定的400MHz。
Frl_clk為固定的450MHz,可以使用內(nèi)部mmcm或pll產(chǎn)生,供給IP使用。
參考設(shè)計(jì)
硬件設(shè)計(jì):
實(shí)現(xiàn)HDMI2.1接口需要GT外部添加適當(dāng)?shù)腅Q或retimer以滿(mǎn)足HDMI電氣特性。AMD官方推薦使用安森美NB7NQ621M或TI TMDS1204。
對(duì)于HDMI-RX接口,第四條lane在tmds模式下傳輸?shù)氖请S路時(shí)鐘,在frl模式下傳輸數(shù)據(jù),因此需要將第四lane同時(shí)接入GT Refclk管腳和GT RX管腳。推薦器件:FUSB340TMX實(shí)現(xiàn)1分2功能。
軟件設(shè)計(jì):
以ZCU106開(kāi)發(fā)板為例,AMD提供了帶有HDCP功能的HDMI-RX和HDMI-TX passthrough例程:
Vivado工程:

Vitis工程:

常見(jiàn)問(wèn)題及調(diào)試方法
1. 使能NI-DRU功能后,顯卡推小分辨率無(wú)法lock,dru時(shí)鐘顯示為1Hz:
出現(xiàn)此問(wèn)題是因?yàn)樘峁┙odru模塊的參考時(shí)鐘誤差超過(guò)了±10kHz,可以考慮更換精度更高的晶振,也可以修改軟件中的時(shí)鐘檢測(cè)參數(shù)暫時(shí)解決,方法如下:

將原來(lái)的最大最小值范圍擴(kuò)到可以覆蓋板上晶振的輸出頻率,此時(shí)dru模塊會(huì)恢復(fù)正常。
如下圖所示為NI-DRU功能正常運(yùn)行時(shí)的打印信息:

當(dāng)檢測(cè)到輸入當(dāng)前分辨率隨路時(shí)鐘小于CPLL最低限制(50MHz)時(shí),DRU功能自動(dòng)使能,并開(kāi)始計(jì)算CPLL、MMCM的分頻系數(shù):
CPLL:

fPLLClkin=400MHz,此時(shí)計(jì)算出線(xiàn)速率時(shí)鐘為2500MHz,即在2.5Gbps的線(xiàn)速率下對(duì)低速數(shù)據(jù)進(jìn)行過(guò)采樣。使用ila抓取GTH配置寄存器0x0003,配置數(shù)據(jù)為0x1C61,其中bit8-5為RX_DATA_WIDTH,這里對(duì)應(yīng)值為3,即RX_DATA_WIDTH=20bit,此時(shí)rxoutclk=2500/20=125MHz。

2. 選擇native video接口時(shí),ppc固定為4,tmds模式下video_de的寬度為Hactive/4,如下圖:

當(dāng)分辨率為FRL速率時(shí),video_de信號(hào)并不是Hactive/4,此時(shí)需要配合video_cke_out使用,當(dāng)video_de和video_cke_out同時(shí)為高電平時(shí),此時(shí)對(duì)應(yīng)的video_data為有效像素點(diǎn):

3. HDMI PHY Controller可以放在Block Design外面例化,此時(shí)可以通過(guò)修改GT_wizard以實(shí)現(xiàn)同一個(gè)GT Quad的RX運(yùn)行HDMI2.1,TX實(shí)現(xiàn)其它協(xié)議的功能或TX運(yùn)行HDMI2.1,RX運(yùn)行其它協(xié)議:

參考資料
PG333 HDMI-PHY-Controller
PG351 HDMI2.1 Receiver Subsystem Product Guide
UG576 Ultrascale GTH Transceivers
-
FPGA
+關(guān)注
關(guān)注
1660文章
22406瀏覽量
636073 -
amd
+關(guān)注
關(guān)注
25文章
5682瀏覽量
139914 -
HDMI
+關(guān)注
關(guān)注
34文章
1899瀏覽量
160453
原文標(biāo)題:AMD技術(shù)干貨|基于AMD FPGA的HDMI2.1接口實(shí)現(xiàn)
文章出處:【微信號(hào):AvnetAsia,微信公眾號(hào):安富利】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
三星HDMI2.1接口QLED電視,給你帶來(lái)視覺(jué)上的享受
8K接口HDMI2.1有什么作用到底需不需要HDMI 2.1
HDMI2.1新增了哪些不可忽視的重要功能
HDMI2.1的降噪措施
HDMI2.1標(biāo)準(zhǔn)的定義及其與HDMI2.0的區(qū)別
HDMI2.1和HDMI2.0之間有什么區(qū)別
CS5298 Type-C轉(zhuǎn)HDMI 2.1轉(zhuǎn)換方案芯片,CS5298 DP1.4轉(zhuǎn)HDMI2.1轉(zhuǎn)換芯片
HDMI2.1進(jìn)行了哪些改良
掌握連接線(xiàn)HDMI2.1和HDMI2.0的區(qū)別-科蘭
基于AMD FPGA的HDMI2.1接口實(shí)現(xiàn)
評(píng)論