畢業(yè)設(shè)計(jì)-基于FPGA的VGA顯示_第1頁(yè)
畢業(yè)設(shè)計(jì)-基于FPGA的VGA顯示_第2頁(yè)
畢業(yè)設(shè)計(jì)-基于FPGA的VGA顯示_第3頁(yè)
畢業(yè)設(shè)計(jì)-基于FPGA的VGA顯示_第4頁(yè)
畢業(yè)設(shè)計(jì)-基于FPGA的VGA顯示_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、VGA顯示器控制電路論文前言VGA(視頻圖形陣列)作為一種標(biāo)準(zhǔn)的顯示接口得到廣泛的應(yīng)用。利用FPGA芯片和EDA設(shè)計(jì)方法,可以因地制宜,根據(jù)用戶的特定需要,設(shè)計(jì)出針對(duì)性強(qiáng)的VGA顯示控制器,不僅能夠大大的降低成本,還可以滿足生產(chǎn)實(shí)踐中不斷變化的用戶需要,產(chǎn)品升級(jí)換代方便迅速。 在本設(shè)計(jì)中采用Altera公司的EDA軟件工具Quartus II,并以Cyclone II系列的FPGA的器件作為主實(shí)現(xiàn)硬件平臺(tái)的設(shè)計(jì)。一、 FPGA的原理FPGA 是Filed Progranmmable Gate Array的縮寫,即現(xiàn)場(chǎng)可編程邏輯陣列。FPGA是在CPLD的基礎(chǔ)上發(fā)展起來(lái)的新型高性能可編程邏輯器件

2、它一般采用SRAM工藝,也有一些專用器件采用Flash工藝或反熔絲(Anti_Fuse)工藝等。FPGA的集成度很高,其器件密度從數(shù)萬(wàn)系統(tǒng)門到數(shù)千萬(wàn)系統(tǒng)門不等,可以完成極其復(fù)雜的時(shí)序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元,基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元、內(nèi)嵌專用硬核等。FPGA的主要器件供應(yīng)商有Xilinx、 Altera、 Lattice、 Actel和 Atmel 等。二、 VGA轉(zhuǎn)換接口的簡(jiǎn)單描述本設(shè)計(jì)另外自制VGA接口電路。VGA時(shí)序控制模塊是整個(gè)顯示控制器的關(guān)鍵部分,最終的輸

3、出信號(hào)行、場(chǎng)同步信號(hào)必須嚴(yán)格按照VGA時(shí)序標(biāo)準(zhǔn)產(chǎn)生相應(yīng)的脈沖信號(hào)。對(duì)于普通的VGA顯示器,其引出線的共含5個(gè)信號(hào):G,R,B(三基色信號(hào)),HS(行同步信號(hào)),VS(場(chǎng)同步信號(hào))。在五個(gè)信號(hào)時(shí)序驅(qū)動(dòng)時(shí),VGA顯示器要嚴(yán)格遵循“VGA工業(yè)標(biāo)準(zhǔn)”,即640Hz×480 Hz×60Hz模式。下圖(1)為VGA顯示控制器控制CRT顯示器 VGA(Video Graphic Array)接口,即視頻圖形陣列,也叫做D-Sub接口,是15針的梯形插頭,分3排,每排5個(gè),傳輸模擬信號(hào)。VGA接口采用非對(duì)稱分布的15針連接方式,其工作原理:是將顯存內(nèi)以數(shù)字格式存儲(chǔ)的圖像(幀)信號(hào)在RAME

4、AC里經(jīng)過模擬調(diào)制成模擬高頻信號(hào),然后再輸出到顯示設(shè)備成像。目前大多數(shù)計(jì)算機(jī)與外部顯示設(shè)備之間都是通過模擬VGA接口連接,計(jì)算機(jī)內(nèi)部以數(shù)字方式生成的顯示圖像信息,被顯卡中的數(shù)字/模擬轉(zhuǎn)換器轉(zhuǎn)變?yōu)镽、G、B三原色信號(hào)和行、場(chǎng)同步信號(hào),信號(hào)通過電纜傳輸?shù)斤@示設(shè)備中。對(duì)于模擬顯示設(shè)備,如模擬CRT顯示器,信號(hào)被直接送到相應(yīng)的處理電路,驅(qū)動(dòng)控制顯像生成圖像。而對(duì)于LCD、DLP扥數(shù)字顯示設(shè)備,顯示設(shè)備中需配置相應(yīng)的A/D(模擬/數(shù)字)轉(zhuǎn)換器,將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)。在經(jīng)過D/A和A/D2次轉(zhuǎn)換后,不可避免地造成了一些圖像細(xì)節(jié)的損失。VGA接口應(yīng)用于CRT顯示器無(wú)可厚非,但用于連接液晶之類的顯示設(shè)備,

