![基于FPGA的VGA彩色圖片的顯示_第1頁](http://file4.renrendoc.com/view/f80dd70a682abaacc001ce6b53cb7487/f80dd70a682abaacc001ce6b53cb74871.gif)
![基于FPGA的VGA彩色圖片的顯示_第2頁](http://file4.renrendoc.com/view/f80dd70a682abaacc001ce6b53cb7487/f80dd70a682abaacc001ce6b53cb74872.gif)
![基于FPGA的VGA彩色圖片的顯示_第3頁](http://file4.renrendoc.com/view/f80dd70a682abaacc001ce6b53cb7487/f80dd70a682abaacc001ce6b53cb74873.gif)
![基于FPGA的VGA彩色圖片的顯示_第4頁](http://file4.renrendoc.com/view/f80dd70a682abaacc001ce6b53cb7487/f80dd70a682abaacc001ce6b53cb74874.gif)
![基于FPGA的VGA彩色圖片的顯示_第5頁](http://file4.renrendoc.com/view/f80dd70a682abaacc001ce6b53cb7487/f80dd70a682abaacc001ce6b53cb74875.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于FPGA的VGA彩色圖片的顯示摘要:本論文依據(jù)VGA接口原理采用了Verilog HDL語言對(duì)Altera的Cyclone系列的FPGA進(jìn)行了設(shè)計(jì),通過MATLAB二值化得到圖片顏色的數(shù)據(jù),將得到的數(shù)據(jù)存儲(chǔ)到ROM中,然后讀取ROM中的數(shù)據(jù)直接送到顯示器,節(jié)省了計(jì)算機(jī)的處理過程,加快了數(shù)據(jù)的處理速度,節(jié)約了硬件本錢。此方案可以廣泛應(yīng)用于各種儀器,數(shù)字視頻系統(tǒng)、高分辨率的彩色圖片圖像處理、視頻信號(hào)再現(xiàn)等。論文關(guān)鍵詞:現(xiàn)場(chǎng)可編程門陣列,VerilogHDL,VGA圖像控制器,MATLAB,只讀存儲(chǔ)VGA接口顯示器是計(jì)算機(jī)系統(tǒng)以及智能儀器中重要的顯示終端設(shè)備。標(biāo)準(zhǔn)的VGA接口需要提供以下幾組根本
2、的信號(hào):行同步信號(hào)Hsync場(chǎng)同步信號(hào)Vsync以及紅黃藍(lán)3路模擬信號(hào)。因此要使數(shù)字圖像信息在VGA接口顯示器正確、完整地顯示,就涉及到了時(shí)序的構(gòu)建和數(shù)字圖像信息的模擬化兩方面。如果接口前端無可供利用的時(shí)序信息,那么就可參照有關(guān)標(biāo)準(zhǔn)來構(gòu)造時(shí)序,這可利用可編程器件很方便地實(shí)現(xiàn);另外由于VGA是一個(gè)模擬的接口標(biāo)準(zhǔn),因此數(shù)字圖像信息模擬化可用視頻DA 轉(zhuǎn)換器來實(shí)現(xiàn)。VGA標(biāo)準(zhǔn)是當(dāng)前最常用的視頻顯示標(biāo)準(zhǔn),還包括SVGA、XVGA等子標(biāo)準(zhǔn)。本文主要以640 x480,60Hz下VGA顯示標(biāo)準(zhǔn)為例,實(shí)現(xiàn)一個(gè)滿足多方面需求的VGA 顯示終端接口。設(shè)計(jì)可應(yīng)用于圖像處理、視頻信號(hào)再現(xiàn)、數(shù)據(jù)可視化分析等方面,實(shí)現(xiàn)
3、方法和器件的選取以及設(shè)計(jì)應(yīng)用列舉都具有典型的代表意義。理論分析VGA 顯示接口的硬件設(shè)計(jì)和原理(1) 根本原理說明這次系統(tǒng)設(shè)計(jì)使用的顯示器是滿足VGA標(biāo)準(zhǔn)的常用的彩色顯示器,由CRT陰極射線管構(gòu)成,彩色由G、R、B綠:Green,紅:Red,藍(lán):Blue三基色組成。顯示那么用逐行掃描的方式解決,陰極射線槍發(fā)出電子束打在涂有熒光粉的熒光屏上,產(chǎn)生GRB三基色,合成一個(gè)彩色像素。硬件選用了Analog Device公司的ADV7123。ADV7123由三個(gè)10位高速DAC組成,最高時(shí)鐘速率為240MHZ,即可以到達(dá)最高240MS/s的數(shù)據(jù)吞吐率。當(dāng)f(CLK)=140MHZ,f(OUT)=40MH
4、Z時(shí),DAC的SFDR無雜散動(dòng)態(tài)范圍為-53dB;當(dāng)f(CLK)=40MHZ,f(OUT)=1MHZ時(shí),DAC的SFDR為-70dB。ADV7123的BLANK引腳可以用來輸出空白屏幕。ADV7123在100Hz的刷新率下最高分辨率為1600 x1200。顯示器的顯示原理掃描從屏幕的左上方開始,從左到右,從上到下,進(jìn)行掃描,每掃完一行,電子束回到屏幕的左邊下一行的起始位置,在這個(gè)回掃的時(shí)間內(nèi),CRT對(duì)電子束進(jìn)行消隱,每行結(jié)束時(shí),用行同步信號(hào)進(jìn)行行同步;掃描完所有行,用場(chǎng)同步信號(hào)進(jìn)行場(chǎng)同步,并使掃描回到屏幕的左上方,在離開屏幕右下角回到屏幕左上角的時(shí)間內(nèi)進(jìn)行場(chǎng)消隱,預(yù)備下一場(chǎng)的掃描。信號(hào)接口對(duì)于
5、普通的VGA顯示器,其引出線共含5個(gè)信號(hào):G、R、B:三基色信號(hào);HS:行同步信號(hào);VS:場(chǎng)同步信號(hào)。對(duì)于5個(gè)信號(hào)的時(shí)序驅(qū)動(dòng),對(duì)于VGA顯示器要嚴(yán)格遵循640 x480 x60Hz模式。其中640是指每一行中顯示的像素個(gè)數(shù),而480是指屏幕每一列所包含的像素個(gè)數(shù)。(2) Hs與Vs驅(qū)動(dòng)信號(hào)的產(chǎn)生我們常把要顯示的數(shù)據(jù)如圖像處理結(jié)果存放到存儲(chǔ)器里,如果要把顯示存儲(chǔ)器里的圖像在VGA 接口顯示器顯示,大多情況下,掃描時(shí)序是需要我們構(gòu)造的。以640 x480,59. 94 Hz(60 Hz)為例。VGA工業(yè)標(biāo)準(zhǔn)規(guī)定具體地,在掃描過程中的時(shí)序圖如圖1所示:圖1 VGA行掃描、場(chǎng)掃描時(shí)序圖,每場(chǎng)信號(hào)對(duì)應(yīng)5
6、25個(gè)行周期,其中480行為圖像顯示行,每場(chǎng)有場(chǎng)同步信號(hào),該脈沖寬度為2個(gè)行周期的負(fù)脈沖;每顯示行包括800點(diǎn)時(shí)鐘,其中640點(diǎn)為有效顯示區(qū),每行有一個(gè)行同步信號(hào)負(fù)脈沖,該脈沖寬度為96 個(gè)點(diǎn)時(shí)鐘。這樣我們可以知道,行頻為525x59. 94 Hz 即31469 Hz ,需要的點(diǎn)時(shí)鐘頻率為:525x800 x59.94 Hz約25 MHz。由上圖可知,實(shí)際上在真正的實(shí)現(xiàn)過程中,每一行掃描所花的時(shí)間實(shí)際上比顯示一行的像素所需的時(shí)間多了800-640=160個(gè)像素的時(shí)間而每一屏的掃描時(shí)間那么是顯示525行的時(shí)間,而不是480行的時(shí)間。VGA 顯示接口的驗(yàn)證方法在正式調(diào)試或使用接口前,對(duì)設(shè)計(jì)進(jìn)行根本
7、測(cè)試、論證是有必要的,通常方法是盡可能脫離其它不確定因素,只對(duì)關(guān)心這局部電路進(jìn)行測(cè)試。如果在FPGA 里構(gòu)造的數(shù)據(jù)能夠按要求在顯示器上顯示,那么表示根本可以使用了。例如把計(jì)數(shù)器輸出作為DA的紅綠藍(lán)數(shù)字信號(hào)輸入,以H_Cnt作為計(jì)數(shù)脈沖,并引入上述的時(shí)序信號(hào),正常情況下顯示器顯示結(jié)果是水平方向是反復(fù)由亮到暗,或是由暗到亮顯示。還可以利用FPGA 里的LPM_ROM 預(yù)存顯示數(shù)據(jù)輸出作為顯示數(shù)據(jù)。仍以H_Cnt作為計(jì)數(shù)脈沖,計(jì)數(shù)器作為地址發(fā)生器,輸出到LPM_ROM ,作為地址。簡(jiǎn)便起見,我們把128*128的彩色圖像的信息保存到ROM中,每個(gè)像素點(diǎn)的顏色值保存為一個(gè)30位ADV7123由三個(gè)10
8、位高速DAC組成的數(shù)據(jù),其保存的順序?yàn)橄鹊谝恍袕淖蟮接业?28個(gè)像素顏色數(shù)據(jù),然后保存下一行的數(shù)據(jù),其他地址線共有14位。圖片RGB顏色的值通過用matlab將圖片二值化得到。步驟如下1、從文件讀取圖像到MATLABRGB=imread(1.bmp)命令窗口會(huì)一次顯示出圖像的R,G,B值2、 imtool(RGB)顯示讀入的圖片3、用紅,綠,藍(lán) 三色顯示圖片 r(:,:,1)=RGB(:,:,1);r(:,:,2)=0;r(:,:,3)=0;g(:,:,2)=RGB(:,:,2);g(:,:,1)=0;g(:,:,3)=0;b(:,:,3)=RGB(:,:,3);b(:,:,1)=0;b(:,
9、:,2)=0;subplot(1,3,1),imshow(r);subplot(1,3,2),imshow(g);subplot(1,3,3),imshow(b);4、獲取單色值 for i=1:128for j=1:128R(i,j)=RGB(i,j,1);G(i,j)=RGB(i,j,2);B(i,j)=RGB(i,j,3);endend;5、將R,G,B的值取出存放到R.txt G.txt B.txt 中6、將R,G,B數(shù)據(jù)按要求存放到mif文件中例如 R=255d G=10d B=1d,存儲(chǔ)的數(shù)據(jù)為 00FF0A01由于要轉(zhuǎn)化的數(shù)據(jù)量較多,可寫段程序來完成。#includevoid m
10、ain()FILE *R,*G,*B,*out;long start=6,t;int r,g,b;char buf【6】;R=fopen(R.txt,r);G=fopen(G.txt,r);B=fopen(B.txt,r);out=fopen(out.txt,w);while(!feof(R) | !feof(G) | !feof(B)fscanf(R,%d,r);fscanf(G,%d,g);fscanf(B,%d,b);t=start+;for(int i=5;i=0;i-)buf=t%16;t=t4;/輸出數(shù)據(jù)地址for(i=0;ifprintf(out,%X,buf);/數(shù)據(jù)打印局部f
11、printf(out,: 00);fprintf(out,%X,b/16);fprintf(out,%X,b%16);fprintf(out,%X,g/16);fprintf(out,%X,g%16);fprintf(out,%X,r/16);fprintf(out,%X,r%16);fputc( ,out);printf(任務(wù)以結(jié)束! );時(shí)鐘信號(hào)50MHZ進(jìn)過FPGA上的鎖相環(huán)進(jìn)行分頻處理得到25MHZ的時(shí)鐘信號(hào)。parameter Length = 128;/定義圖片顯示的大小parameter Width = 128;always (posedge VGA_CLK ) /行計(jì)數(shù)到達(dá)計(jì)數(shù)
12、周期將重置beginif(H_Cnt=H_Tg-1) H_Cnt else H_Cntendalways ( negedge Hs)/場(chǎng)計(jì)數(shù)到達(dá)計(jì)數(shù)周期將重置beginif(V_Cnt=V_Tg-1) V_Cnt else V_Cnt endalways ( posedge VGA_CLK )/產(chǎn)生行同步信號(hào)beginif(H_Cntelse Hsendalways (V_Cnt)/產(chǎn)生場(chǎng)同步信號(hào)beginif(V_Cntelse Vsendalways ( posedge VGA_CLK )begin /在顯示器上顯示范圍的控制if(H_Cnt=H_Ta+H_Tb+H_Tc H_Cnt V_
13、Cnt=V_Ta+V_Tb+V_Tc V_Cnt begin / ROM讀取控制和數(shù)據(jù)處理RGBaddressendelsebeginRGBend要把一幅圖像的數(shù)據(jù)寫入ROM,首先必須解決的就是寫入文件的格式問題。一般的方法是通過編程器把Intel Hex,或者二進(jìn)制文件.bin逐字節(jié)寫入ROM。而圖像都具有固定的格式,如BMP,JPEG,GIF等,其中的BMP格式圖像是一種很常見的圖像格式,沒有經(jīng)過壓縮處理,且文件結(jié)構(gòu)相對(duì)簡(jiǎn)單,易于處理,在本設(shè)計(jì)中采用了BMP圖像作為研究對(duì)象。將BMP文件直接轉(zhuǎn)化為Intel Hex文件比擬困難,因此可先將BMP格式文件轉(zhuǎn)化成mif格式文件,再由Quartus II 9.0直接將mif文件轉(zhuǎn)化為Intel Hex文件,最后再將圖像數(shù)據(jù)燒寫入ROM中,本設(shè)計(jì)中,我們首先通過MATLAB將要顯示的圖片進(jìn)行處理得到RGB三個(gè)顏色的分量,然后通過編程將各顏色分量生成一個(gè)mif文件,用于初始化LPM_ROM,利用Quartus II 9.0自帶的MegaWizard Plug-In Manager創(chuàng)立存儲(chǔ)RGB值的ROM模塊, 同樣利用Quartus II 軟件生產(chǎn)一個(gè)存儲(chǔ)器初始化.mif文件,其大小為Word size=32,Number of words =16384,將生產(chǎn)的RGB顏色值導(dǎo)入到mif
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年塑料助劑:潤(rùn)滑劑合作協(xié)議書
- 2025年呼吸制氧合作協(xié)議書
- 2025年年4K超高清合作協(xié)議書
- 2025年脂環(huán)烴合作協(xié)議書
- 2025年產(chǎn)學(xué)研技術(shù)合作協(xié)議(三篇)
- 2025年個(gè)人無產(chǎn)權(quán)房屋買賣合同(2篇)
- 2025年個(gè)人購房貸款保險(xiǎn)合同范文(2篇)
- 2025年代收股款協(xié)議格式版(2篇)
- 2025年產(chǎn)品加工合同轉(zhuǎn)讓(2篇)
- 倉儲(chǔ)基地土方清理合同
- 江蘇省蘇州市2024-2025學(xué)年高三上學(xué)期1月期末生物試題(有答案)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
- NB-T 47013.15-2021 承壓設(shè)備無損檢測(cè) 第15部分:相控陣超聲檢測(cè)
- 各種抽油泵的結(jié)構(gòu)及工作原理幻燈片
- 學(xué)習(xí)弘揚(yáng)雷鋒精神主題班會(huì)PPT雷鋒精神我傳承爭(zhēng)當(dāng)時(shí)代好少年P(guān)PT課件(帶內(nèi)容)
- 社區(qū)獲得性肺炎的護(hù)理查房
- 體育賽事策劃與管理第八章體育賽事的利益相關(guān)者管理課件
- 專題7閱讀理解之文化藝術(shù)類-備戰(zhàn)205高考英語6年真題分項(xiàng)版精解精析原卷
- 《生物資源評(píng)估》剩余產(chǎn)量模型
- 2022年廣東省10月自考藝術(shù)概論00504試題及答案
- 隧道二襯承包合同參考
評(píng)論
0/150
提交評(píng)論