原創(chuàng)聲明:
本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處(http://www.alinx.com)。
適用于板卡型號(hào):
PGL22G/PGL12G
1. 實(shí)驗(yàn)簡(jiǎn)介
HDMI做為視頻輸出輸入接口已經(jīng)廣泛使用很長(zhǎng)時(shí)間,主要通過TMDS差分編碼傳輸。本實(shí)驗(yàn)通過在HDMI屏幕上顯示彩條,來練習(xí)視頻的時(shí)序和視頻顏色的表示,為后面視頻處理實(shí)驗(yàn)做個(gè)基礎(chǔ)。
2. 實(shí)驗(yàn)原理
2.1 硬件介紹
開發(fā)板使用4對(duì)TMDS差分顯示, 其中一對(duì)是時(shí)鐘,其他三對(duì)是數(shù)據(jù)。
HDMI采用和DVI相同的傳輸原理——TMDS(Transition Minimized Differential signal),最小化傳輸差分信號(hào)。
TMDS傳輸系統(tǒng)分為分為兩個(gè)部分:發(fā)送端和接收端。TMDS發(fā)送端收到HDMI接口傳來的表示RGB信號(hào)的24位并行數(shù)據(jù)(TMDS對(duì)每個(gè)像素的RGB三原色分別按8bit編碼,即R信號(hào)有8位,G信號(hào)有8位,B信號(hào)有8位),然后對(duì)這些數(shù)據(jù)進(jìn)行編碼和并/串轉(zhuǎn)換,再將表示3個(gè)RGB信號(hào)的數(shù)據(jù)分別分配到獨(dú)立的傳輸通道發(fā)送出去。接收端接收來自發(fā)送端的串行信號(hào),對(duì)其進(jìn)行解碼和串/并轉(zhuǎn)換,然后發(fā)送到顯示器的控制端。與此同時(shí)也接收時(shí)鐘信號(hào),以實(shí)現(xiàn)同步。
TMDS的原理
每一個(gè)TMDS鏈路都包括3個(gè)傳輸RGB信號(hào)的數(shù)據(jù)通道和1個(gè)傳輸時(shí)鐘信號(hào)的通道。每一個(gè)數(shù)據(jù)通道都通過編碼算法,將8位的視、音頻數(shù)據(jù)轉(zhuǎn)換成最小化傳輸、直流平衡的10位數(shù)據(jù)。這使得數(shù)據(jù)的傳輸和恢復(fù)更加可靠。最小化傳輸差分信號(hào)是通過異或及異或非等邏輯算法將原始8位信號(hào)數(shù)據(jù)轉(zhuǎn)換成10位,前8為數(shù)據(jù)由原始信號(hào)經(jīng)運(yùn)算后獲得,第9位指示運(yùn)算的方式,第10位用來對(duì)應(yīng)直流平衡。
一般來說,HDMI傳輸?shù)木幋a格式中要包含視頻數(shù)據(jù)、控制數(shù)據(jù)和數(shù)據(jù)包(數(shù)據(jù)包中包含音頻數(shù)據(jù)和附加信息數(shù)據(jù),例如糾錯(cuò)碼等)。TMDS每個(gè)通道在傳輸時(shí)要包含一個(gè)2bit的控制數(shù)據(jù)、8bit的視頻數(shù)據(jù)或者4bit的數(shù)據(jù)包即可。在HDMI信息傳輸過程中,可以分為三個(gè)階段:視頻數(shù)據(jù)傳輸周期、控制數(shù)據(jù)傳輸周期和數(shù)據(jù)島傳輸周期,分別對(duì)應(yīng)上述的三種數(shù)據(jù)類型。
下面介紹TMDS中采用的技術(shù):
1.傳輸最小化
8位數(shù)據(jù)經(jīng)過編碼和直流平衡得到10位最小化數(shù)據(jù),這仿佛增加了冗余位,對(duì)傳輸鏈路的帶寬要求更高,但事實(shí)上,通過這種算法得到的10位數(shù)據(jù)在更長(zhǎng)的同軸電纜中傳輸?shù)目煽啃栽鰪?qiáng)了。下圖是一個(gè)例子,說明對(duì)一個(gè)8位的并行RED數(shù)據(jù)編碼、并/串轉(zhuǎn)換。
![o4YBAGAY4oqAMlQIAABHEBXPrLs079.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4oqAMlQIAABHEBXPrLs079.jpg)
第一步:將8位并行RED數(shù)據(jù)發(fā)送到TMDS發(fā)送端。
第二步:并/串轉(zhuǎn)換.
第三步:進(jìn)行最小化傳輸處理,加上第9位,即編碼過程。第9位數(shù)據(jù)稱為編碼位。
2.直流平衡
直流平衡(DC-balanced)就是指在編碼過程中保證信道中直流偏移為零。方法是在原來的9位數(shù)據(jù)的后面加上第10位數(shù)據(jù),這樣,傳輸?shù)臄?shù)據(jù)趨于直流平衡,使信號(hào)對(duì)傳輸線的電磁干擾減少,提高信號(hào)傳輸?shù)目煽啃浴?/p>
3.差分信號(hào)
TMDS差分傳動(dòng)技術(shù)是一種利用2個(gè)引腳間電壓差來傳送信號(hào)的技術(shù)。傳輸數(shù)據(jù)的數(shù)值(“0”或者“1”)由兩腳間電壓正負(fù)極性和大小決定。即,采用2根線來傳輸信號(hào),一根線上傳輸原來的信號(hào),另一根線上傳輸與原來信號(hào)相反的信號(hào)。這樣接收端就可以通過讓一根線上的信號(hào)減去另一根線上的信號(hào)的方式來屏蔽電磁干擾,從而得到正確的信號(hào)。
如下圖所示:
![pIYBAGAY4ouAXdb1AABJQvOMQgc798.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4ouAXdb1AABJQvOMQgc798.jpg)
另外,還有一個(gè)顯示數(shù)據(jù)通道(DDC),是用于讀取表示接收端顯示器的清晰度等顯示能力的擴(kuò)展顯示標(biāo)識(shí)數(shù)據(jù)(EDID)的信號(hào)線。搭載HDCP(High-bandwidth Digital Content Protection,高帶寬數(shù)字內(nèi)容保護(hù)技術(shù))的發(fā)送、接收設(shè)備之間也利用DDC線進(jìn)行密碼鍵的認(rèn)證。
![o4YBAGAY4ouAXaKHAACN3x3dheQ604.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4ouAXaKHAACN3x3dheQ604.jpg)
HDMI輸出部分電路
2.2 視頻時(shí)序標(biāo)準(zhǔn)
HDMI顯示器掃描方式從屏幕左上角一點(diǎn)開始,從左向右逐點(diǎn)掃描,每掃描完一行,電子束回到屏幕的左邊下一行的起始位置,在這期間,CRT對(duì)電子束進(jìn)行消隱,每行結(jié)束時(shí),用行同步信號(hào)進(jìn)行同步;當(dāng)掃描完所有的行,形成一幀,用場(chǎng)同步信號(hào)進(jìn)行場(chǎng)同步,并使掃描回到屏幕左上方,同時(shí)進(jìn)行場(chǎng)消隱,開始下一幀。
完成一行掃描的時(shí)間稱為水平掃描時(shí)間,其倒數(shù)稱為行頻率;完成一幀(整屏)掃描的時(shí)間稱為垂直掃描時(shí)間,其倒數(shù)稱為場(chǎng)頻率,即刷新一屏的頻率,常見的有60Hz,75Hz等等。標(biāo)準(zhǔn)的顯示的場(chǎng)頻60Hz。
時(shí)鐘頻率:以[email protected](60Hz)為例,每場(chǎng)對(duì)應(yīng)806個(gè)行周期,其中768為顯示行。每顯示行包括1344點(diǎn)時(shí)鐘,其中1024點(diǎn)為有效顯示區(qū)。由此可知:需要點(diǎn)時(shí)鐘頻率:806*1344*60約65MHz。
![pIYBAGAY4oyAVa1OAADBb4prQyA907.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4oyAVa1OAADBb4prQyA907.jpg)
視頻時(shí)序
VGA掃描,基本元素是行掃描,多行組成一幀,下圖顯示一行的時(shí)序,其中“Active”Video是一行視頻的有效像素,大部分分辨率時(shí)鐘中Top/Left Border 和 Bottom / Right Border都是0?!癇lanking”是一行的同步時(shí)間,“Blanking”時(shí)間加上Active”Video時(shí)間就是一行的時(shí)間?!癇lanking”又分為“Front Porch”、“Sync”、“Back Porch”三段。
![o4YBAGAY4oyAJCEdAABEaIJdgxw387.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4oyAJCEdAABEaIJdgxw387.jpg)
行同步時(shí)序
常見分辨率時(shí)序
![pIYBAGAY4o2AMAI6AAGhRKRwuz4708.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4o2AMAI6AAGhRKRwuz4708.jpg)
640x480@60Hz時(shí)序參數(shù)
![o4YBAGAY4o6AXz6SAAG9TGM62k0244.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4o6AXz6SAAG9TGM62k0244.jpg)
800x600@60Hz時(shí)序參數(shù)
![pIYBAGAY4o6AclSpAAHKOXu_t8U198.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4o6AclSpAAHKOXu_t8U198.jpg)
1024x768@60Hz時(shí)序參數(shù)
![o4YBAGAY4o-AeUruAAGrDXPNo3w942.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4o-AeUruAAGrDXPNo3w942.jpg)
1280x720@60Hz時(shí)序參數(shù)
![pIYBAGAY4o-AbC0OAAGcKleXteI434.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4o-AbC0OAAGcKleXteI434.jpg)
1280x800@60Hz時(shí)序參數(shù)
![o4YBAGAY4pCAfFmqAAHI4J5y0Tc497.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4pCAfFmqAAHI4J5y0Tc497.jpg)
1280x960@60Hz時(shí)序參數(shù)
![pIYBAGAY4pGAcCmKAAHTPY44gxQ415.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4pGAcCmKAAHTPY44gxQ415.jpg)
1280x1024@60Hz時(shí)序參數(shù)
![o4YBAGAY4pKAUTcLAAHEEJVE6Dg704.jpg](https://file.elecfans.com//web1/M00/DD/EE/o4YBAGAY4pKAUTcLAAHEEJVE6Dg704.jpg)
1920x1080@60Hz時(shí)序參數(shù)
3. HDMI輸出程序設(shè)計(jì)
本實(shí)驗(yàn)將實(shí)現(xiàn)HDMI輸出顯示,verilog實(shí)現(xiàn)編程驅(qū)動(dòng)HDMI輸出,在HDMI顯示器里顯示測(cè)試圖像彩條。HDMI輸出顯示模塊分成3個(gè)模塊實(shí)現(xiàn),分別是時(shí)鐘模塊vidio_pll, 彩條生成模塊color_bar和VGA轉(zhuǎn)DVI模塊dvi_encoder。實(shí)現(xiàn)的邏輯框圖如下:
![pIYBAGAY4pOAU7Q3AACXrWMT1o8836.jpg](https://file.elecfans.com//web1/M00/DE/65/pIYBAGAY4pOAU7Q3AACXrWMT1o8836.jpg)
1. 彩條產(chǎn)生模塊color_bar.v
color_bar.v是產(chǎn)生8種顏色的VGA格式的彩條,彩條分別為白、黃、青、綠、紫、紅、藍(lán)和黑。針對(duì)VGA的時(shí)序,行同步和場(chǎng)同步各使用一個(gè)計(jì)數(shù)器,行同步計(jì)數(shù)器用于產(chǎn)生行同步,行有效像素,場(chǎng)同步計(jì)數(shù)器用于產(chǎn)生場(chǎng)同步,場(chǎng)有效像素。同時(shí)根據(jù)計(jì)數(shù)器的值可以產(chǎn)生水平(X)和垂直(Y)坐標(biāo),通過坐標(biāo)信息,可以實(shí)時(shí)顯示一些圖形。程序中預(yù)設(shè)了幾種分辨率的時(shí)序參數(shù),包括2款LCD液晶屏的,為后續(xù)的LCD驗(yàn)證試驗(yàn)做準(zhǔn)備。
2. VGA轉(zhuǎn)DVI模塊dvi_encoder
dvi_encoder模塊中包含兩個(gè)模塊encode和serdes_4b_10to1模塊,實(shí)現(xiàn)RGB格式的圖像轉(zhuǎn)化成TMDS差分輸出,來驅(qū)動(dòng)HDMI顯示。
1). encode: 紅,綠,藍(lán)的8位視頻數(shù)據(jù)及時(shí)鐘編碼成10位的TMDS視頻數(shù)據(jù)。關(guān)于編碼的原因和方法我們已經(jīng)在前面介紹過,具體如何實(shí)現(xiàn),有興趣的同學(xué)可以參考文檔"08_其它學(xué)習(xí)資料\TMDS視頻數(shù)據(jù)編碼.doc"
2). serdes_4b_10to1:方法是通過兩個(gè)OSERDESE2的串聯(lián)把10比特的并行數(shù)據(jù)轉(zhuǎn)換成串行發(fā)送出去。
4. HMDI輸出試驗(yàn)現(xiàn)象
連接好開發(fā)板和顯示器,需要注意,開發(fā)板的各個(gè)連接器不要帶電熱插拔,下載好試驗(yàn)程序,可以看到顯示器顯示8條彩條。開發(fā)板做為HDMI輸出設(shè)備,只能通過HDMI顯示設(shè)備來顯示,不要試圖通過筆記本電腦的HDMI接口來顯示,因?yàn)楣P記本的HDMI接口也是輸出設(shè)備。
HDMI顯示器連接
彩條顯示
在用開發(fā)板做4.3寸LCD、7寸LCD屏顯示實(shí)驗(yàn)時(shí),LCD模塊接開發(fā)板的J8擴(kuò)展口,注意管腳不要接錯(cuò)。
如下圖所示:
開發(fā)板與LCD屏連接
-
FPGA
+關(guān)注
關(guān)注
1630文章
21803瀏覽量
606451 -
HDMI
+關(guān)注
關(guān)注
32文章
1746瀏覽量
152504 -
編程
+關(guān)注
關(guān)注
88文章
3640瀏覽量
94042 -
TMDS
+關(guān)注
關(guān)注
1文章
22瀏覽量
15559 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
5文章
89瀏覽量
27579
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
國(guó)產(chǎn)FPGA介紹-紫光同創(chuàng)
紫光同創(chuàng)PGL22G開發(fā)板|盤古22K開發(fā)板,國(guó)產(chǎn)FPGA開發(fā)板,接口豐富,高性價(jià)比
Sklearn與TensorFlow機(jī)器學(xué)習(xí)實(shí)用指南——第九章習(xí)題答案
紫光同創(chuàng)PGL22G開發(fā)板|盤古22K開發(fā)板,國(guó)產(chǎn)FPGA開發(fā)板,接口豐富,高性價(jià)比
紫光同創(chuàng)FPGA開發(fā)套件,高性能國(guó)產(chǎn)FPGA方案
功率放大電路問答第九章
振幅調(diào)制與解調(diào) 第九章
單片機(jī)c語言教程第九章--C51運(yùn)算符和表達(dá)式(指針和地址運(yùn)
![單片機(jī)c語言教程<b class='flag-5'>第九章</b>--C51運(yùn)算符和表達(dá)式(指針和地址運(yùn)](https://file1.elecfans.com//web2/M00/A4/C2/wKgZomUMNZCABTgEAABByju28Zc091.jpg)
【正點(diǎn)原子FPGA連載】第九章按鍵控制LED燈實(shí)驗(yàn) -摘自【正點(diǎn)原子】新起點(diǎn)之FPGA開發(fā)指南_V2.1
![【正點(diǎn)原子<b class='flag-5'>FPGA</b>連載】<b class='flag-5'>第九章</b>按鍵控制LED燈<b class='flag-5'>實(shí)驗(yàn)</b> -摘自【正點(diǎn)原子】新起點(diǎn)之<b class='flag-5'>FPGA</b>開發(fā)指南_V2.1](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Linux應(yīng)用開發(fā)【第九章】GPIO編程應(yīng)用開發(fā)
![Linux應(yīng)用開發(fā)【<b class='flag-5'>第九章</b>】GPIO<b class='flag-5'>編程</b>應(yīng)用開發(fā)](https://file.elecfans.com//web2/M00/24/ED/pYYBAGGzOE6AcYxJAANS_fETZ9Y449.png)
第九章 數(shù)模和模數(shù)轉(zhuǎn)換
![<b class='flag-5'>第九章</b> 數(shù)模和模數(shù)轉(zhuǎn)換](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論