進(jìn)行一個5:4的縮小,在這里我們采用雙線性內(nèi)插值,雙線性插值對于我們這樣的小比列縮放,效果好,計(jì)算量也不算大,正好符合當(dāng)前的需要,對于點(diǎn)(i+u,j+v)由它周邊的四個像素決定它的灰度值:
[0037]f (i+u, j+v) = (1-u) (l-v)f(i, j) + (l-u)vf(i, j + l)+u(l-v)f(i+l, j)+uvf(i+l, j+1)
[0038]由于只在行方向插值,則u = 0 ;
[0039]公式簡化為:f(i,j+v) = (l-v)f (i, j)+vf (i, j+1) o
[0040]在這里5:4 縮放,則 j+v 分別為:0+0, 1+0.25,2+0.5,3+0.75,5+0, 6+0.25—..
[0041]在FPGA實(shí)現(xiàn)中,我們采用內(nèi)部SRAM暫存兩行數(shù)據(jù),進(jìn)行運(yùn)算產(chǎn)生新的一行。
[0042]在本發(fā)明設(shè)計(jì)中,SDRAM芯片采用SAMSUNG公司的K4S281632B,單片構(gòu)成為2MX 16bit X 4banks,每個bank由4096行,512列的16bit存儲陣列構(gòu)成。而從scaler模塊轉(zhuǎn)換過來的是800 X 480個24位RGB數(shù)據(jù),具體的策略為:480行,每一行800個24位數(shù)據(jù)轉(zhuǎn)換成1200個16位,并且SDRAM每一行為512個數(shù)據(jù),這樣我們就將這一行1200個數(shù)據(jù)轉(zhuǎn)換為450,450,300三行儲存,一共需要SDRAM的1800行空間。同時,每一行中24轉(zhuǎn)16位數(shù)據(jù)我們這樣產(chǎn)生:設(shè)置一個3位移位寄存器使其產(chǎn)生的地址能夠讀2次sram數(shù)據(jù)寫3次sdram數(shù)據(jù)。
[0043]此外,系統(tǒng)中FPGA主要時鐘頻率由AD9883A輸出的像素時鐘66MHz、SDRAM工作頻率由FPGA內(nèi)嵌的DCM模塊建立100MHz,控制LVDS發(fā)送的輸出時鐘。時鐘不同,必須在這不同頻率時鐘之間必須加FIFO來同步。FIFO使用ISE軟件中提供的免費(fèi)IP核,通過使用FPGA內(nèi)部高速RAM來實(shí)現(xiàn)。
[0044]數(shù)據(jù)的存儲是系統(tǒng)最重要的模塊之一,采用2片SDRAM交替緩存:在對第1個SDRAM執(zhí)行寫操作的同時,對第2個SDRAM執(zhí)行讀操作,既能保證不丟幀,也能連續(xù)不斷地顯示。圖3是SDRAM讀寫控制設(shè)計(jì)圖。該部分主要任務(wù)是產(chǎn)生SDRAM控制器需要的寫時序,將數(shù)據(jù)存儲到SDRAM中。寫時序主要包括開始初始化信號、開始寫信號、開始預(yù)充電信號。這三個信號分別由場同步信號上升沿、count_en的上升沿、count_en的下降沿產(chǎn)生。然后按照圖4的狀態(tài)圖編寫狀態(tài)機(jī),以產(chǎn)生輸入到SDRAM控制器的控制命令信號。讀SDRAM的過程為:在讀使能有效時,讀狀態(tài)機(jī)就會先發(fā)出激活命令,同時給出行地址,同樣等待tKD后,發(fā)出讀命令字,經(jīng)過CL時間后才能讀出第一筆數(shù)據(jù),待數(shù)據(jù)全部讀完之后進(jìn)行一次預(yù)充電命令。圖5為在本發(fā)明中SDRAM讀模塊模型圖。SDRAM讀操作和寫操作一樣,都是通過一個計(jì)數(shù)器產(chǎn)生需要的使能信號Count_en,在Count_en上升沿到來時產(chǎn)生開始讀信號,在下降沿到來時產(chǎn)生開始預(yù)充電信號,再通過一個狀態(tài)機(jī)產(chǎn)生讀操作所需要的命令時序。
[0045]從SDRAM讀出的數(shù)據(jù)經(jīng)過一個讀FIFO實(shí)現(xiàn)時鐘域的轉(zhuǎn)換,將需要的數(shù)據(jù)輸送給LVDS發(fā)送器,最終得到能夠在3D屏上顯示的圖像。
[0046]上面結(jié)合附圖對本發(fā)明的實(shí)施方式作了詳細(xì)說明,但是本發(fā)明并不限于上述實(shí)施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容做出些許更動或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì),在本發(fā)明的精神和原則之內(nèi),對以上實(shí)施例所作的任何簡單的修改、等同替換與改進(jìn)等,均仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于,包括數(shù)據(jù)采集模塊、模數(shù)轉(zhuǎn)換芯片、FPGA芯片、3D顯示屏和兩塊同步動態(tài)隨機(jī)存儲器,其中: 所述FPGA芯片包括ADC接口模塊、scaler模塊、I2C控制模塊、FPGA主控模塊、LVDS輸出模塊、數(shù)據(jù)位數(shù)轉(zhuǎn)換模塊和SDRAM控制器; 所述數(shù)據(jù)采集模塊與模數(shù)轉(zhuǎn)換芯片相連接,模數(shù)轉(zhuǎn)換芯片的輸出端依次經(jīng)過ADC接口模塊、scaler模塊、數(shù)據(jù)位數(shù)轉(zhuǎn)換模塊、LVDS輸出模塊后和3D顯示屏的輸入端相連接,模數(shù)轉(zhuǎn)換芯片的輸入端和I2C控制模塊相連接;FPGA主控模塊的輸出端和SDRAM控制器的輸入端相連接,SDRAM控制器的輸出端分別和兩塊同步動態(tài)隨機(jī)存儲器相連接,同步動態(tài)隨機(jī)存儲器還和數(shù)據(jù)位數(shù)轉(zhuǎn)換模塊相連接; 數(shù)據(jù)采集模塊采集的模擬信號將發(fā)送至模數(shù)轉(zhuǎn)換芯片,模數(shù)轉(zhuǎn)換芯片將模擬信號轉(zhuǎn)換成對應(yīng)的數(shù)字信號,所述I2C控制模塊按照I2C總線時序標(biāo)準(zhǔn)對模數(shù)轉(zhuǎn)換芯片的內(nèi)部寄存器進(jìn)行初始化; 所述數(shù)字信號經(jīng)過ADC接口模塊被發(fā)送至scaler模塊進(jìn)行縮放處理,所述scaler模塊轉(zhuǎn)換后的RGB數(shù)據(jù)為800X480個24位數(shù)據(jù),其具體的策略為:480行,每一行800個24位數(shù)據(jù)轉(zhuǎn)換成1200個16位,并且SDRAM每一行為512個數(shù)據(jù),將這一行1200個數(shù)據(jù)轉(zhuǎn)換為450,450,300三行儲存,一共需要SDRAM的1800行空間;同時,每一行中24轉(zhuǎn)16位數(shù)據(jù)的產(chǎn)生規(guī)則為:設(shè)置一個3位移位寄存器使其產(chǎn)生的地址能夠讀2次sram數(shù)據(jù)寫3次sdram數(shù)據(jù); 所述SDRAM控制器中,采用2片SDRAM交替緩存:在對第I個SDRAM執(zhí)行寫操作的同時,對第2個SDRAM執(zhí)行讀操作,所述寫操作產(chǎn)生SDRAM控制器需要的寫時序,將數(shù)據(jù)存儲到SDRAM中,所述寫時序包括開始初始化信號、開始寫信號和開始預(yù)充電信號;所述讀操作用以產(chǎn)生輸入到SDRAM控制器的控制命令信號,讀操作的過程為:在讀使能有效時,讀狀態(tài)機(jī)發(fā)出激活命令,同時給出行地址,同樣等待設(shè)定的時間到達(dá)后,發(fā)出讀命令字,讀出第一筆數(shù)據(jù),待數(shù)據(jù)全部讀完之后進(jìn)行一次預(yù)充電命令,所述讀操作通過一個計(jì)數(shù)器產(chǎn)生需要的使能信號Count_en,在Count_en上升沿到來時產(chǎn)生開始讀信號,在下降沿到來時產(chǎn)生開始預(yù)充電信號,再通過一個狀態(tài)機(jī)產(chǎn)生讀操作所需要的命令時序; 從SDRAM控制器讀出的數(shù)據(jù)經(jīng)過一個讀FIFO實(shí)現(xiàn)時鐘域的轉(zhuǎn)換,將需要的數(shù)據(jù)輸送給LVDS發(fā)送器,最終得到能夠在3D屏上顯示的圖像。
2.如權(quán)利要求1所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:所述模數(shù)轉(zhuǎn)換芯片的型號為AD9883A,采樣精度為8bit的3路通道,最高采樣率為140Msps,模擬帶寬為300MB,最高采樣分辨率為1280 X 1024,刷新率為75Hz。
3.如權(quán)利要求1或2所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:所述FPGA芯片的具體型號為Spartan6系列的XC6SLX45,包括43661個邏輯單元,同時還包含了最大2088kb的Block ram模塊。
4.如權(quán)利要求2所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:所述兩塊同步動態(tài)隨機(jī)存儲器中,一塊用以產(chǎn)生SDRAM控制器需要的寫時序,另一塊執(zhí)行寫操作,兩塊同步動態(tài)隨機(jī)存儲器交替緩存。
5.如權(quán)利要求2所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:AD轉(zhuǎn)換后像素點(diǎn)頻率設(shè)置為66MHz。
6.如權(quán)利要求4所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:所述兩塊同步動態(tài)隨機(jī)存儲器的型號均為K4S281632B,單片構(gòu)成為2MX16bitX4banks,每個bank由4096行,512列的16bit存儲陣列構(gòu)成。
7.如權(quán)利要求4所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:FPGA芯片的時鐘頻率由AD9883A輸出,具體的像素時鐘為66MHz ; SDRAM控制器的工作頻率由FPGA內(nèi)嵌的DCM模塊建立,具體的頻率為10MHz。
8.如權(quán)利要求4所述的一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),其特征在于:所述寫時序包括開始初始化信號、開始寫信號、開始預(yù)充電信號,上述三個信號分別由場同步信號上升沿、count_en的上升沿、count_en的下降沿產(chǎn)生,進(jìn)而產(chǎn)生輸入到SDRAM控制器的控制命令信號。
【專利摘要】本發(fā)明公開了一種基于FPGA的VGA接口裸眼3D顯示系統(tǒng),包括數(shù)據(jù)采集模塊、圖像scaler模塊,F(xiàn)PGA邏輯控制模塊、SDRAM存儲模塊、LVDS發(fā)送模塊。其工作原理為:普通電腦VGA輸出的模擬信號要經(jīng)過一個AD轉(zhuǎn)換模塊變成120Hz的8位RGB三路數(shù)字信號,經(jīng)過scaler模塊成800*480分辨率,6bit的信號,同時,為了實(shí)現(xiàn)數(shù)據(jù)實(shí)時傳輸,采用兩片SDRAM進(jìn)行乒乓操作,一片為寫操作的時候,另一片讀操作,讀出的數(shù)據(jù)時序經(jīng)過處理,滿足3D屏?xí)r序的要求,然后經(jīng)LVDS發(fā)送器傳送給3D顯示屏LVDS接口,最終將左右眼各60Hz、分辨率為800×480的兩幅圖像顯示在屏上,實(shí)現(xiàn)裸眼3D顯示。本發(fā)明成功解決了VGA端口和LVDS端口數(shù)據(jù)不匹配的問題,巧妙的將數(shù)據(jù)位數(shù)轉(zhuǎn)換,SDRAM讀寫控制時序用狀態(tài)機(jī)實(shí)現(xiàn),簡化了程序。
【IPC分類】H04N13-04
【公開號】CN104717485
【申請?zhí)枴緾N201510138077
【發(fā)明人】李少峰, 周安濤
【申請人】金陵科技學(xué)院
【公開日】2015年6月17日
【申請日】2015年3月26日