5、則轉(zhuǎn)換過程的圖像損失會(huì)使顯示效果略微下降。VGA接口的引腳分配如下圖(1)所示 圖(1)三、主要功能模塊設(shè)計(jì)注:主要模塊為三塊,一個(gè)二分頻模塊,一個(gè)VGA時(shí)序和行點(diǎn)位置模塊,一個(gè)圖形生成模塊,本來(lái)想利用老師提供的方案進(jìn)行制作,但在按鍵去抖模塊以及按鍵累計(jì)模塊沒有能完成,故更改方案,換用讀取撥動(dòng)開關(guān)的模式來(lái)選擇模式顯示。1.1 VGA時(shí)序控制模塊(vgaxm.v)功能:根據(jù)VGA顯示器的工作原理,提供同步信號(hào)(H_SYNC和V_SYNC)及像素位置信息。設(shè)計(jì)思路:根據(jù)VGA顯示器的工作原理,以垂直同步信號(hào)的出現(xiàn)時(shí)刻作為時(shí)間的起點(diǎn)(原點(diǎn)),根據(jù)時(shí)序圖算出每一個(gè)關(guān)鍵時(shí)間點(diǎn)所需的計(jì)數(shù)器最大值,據(jù)此輸出

6、H_SYNC和V_SYNC,在此基礎(chǔ)上對(duì)掃描的行數(shù)及像素點(diǎn)數(shù)進(jìn)行計(jì)數(shù),從而輸出像素位置信息。1.1.1VGA的時(shí)序詳細(xì)講解對(duì)于VGA顯示器,每個(gè)像素點(diǎn)的輸出頻率為25.175MHZ,本實(shí)驗(yàn)采用50MHz的時(shí)鐘信號(hào),經(jīng)過模塊divider(二分頻模塊)的分頻得到25MHz的時(shí)鐘輸入信號(hào)。依據(jù)VGA時(shí)序標(biāo)準(zhǔn),行同步信號(hào)HS,行周期為32.2us,也就是H_sync(行)的周期;場(chǎng)同步信號(hào)VS,場(chǎng)周期為16.89ms,也就是V_sync(一幀)的周期。刷新1個(gè)像素所需時(shí)間Tpixel = 1/ fclk =40ns;從(b)水平刷新循環(huán)中,可以知道刷新一行所需時(shí)間公式:Trow = B+C+D+E=

7、Tpixel ´ 640 + guard bands = 25.6ms + B + C +E = 32.2ms;引入h_count9.0:用于Trow(25MHz)的定時(shí)計(jì)數(shù),計(jì)數(shù)清零時(shí)由時(shí)序可得下面計(jì)算式子:h_countend: 同時(shí)可以從該時(shí)序圖確定p_begin_time和 p_end_time的像素點(diǎn)pixel開始計(jì)數(shù)以及清零計(jì)數(shù)的時(shí)間,計(jì)算式子如下:p_begin_time : p_end_time : 還能得出行掃描h_sync在h_count從0805計(jì)數(shù)期間,從第幾計(jì)數(shù)開始為電平變化。圖中,B=3.77us就是說在h_count計(jì)數(shù)起到3.77us到來(lái)之間行信號(hào)h_

8、sync保持低電平,在3.77us到32.2us之間為高電平,剛好為一個(gè)行信號(hào)周期。以下是計(jì)算式子(hsync_end代表h_sync的低電平截止時(shí)間范圍):hsync_end: 程序簡(jiǎn)單描述如下:h_count計(jì)數(shù): always ( posedge clk) /25MHZ/ 在垂直刷新循環(huán)內(nèi),當(dāng)h_count計(jì)到規(guī)定的最大值805時(shí),則清零;否則加1計(jì)數(shù)h_sync的電平變化:assign h_sync_pulse_w = (h_count < hsync_end); /從h_count計(jì)數(shù)到94(3.77us)為1,95805為0 在v_sync負(fù)脈沖寬度內(nèi),v_sync_puls

