1. 程式人生 > >FPGA+ADV7511實現HDMI顯示

FPGA+ADV7511實現HDMI顯示

一、前言

  目前FPGA成為了視訊影象實時處理的主要平臺。顯示作為影象應用裝置的必要功能,對整體系統處理效果非常關鍵。HDMI是現階段主流的顯示介面,本文基於ADV7511晶片的HDMI顯示系統,講述HDMI顯示過程中的一些原理和經驗總結。

二、色彩空間轉換

  之前通過VGA介面顯示影象時只清楚RGB影象格式,對YUV瞭解甚少。YUV是指亮度參量和色度參量分開表示的畫素格式,而這樣分開的好處就是不但可以避免相互干擾,還可以降低色度的取樣率而不會對影象質量影響太大。所以HDMI顯示中,經常選擇YUV來表示影象資訊。要想將影象的YUV資訊送入ADV7511,首先需要完成RGB到YUV的格式轉換。兩種格式分析以及互轉公式具體見參考文獻1,這裡只給出RGB轉YUV的標準公式。

  1. Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
  2. Cb = U = -( 0.148 * R) - (0.291 * G) + (0.439 * B) + 128
  3. Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128

  上述三個公式均為乘加操作,呼叫MAC計算較為方便。在運算過程中首先整體向左移位將所有係數變為整數,再進行乘加操作,最後右移得到最終結果[2]。

三、HDMI顯示原理及ADV7511晶片使用

  HDMI介面通過三組TMDS序列差分訊號來完成資料傳輸功能,示意圖如下:

  高速傳輸介面都是一個套路,編碼->並串轉換->串並轉換->解碼。HDMI傳輸流程細節見參考文獻3。我們更多隻關注ADV7511的核心使用者側介面及使用方式。ADV7511的內部結構如圖:

   左側畫紅框的引腳是我們需要用到的。同步傳輸首先需要時鐘CLK和資料D。然後是行場同步和資料有效指示HSYNC VSYNC DE。該晶片支援多種資料格式和工作模式,利用IIC匯流排的SDA和SCL讀寫內部控制暫存器。晶片內暫存器非常多,ADV7511 grogramming guide中的section3 -quick start guide給出了必要的配置嚮導[4]。其中輸入視訊格式配置最為重要,本文使用的是YUV 422 ,8bit,DDR with separate sync,left justified模式中的syle 2。

  如圖,這種模式下只用到了D[35:0]這36bit引腳中的[23:16]。配置暫存器地址為0X15和0X16。

  我們再來看看ADV7511 hardware user's guide[5]中給出的DDR取樣模式介面時序圖。

  FPGA端可利用ODDR原語輸出雙邊沿取樣資料。

四、顯示Demo及效果

   自定義HDMI顯示IP的使用者側接收VGA格式資料,介面側連線ADV7511晶片。使用者介面包括:RGB HSYNC YSYNC DE。VGA影象資料格式在之前的博文中已有講述[6],注意兩點:

1 HSYNC YSYNC是負脈衝

2 DE = HS_DE & YS_DE

  上圖是黑白格顯示例程。從顯示效果來看系統工作正常。

參考文獻

1 YUV格式分析 - arm-linux - 部落格園 http://www.cnblogs.com/armlinux/archive/2012/02/15/2396763.html

2 (原創)用verilog實現RGB格式影象到YCbCr或YUV格式的轉換及其驗證方法 (RGB2YCrCb)(RGB2YUV) - 任懷魯 - 部落格園

https://www.cnblogs.com/lunix/archive/2011/07/31/rgb2yuv_design_verification.html

HDMI介紹與流程 - TaigaComplex求職中 - 部落格園 https://www.cnblogs.com/TaigaCon/p/3840653.html

4 ADV7511 PROGRAMMING GUIDE. Low-Power HDMI 1.4 Compatible Transmitter with Audio Return Channel. - Revision G - PDF https://docplayer.net/30916605-Adv7511-programming-guide-low-power-hdmi-1-4-compatible-transmitter-with-audio-return-channel-revision-g.html

ADV7511 Design Support Files - Documents - Video - EngineerZone https://ez.analog.com/video/w/documents/794/adv7511-design-support-files

FPGA驅動VGA顯示靜態圖片 - 沒落騎士 - 部落格園 https://www.cnblogs.com/moluoqishi/p/9544146.html

&n