●文/TCL集團工業研究院董小龍 施建華 邵詩強
為了能夠實現普通電腦VGA端口數據在華映4.8英寸裸眼3D顯示屏上顯示,提出了一種從VGA端口到LVDS端口的數據轉換系統方案。該系統首先通過AD9883A對VGA端口圖像進行AD轉換,然后再進行scaler,采用2片SDRAM對圖像進行交替緩存,將采用SDRAM存儲采集到的數據通過LVDS發送器將并行RGB數據信號轉換成LVDS信號,然后傳輸到顯示屏上顯示。該系統能夠實時地將電腦中的圖像顯示在3D屏上,實現了裸眼3D的效果。
1、引言
《阿凡達》激起了人們對3D技術的狂熱追求,使人們意識到3D顯示的巨大市場價值。但是由于長時間配戴眼鏡會帶來頭疼及眼睛疲勞等副作用,因此裸眼3D將成為3D顯示技術發展的未來。
華映光電研制的4.8英寸方向性背光3D顯示屏利用了一種照射方向可控制的方向背光技術,能將圖像的成像焦點左右快速移動,使得透過LCD的光線已經帶有方向性。這種背光組件只需配合刷新率為120Hz的液晶顯示面板就可以生成3D影像。其能夠實現6位800×480(2D/3D模式)顯示,要求輸入的為低電壓串行LVDS信號。然而普通電腦VGA輸出的為模擬信號,所以,必須要經過電路轉換將VGA輸出轉換為所需要的LVDS信號。為了實現上述信號的轉換,本文設計出一個基于FPGA的數據轉換和存儲系統。
2、系統總體結構設計
整個系統實現了由普通電腦VGA輸出到3D屏LVDS接口的數據實時傳遞和轉換的功能。主要包括數據采集模塊、圖像scaler模塊,FPGA邏輯控制模塊、SDRAM存儲模塊、LVDS發送模塊。其工作原理為:普通電腦VGA輸出的模擬信號要經過一個AD轉換模塊變成120Hz的8位RGB三路數字信號,經過scaler模塊成800*480分辨率,6bit的信號,同時,為了實現數據實時傳輸,采用兩片SDRAM進行乒乓操作,一片為寫操作的時候,另一片讀操作,讀出的數據時序經過處理,滿足3D屏時序的要求,然后經LVDS發送器傳送給3D顯示屏LVDS接口,最終將左右眼各60Hz、分辨率為800×480的兩幅圖像顯示在屏上,實現裸眼3D顯示。
其中,FPGA控制模塊起到了核心作用,它作為控制信號產生和處理的中樞對其他外圍電路進行實時的監控和管理。其內部包括,scaler模塊,I2C控制模塊、時鐘同步模塊、數據位數轉換模塊、SDRAM控制器等模塊組成。FPGA控制模塊內部結構如圖1所示:
設計中采用XILINX公司spartan6系列的XC6SLX45。XC6SLX45具有43661個邏輯單元,同時還包含了最大2088kb的Block ram模塊。該芯片的頻率和引腳IO等資源都能很好的滿足本系統的要求。
3、系統的具體實現
3.1數據的采集和縮放
VGA是用于提供圖像信號的模擬接口,包括RGB3個模擬信號分量以及行場同步信號,在本系統中,AD轉換后像素點頻率為800×600×120Hz=57.6MHz。由于模擬的VGA信號中包含有行、場同步時間和消隱時間,因此實際計算出來的要比57.6MHz還高,這里暫取66MHz。
這么高的采樣率對AD芯片要求很高。這里選用的是AD9883A,它具有采樣精度為8bit的3路通道,最高采樣率為140Msps,300MB的模擬帶寬,可最高采樣分辨率為1280×1024,刷新率為75Hz的視頻信號。AD9883A能夠采集多種VGA圖像格式,但卻不能自動檢測圖像格式,必須根據實際的指標對內部寄存器進行初始化,初始化過程通過FPGA一個I2C模塊依靠AD9883的SDA和SCL兩引腳進行,時序符合I2C總線時序標準。圖2為重要寄存器的設置值,其他未設置的均取默認值。
由于所采樣到的數據分辨率為800*600,并不適合在800*480的屏幕上顯示,因此我們必須在行上進行scaler,把600行轉換為480行,進行一個5:4的縮小,在這里我們采用雙線性內插值,雙線性插值對于我們這樣的小比列縮放,效果好,計算量也不算大,正好符合當前的需要,對于點(i+u,j+v)由它周邊的四個像素決定它的灰度值,
f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
由于只在行方向插值,則u=0;
公式簡化為:f(i,j+v) = (1-v)f(i,j) + vf(i,j+1)。
在這里5:4縮放,則j+v分別為:0+0,1+0.25,2+0.5,3+0.75,5+0,6+0.25…..
在FPGA實現中,我們采用內部SRAM暫存兩行數據,進行運算產生新的一行。
3.2數據位數的轉換
在圖像視頻系統開發中,常常需要用到存儲容量大、讀寫速度快的存儲器。在各種存儲器件中,SDRAM的價格低、體積小、速度快、容量大,是比較理想的器件。在本系統設計中,SDRAM芯片采用SAMSUNG公司的K4S281632B,單片構成為2M×16bit×4banks,每個bank由4096行,512列的16bit存儲陣列構成。而從scaler模塊轉換過來的是800×480個24位RGB數據,具體的策略為:480行,每一行800個24位數據轉換成1200個16位,并且SDRAM每一行為512個數據,這樣我們就將這一行1200個數據轉換為450,450,300三行儲存,一共需要SDRAM的1800行空間。同時,每一行中24轉16位數據我們這樣產生:設置一個3位移位寄存器使其產生的地址能夠讀2次sram數據寫3次sdram數據。
此外,系統中FPGA主要時鐘頻率由AD9883A輸出的像素時鐘66MHz、SDRAM工作頻率由FPGA內嵌的DCM模塊建立100MHz,控制LVDS發送的輸出時鐘。時鐘不同,必須在這不同頻率時鐘之間必須加FIFO來同步。FIFO使用ISE軟件中提供的免費IP核,通過使用FPGA內部高速RAM來實現。
3.3數據的存儲
...... 更多精彩內容請見《國際光電與顯示》2012年8月刊,歡迎訂閱! 訂閱咨詢:0755-86149014
關注我們
公眾號:china_tp
微信名稱:亞威資訊
顯示行業頂級新媒體
掃一掃即可關注我們