9、e_w為高電平assign h_sync=h_sync_pulse_w;S=0.35msR=15.456msQ=1.02msRGBV_SYNCP=64msTscreen =16. 89ms480行h_begin_time此時(shí)刻準(zhǔn)備刷新第一行h_end_time原點(diǎn)(a)垂直刷新循環(huán)從(a)垂直刷新循環(huán),可以知道刷新完480行,并完成一幀所需時(shí)間Tscreen =P+Q+R+S= Trow ´ 480 + guard bands = 15.456ms+ P + Q + S = 16. 89ms引入v_count18.0 :用于Tscreen的定時(shí)計(jì)數(shù),每當(dāng)h_count計(jì)數(shù)滿805,v

10、_count計(jì)數(shù)加1一次;計(jì)數(shù)清零時(shí)由時(shí)序可得下面計(jì)算式子(v_countend為v_count計(jì)數(shù)清零值):v_countend: 同時(shí)可以從該時(shí)序圖確定h_begin_time和 h_end_time的行計(jì)數(shù)line開始計(jì)數(shù)以及清零計(jì)數(shù)的時(shí)間,計(jì)算式子如下:h_begin_time : h_end_time : 還能得出場(chǎng)掃描v_sync在v_count從0525計(jì)數(shù)期間,從第幾計(jì)數(shù)開始為電平變化。圖中,P=64us就是說在v_count計(jì)數(shù)起到64us到來(lái)之間場(chǎng)信號(hào)v_sync保持低電平,在64us到16. 89ms之間為高電平,剛好為一個(gè)場(chǎng)信號(hào)周期(一幀)。以下是計(jì)算式子(vsync_

11、end代表v_sync的低電平截止時(shí)間范圍):vsync_end: 程序簡(jiǎn)單描述如下:v_count計(jì)數(shù):always (posedge clk ) / 當(dāng)垂直刷新循環(huán)結(jié)束(滿480)時(shí)v_count清零;否則當(dāng)h_count計(jì)到規(guī)定的最大值(805)時(shí)加1計(jì)數(shù) ;v_sync的電平變化:assign v_sync_pulse_w = (v_count < vsync_end); /從v_count從0計(jì)數(shù)到2(64us)為1 3525為0 在h_sync負(fù)脈沖寬度內(nèi),h_sync_pulse_w為高電平assign v_sync=v_sync_pulse_w;1.1.2 提供行列以及格

12、線計(jì)數(shù)值行或列計(jì)數(shù):line 和pixel;格線計(jì)數(shù)器:line_cnt,pixel_cnt,strip_cnt(1)line8.0:用于對(duì)行數(shù)(1480行)計(jì)數(shù),其clk等于水平同步信號(hào)h_sync的下降沿 ;(2)pixel 9.0 :用于對(duì)每行的像素點(diǎn)數(shù)(1640個(gè)點(diǎn))計(jì)數(shù),其clk等于輸入時(shí)鐘fclk25M。 /* 3. line8.0對(duì)像素所處行計(jì)數(shù) */ always (negedge h_sync ) /h_sync的下降沿觸發(fā)line計(jì)數(shù)。 /當(dāng)h_begin_time v_counth_end_time,且當(dāng) line 480時(shí),則line加1計(jì)數(shù); /否則line清零。/*

13、 4. pixel9.0對(duì)像素所處列計(jì)數(shù) */always (posedge clk ) /*當(dāng)1line480(必須有此條件,否則pixel在h_sync來(lái)后B+C時(shí)間之后即開始加1計(jì)數(shù),而此時(shí)line=0),且p_begin_timeh_countp_end_time,且pixel640時(shí),則pixel加1計(jì)數(shù);*/ /否則pixel清零。 (3)output4:0 line_cnt;/用于棋盤格1的水平格線計(jì)數(shù) 32進(jìn)制,32.2uss計(jì)數(shù)一次(4)output5:0 pixel_cnt;/用于棋盤格1的垂直格線計(jì)數(shù) 64進(jìn)制 40ns計(jì)數(shù)一次(5)output5:0 strip_cnt

