前言
HDMI既可以傳輸視頻信號(hào),也可以傳輸音頻信號(hào)。
HDMI接口顯示使用DMT時(shí)序+TMDS編碼來(lái)實(shí)現(xiàn)。當(dāng)用FPGA控制HDMI的數(shù)據(jù)傳輸時(shí),通??梢圆捎眉僐TL實(shí)現(xiàn)TMDS算法或者使用專(zhuān)門(mén)的HDMI芯片(如ADV7513)這兩種方案來(lái)完成。本文主要是介紹如何用FPGA控制ADV7513實(shí)現(xiàn)HDMI畫(huà)面顯示和音頻播放。
顯示器時(shí)序(DMT)標(biāo)準(zhǔn)介紹
DMT(Display Monitor Timing)是由VESA(視頻電子標(biāo)準(zhǔn)協(xié)會(huì))制定的顯示器時(shí)序標(biāo)準(zhǔn),用于定義計(jì)算機(jī)顯示器的視頻信號(hào)參數(shù)。是現(xiàn)代數(shù)字顯示設(shè)備的核心規(guī)范。開(kāi)發(fā)人員應(yīng)遵循DMT標(biāo)準(zhǔn)使自己的設(shè)計(jì)成為符合行業(yè)標(biāo)準(zhǔn)的產(chǎn)品。
在深入了解DMT時(shí)序之前,首先需要掌握一些與圖像相關(guān)的基本概念,如像素、分辨率、刷新率、像素時(shí)鐘等。
1 圖像相關(guān)的幾個(gè)基本概念
像素(Pixel):是“圖像元素”(Picture Element)的縮寫(xiě),是構(gòu)成數(shù)字圖像(如照片、屏幕顯示內(nèi)容等)的基本單位??梢詫⑵淅斫鉃閿?shù)字圖像中的 “最小點(diǎn)”,一張圖像由無(wú)數(shù)個(gè)像素按照一定規(guī)律排列組成。
分辨率:指圖像的像素總量,通常以“寬度 × 高度” 的形式表示(單位為像素)。例如:一張分辨率為 640×480 的圖片,意味著橫向有 640 個(gè)像素,縱向有 480 個(gè)像素,總像素?cái)?shù)307200個(gè)。常見(jiàn)的圖像分辨率還包括 2560×1440(2K)、3840×2160(4K)等。
刷新率:刷新率是描述顯示器每秒刷新畫(huà)面次數(shù)的指標(biāo),單位為“赫茲(Hz)”。刷新率數(shù)值越高,動(dòng)態(tài)畫(huà)面越流暢,但需內(nèi)容和硬件共同支持。選擇時(shí)需平衡流暢需求、設(shè)備性能和功耗,例如日常使用 60Hz 足夠,游戲或高頻操作場(chǎng)景則可優(yōu)先考慮 90Hz 及以上刷新率。
像素時(shí)鐘(Pixel Clock):簡(jiǎn)稱(chēng)PCLK,是數(shù)字視頻系統(tǒng)中用于同步像素?cái)?shù)據(jù)傳輸?shù)臅r(shí)鐘信號(hào)。根據(jù)行同步時(shí)序以及場(chǎng)同步時(shí)序可以計(jì)算得到像素的時(shí)鐘=水平總像素*垂直總行數(shù)*60, 比如640*480@60分辨率的像素時(shí)鐘是:800 * 525 * 60 = 25.2MHz
2 顯示器時(shí)序介紹
如下是DMT時(shí)序,代表顯示一整幀的傳輸時(shí)序:

在顯示器時(shí)序中,sync(同步)、porch(消隱間隔)、和 border(邊框)是用于控制顯示器如何逐行和逐幀繪制圖像的關(guān)鍵參數(shù)。這些參數(shù)一起定義了每一行和每一幀圖像的精確時(shí)序。
sync(同步):同步信號(hào)分行同步(HSYNC)脈沖和場(chǎng)同步(VSYNC)脈沖。
HSYNC用于控制每一行像素的開(kāi)始和結(jié)束。它告訴顯示器何時(shí)開(kāi)始繪制新的一行。每當(dāng)一行像素繪制完成時(shí),HSYNC信號(hào)會(huì)產(chǎn)生一個(gè)脈沖,提示顯示器移動(dòng)到下一行。
VSYNC用于控制一幀圖像的開(kāi)始和結(jié)束。當(dāng)所有行的像素都繪制完畢時(shí),VSYNC信號(hào)產(chǎn)生一個(gè)脈沖,提示顯示器返回到屏幕頂部,準(zhǔn)備繪制下一幀。
porch(消隱間隔):在傳統(tǒng)的CRT顯示器的掃描過(guò)程中,掃描總是從顯示器的左上角開(kāi)始,水平向前行進(jìn),同時(shí)掃描點(diǎn)也以較慢的速率向下移動(dòng)。當(dāng)掃描點(diǎn)到達(dá)顯示器右側(cè)邊緣時(shí),掃描點(diǎn)快速返回左側(cè),重新開(kāi)始在第1行的起點(diǎn)下面進(jìn)行第2行掃描。當(dāng)掃描完顯示器上所有的行,就形成一幀,然后電子束要從顯示器的右下角返回到顯示器的左上角,開(kāi)始新一幀的掃描。

電子束在行與行之間的返回過(guò)程以及在幀與幀之間的返回過(guò)程(從右下角返回到顯示器的左上角)都稱(chēng)之為逆程,掃描正程期間傳送圖像信號(hào),逆程期間不傳送圖像信號(hào)。電子束逆程掃描在熒光屏上出現(xiàn)回掃線,將對(duì)正程的圖像造成干擾,影響圖像的清晰度。因此需使顯示器在行、場(chǎng)掃描逆程期間電子束截止,以消除行、場(chǎng)逆程回掃線,即實(shí)現(xiàn)消隱。消隱分為前消隱間隔和后消隱間隔。
前消隱間隔(Front Porch):有效視頻之后,同步脈沖之前,為同步脈沖的清晰識(shí)別提供保障,是行/幀結(jié)束的“預(yù)告”。
后消隱間隔(Back Porch):同步脈沖之后,有效視頻之前,提供電路穩(wěn)定時(shí)間,確保準(zhǔn)確開(kāi)始繪制像素。
注:消隱間隔在CRT顯示器(陰極射線管顯示器)中起到了重要作用,目前為了兼容性和穩(wěn)定性,消隱間隔在LCD等現(xiàn)代顯示器中仍然保留。
border(邊框):通常就是指屏幕四周的黑邊。在顯示器的時(shí)序中,border(邊框)區(qū)域定義了可見(jiàn)圖像之外的部分,通常會(huì)顯示為屏幕四周的黑邊。這些黑邊在現(xiàn)代顯示器上通常是不可見(jiàn)的,或者僅在特定情況下才會(huì)出現(xiàn),例如在分辨率與顯示器實(shí)際尺寸不匹配時(shí)。邊框是圖像周?chē)牟豢梢?jiàn)區(qū)域,通常用于在屏幕的可見(jiàn)顯示區(qū)域和消隱間隔之間提供一個(gè)緩沖區(qū)。邊框區(qū)域不顯示圖像數(shù)據(jù),但它在時(shí)序中占有一定的時(shí)間,以確保圖像的穩(wěn)定性和完整性。避免因顯示器電路
處理時(shí)間不足而導(dǎo)致的圖像抖動(dòng)、扭曲或閃爍。
Addressable video:位于中間的區(qū)域就是我們通常稱(chēng)為的可顯示圖像區(qū)域,也就是分辨率實(shí)際描述的區(qū)域。這是屏幕上實(shí)際用于顯示圖像內(nèi)容的部分。
Polarity(極性):是指同步信號(hào)(包括水平同步信號(hào)HSYNC和垂直同步信號(hào)VSYNC)的信號(hào)電平方向,通常標(biāo)記為正極性(Positive Polarity)或負(fù)極性(Negative Polarity)。為了確保不同硬件、軟件和標(biāo)準(zhǔn)之間的無(wú)縫協(xié)作,同步信號(hào)的極性有四種可選:
1. 行、場(chǎng)同步信號(hào)正極性:

2. 行同步信號(hào)正極性、場(chǎng)同步信號(hào)負(fù)極性:

3. 行、場(chǎng)同步信號(hào)負(fù)極性:

4. 行同步信號(hào)負(fù)極性、場(chǎng)同步信號(hào)正極性:

本教程選擇的是行、場(chǎng)同步信號(hào)負(fù)極性。
3 顯示器時(shí)序中不同分辨率刷新率的參數(shù)
不同分辨率的時(shí)序參數(shù)各不相同。我們可以通過(guò)查閱DMT 文檔(下載地址https://vesa.org/vesa-standards/)來(lái)獲取這些信息。這里以640*480@60為例教大家如何查看相關(guān)參數(shù)。

從上圖可以分析出行信號(hào)的參數(shù)(P,像素):

以及場(chǎng)信號(hào)的參數(shù)(L,行):

不過(guò)在實(shí)際設(shè)計(jì)當(dāng)中一般將H Back Porch和H Left Border合并當(dāng)作顯示后沿(或者稱(chēng)之為行后肩),H Right Border和H Front Porch合并當(dāng)作顯示前沿(或者稱(chēng)之為行前肩)。V Back Porc和V Left Border合并當(dāng)作場(chǎng)顯示后沿(或者稱(chēng)之為場(chǎng)后肩),V Right Border和V Front Porch合并當(dāng)作場(chǎng)顯示前沿(或者稱(chēng)之為場(chǎng)前肩)。
其他常見(jiàn)分辨率的參數(shù)查詢以此類(lèi)推,合并后的參數(shù)如下表格:

-
FPGA
+關(guān)注
關(guān)注
1660文章
22406瀏覽量
636104 -
顯示器
+關(guān)注
關(guān)注
22文章
5146瀏覽量
144366 -
HDMI
+關(guān)注
關(guān)注
34文章
1899瀏覽量
160457 -
音頻信號(hào)
+關(guān)注
關(guān)注
9文章
278瀏覽量
34882 -
時(shí)序
+關(guān)注
關(guān)注
5文章
406瀏覽量
38848
原文標(biāo)題:1-DE10-Nano的HDMI方塊移動(dòng)案例——顯示器時(shí)序(DMT)標(biāo)準(zhǔn)介紹
文章出處:【微信號(hào):友晶FPGA,微信公眾號(hào):友晶FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ADV7513芯片是否支持DE模式的RGB輸入,是否可以在內(nèi)部產(chǎn)生Hsync和Vsync信號(hào)呢?
HDMI TX 發(fā)送器
ADV7513是HDMI發(fā)送器,是AD9889的升級(jí)版本
例說(shuō)FPGA連載29:HDMI顯示驅(qū)動(dòng)子板設(shè)計(jì)
例說(shuō)FPGA連載89:多分辨率HDMI顯示驅(qū)動(dòng)設(shè)計(jì)之功能概述
請(qǐng)問(wèn)為什么在使用ADV7513的時(shí)候讀出寄存器的數(shù)值都是0xff呢?
HDMI ADV7513熱插拔問(wèn)題
ADV7513具有哪些特性參數(shù)應(yīng)用?
為什么我在使用ADV7513的時(shí)候讀出寄存器的數(shù)值都是0xff呢?
ADV7513 165 MHz高性能HDMI發(fā)送器
高性能HDMI發(fā)送器ADV7513的主要特性及應(yīng)用電路
ADV7513:165 MHz,高性能HDMI傳輸數(shù)據(jù)Sheet
適用于任何OS平臺(tái)(Exe)的ADV7513 HDMI發(fā)送器庫(kù)API源代碼
AN-1270: 基于ADV7511/ADV7511W/ADV7513的視頻發(fā)生器
如何用FPGA控制ADV7513實(shí)現(xiàn)HDMI畫(huà)面顯示和音頻播放
評(píng)論