引言
做圖像處理沒有顯示怎么能行,所以用兩章來介紹HDMI的協(xié)議以及編碼實現(xiàn)。HDMI的編碼,仿真和調(diào)試會花費較長時間,特別是第一次在windows環(huán)境下部署UVM環(huán)境,對于剛剛?cè)腴TUVM的我來說,這塊也花費了很長時間。截止目前設(shè)計和仿真的代碼都已經(jīng)做完。所以這章主要介紹HDMI的協(xié)議以及設(shè)計的架構(gòu),之后再用一章來介紹HDMI的實現(xiàn)和驅(qū)動編寫。
HDMI協(xié)議簡介
HDMI包含物理層和鏈路層結(jié)構(gòu),物理層定義了信號的物理接口,以及物理層物理層編碼方式。鏈路層定義了幀格式,包含了圖像,聲音,和控制信息。
1)物理層信號
TMDS Data:采用差分傳輸,共有三路。
TMDS Data shield:
TMDS clock:A類型的時鐘頻率小于55MHz,即最大傳輸165M pixels/sec。
TMDS clock shield:
SCL:串口通信時鐘。
SDA:串口通信數(shù)據(jù)通路。
CEC:用戶可以通過CEC協(xié)議對設(shè)備進行控制。
Hot Plug Detect:對供電電源進行檢測信號,提示電源超過或者不足。
圖1.1 物理層信號定義
2)鏈路層結(jié)構(gòu)
鏈路層主要包含如下信息:
圖1.2 鏈路層包含信息
整個傳輸?shù)膸瑫r序結(jié)構(gòu)如圖1.3:其中HSYNC、VSYNC是圖像同步信號,都為高電平,表示是有效圖像數(shù)據(jù)。Preamble用于區(qū)分?jǐn)?shù)據(jù)類型,具體如圖1.4。video數(shù)據(jù)以2bit的leading gurad band開頭,之后是連續(xù)的一行圖像數(shù)據(jù)。Data island用于傳輸聲音信息,一些音視頻描述信息等。Data island被放置于非有效video圖像區(qū)域。這部分不是必須的,我們進行圖像處理僅僅用于顯示處理,所以不進行data island字段設(shè)計。這部分介紹略過。
內(nèi)容
圖1.4 preamble結(jié)構(gòu)
3)物理層編碼
控制信號包括HSYNC、VSYNC以及CTL0……2。其具體映射到物理傳輸線上為:
Case(D1, D0):
0, 0: q = 10b1101010100;
0, 1: q = 10b0010101011;
1, 0: q = 10b0101010100;
1, 1: q = 10b1010101011;
Endcase
Video數(shù)據(jù)8bit被編碼為10bit,這樣可以降低TMDS物理路徑上電位轉(zhuǎn)變次數(shù)。算法如下:
圖1.5 video data物理層編碼
HDMI設(shè)計架構(gòu)
HDMI設(shè)計中不包含data island的結(jié)構(gòu)解析,因為僅僅用于顯示。整體結(jié)構(gòu)如圖2.1。包含兩大部分:
1)hdmi_link
用于從ddr中獲得圖像數(shù)據(jù),并封裝成鏈路層格式。其中cfg是通過arm端實現(xiàn)寄存器配置,包括圖像的起始地址,大小,圖像長寬,blank的大小等。Ctrl是實現(xiàn)對HDMI的整體控制,包括使能HDMI發(fā)送,處理hotplug以及產(chǎn)生HDMI傳輸中斷等。Img_reader通過axi總線從DDR中獲得圖像數(shù)據(jù),pack是完成鏈路層格式的打包,并發(fā)送到物理層。
2)hdmi_phy
這層主要是將鏈路層幀結(jié)構(gòu)進行物理編碼,并轉(zhuǎn)換為串行數(shù)據(jù)發(fā)送出去。Encoder就是對幀結(jié)構(gòu)進行編碼,每8bit轉(zhuǎn)換為10bit數(shù)據(jù)。Serial中用到了芯片的SERDERS,將并行10bit數(shù)據(jù)轉(zhuǎn)化為高速串行數(shù)據(jù)。
3)PLL
產(chǎn)生兩種時鐘信號:一種用于鏈路層數(shù)據(jù)打包和讀取等,而tmds_clk是高速串行時鐘。用于提供給物理接口。
圖2.1 HDMI設(shè)計結(jié)構(gòu)
驗證架構(gòu)
這部分用UVM來實現(xiàn)的,利用了UVM的基本架構(gòu)。大致如圖3.1。
1)img_seq,img_drv
產(chǎn)生圖像并通過axi發(fā)送給DUT,同時將數(shù)據(jù)發(fā)送給img_monitor用于產(chǎn)生對比數(shù)據(jù)。
2)sw config
模擬軟件行為,配置寄存器數(shù)據(jù)。
3)img_monitor
獲取原始img數(shù)據(jù)產(chǎn)生對比文件,然后拉取DUT中l(wèi)ink層和phy層數(shù)據(jù),進行對比。輸出對比結(jié)果。
圖3.1 UVM驗證架構(gòu)
總結(jié)
簡單介紹了HDMI協(xié)議,并設(shè)計了HDMI顯示架構(gòu)。完成了設(shè)計和仿真代碼。下一章將會介紹仿真和調(diào)試過程。
編輯:hfy
-
HDMI
+關(guān)注
關(guān)注
32文章
1735瀏覽量
152395 -
圖像處理
+關(guān)注
關(guān)注
27文章
1300瀏覽量
56894
發(fā)布評論請先 登錄
相關(guān)推薦
HDMI接口與MT6582V兼容,實現(xiàn)HDMI投影連接
山澤科技引領(lǐng)HDMI 2.1 FRL協(xié)議的創(chuàng)新之路
HDMI TMDS和FRL協(xié)議是什么?
HDMI接口類型有哪些 HDMI接口與DisplayPort接口的比較
索尼FCB模組搭配HDMI編碼板助力道路監(jiān)控
光纖HDMI線與銅芯HDMI線:山澤品牌推薦
如何實現(xiàn)比較器以提高工業(yè)驅(qū)動應(yīng)用中旋轉(zhuǎn)編碼器的性能
![如何<b class='flag-5'>實現(xiàn)</b>比較器以提高工業(yè)<b class='flag-5'>驅(qū)動</b>應(yīng)用中旋轉(zhuǎn)<b class='flag-5'>編碼</b>器的性能](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Linux網(wǎng)絡(luò)協(xié)議棧的實現(xiàn)
![Linux網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>棧的<b class='flag-5'>實現(xiàn)</b>](https://file1.elecfans.com/web2/M00/06/C6/wKgaombfpT-AeVQcAACjr17dpiQ190.png)
HDMI 2.0與HDMI 2.1有什么區(qū)別
關(guān)于LT86101X國產(chǎn)芯片的特點以及適用程序:HDMI、DVI中繼器
![關(guān)于LT86101X國產(chǎn)芯片的特點<b class='flag-5'>以及</b>適用程序:<b class='flag-5'>HDMI</b>、DVI中繼器](https://file1.elecfans.com/web2/M00/FA/A9/wKgaomaLmmuAI7XyAACvL3jlSNs440.png)
TDP0604 HDMI 2.0轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表
![TDP0604 <b class='flag-5'>HDMI</b> 2.0轉(zhuǎn)接<b class='flag-5'>驅(qū)動</b>器數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論