14、; /用于橫彩條2的水平格線計(jì)數(shù) 64個(gè)64 32.2uss計(jì)數(shù)一次2.1生成圖形子模塊注:RGB2.0:顏色信號(hào),R紅色信號(hào);G綠色信號(hào);B藍(lán)色信號(hào)。其對(duì)應(yīng)顏色關(guān)系如下表所示。功能:根據(jù)時(shí)序控制子模塊輸出的像素位置信息,在不同的顯示模式下,輸出不同的顏色信號(hào)。設(shè)計(jì)思路:采用case語(yǔ)句,來(lái)確定不同的顯示模式;在每種顯示模式下,采用if-else語(yǔ)句,根據(jù)像素所處的位置(即line和pixel的范圍),來(lái)確定輸出不同的顏色信號(hào)。對(duì)棋盤格1、橫彩條2的格線的判斷不用枚舉的方法,而是根據(jù)vgacore2.v輸出的格線計(jì)數(shù)器line_cnt、pixel_cnt和strip_cnt的大小,用if-el

15、se語(yǔ)句簡(jiǎn)單地實(shí)現(xiàn)。本模塊主要的圖形生成程序簡(jiǎn)述如下:/* 2. 根據(jù)cnt值產(chǎn)生不同的顯示圖形 */ always (posedge clk ) begin if( line>9'd0 & line<=9'd480 & pixel>9'd0 & pixel<=10'd640) /若在有 begin 效區(qū)域內(nèi) case(cnt) 0:begin/*(1)模式1:4大圖形塊 */1:begin/*(2)模式2:豎彩條*/ 2:begin/*(3)模式3:橫彩條*/ 3:begin/*(4)模式4:棋盤格1 16*16

16、 */ 4:begin/*(5)模式5:小橫彩條 */ 5:begin/*(6)模式6:棋盤格2 30*40 */ endcase endelse rgb=3b000;/超出有效區(qū)域,則為黑色 end2.1.1 VGA豎彩條發(fā)生和橫彩條發(fā)生豎彩條發(fā)橫模塊根據(jù)像素點(diǎn)計(jì)數(shù)器的h_count的計(jì)數(shù)值來(lái)產(chǎn)生彩條,其流程圖如(a)所示。它對(duì)行點(diǎn)數(shù)(像素點(diǎn))計(jì)數(shù)器的數(shù)值進(jìn)行判斷,每80條豎線生成一種豎彩條,共八種豎彩條。橫彩條發(fā)生模塊與豎彩條發(fā)生模塊類似。它根據(jù)場(chǎng)掃計(jì)數(shù)器(行)的計(jì)數(shù)值來(lái)殘生橫彩條,流程圖如(b)所示。每60條掃描線為一個(gè)彩條寬度,共8色橫彩條模式。 YNNYYNNYYYYYYYYNNNN

17、YYYNNNNNNNNPixel<80Pixel<160Pixel<240Pixel<320Pixel<4000Pixel<480Pixel<560Line<59開 始Line<119Line<179Line<23999Line<2999Line<3599Line<419H_dat=111H_dat=110H_dat=101H_dat=100H_dat=011H_dat=001H_dat=000H_dat=010開 始v_dat=000v_dat=001v_dat=010v_dat=011v_dat=100v_

18、dat=101v_dat=110v_dat=111 橫彩條(b) 豎彩條(a)2.1.2 對(duì)模式6和模式2的簡(jiǎn)單描述如下: 根據(jù)vgacore2.v輸出的格線計(jì)數(shù)器line_cnt、pixel_cnt和strip_cnt的大小,用if-else語(yǔ)句簡(jiǎn)單地實(shí)現(xiàn)。line_cnt對(duì)行數(shù)進(jìn)行計(jì)數(shù),為32進(jìn)制計(jì)數(shù)模式6:/*(6)模式6:橫彩條2-從上至下,每6行顯示一種顏色, 分別為白、黃、粉、紅、淺藍(lán)、綠、黑、藍(lán),并重復(fù)此規(guī)律。*/ 5:begin if(strip_cnt<=6d6) rgb=3b111; / 白 else if(strip_cnt<=6d12) rgb=3b110;/ 黃 end模式2:/*(2)模式2:棋盤格1(與方案1不同) */ 1:beginif(line=9'd1)|(line_cnt=5'd30)|(pixel=10'd1) |(pixel_cnt=6'd40) rgb=3'b100; /格線為紅色 else rgb=3'b001; /格內(nèi)顯示藍(lán)色 end NLine=1?NNNYYYY開始(棋

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論