freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的vga顯示控制器設計與圖像顯示(編輯修改稿)

2024-12-16 03:47 本頁面
 

【文章內(nèi)容簡介】 盡管下面的描述僅限于 CRT, LCD已經(jīng)發(fā)展到可以同 CRT使用同樣的時序信號了。因此,下面的討論均適合 CRT和 LCD。 在 CRT顯示器中,電流的波形通過蹄形磁鐵產(chǎn)生磁場,使得電子束偏轉,光柵在顯示屏上橫向顯示,水平方向從左至右,垂直方向從上至下。當電子束向正方向移動時,信息才顯示,即從左至右、從上至下。如果電子束從后返回左或頂邊,顯示屏并不顯示任何信息。在消隱周期 —— 電子束重新分配和穩(wěn)定于新的水平或垂直位時,丟失了許多信息。 顯示協(xié)議定義了電子束的大小以及通過顯示屏的頻率,該頻率是可 調(diào)的。 現(xiàn)在的 VGA顯示屏支持多種顯示協(xié)議, VGA控制器通過協(xié)議產(chǎn)生時序信號來控制光柵??刂破鳟a(chǎn)生同步脈沖 TTL電平來設置電流通過偏轉磁鐵的頻率,以確保像素或視頻數(shù)據(jù)在適當?shù)臅r間送給電子槍。 視頻數(shù)據(jù)一般來自重復顯示存儲器中一個或多個字節(jié) —— 它們被分配到每個像素單元。入門實驗板使用每個像素中的 3位,產(chǎn)生圖 8中可能的一種顏色??刂破髦付ㄒ曨l數(shù)據(jù)緩沖器以備電子束通過顯示屏。然后,控制器接收并利用視頻數(shù)據(jù)在適當?shù)臅r間顯示,電子束移動到指定的像素點。 根據(jù)圖 , VGA控制器產(chǎn)生水平同步時序信號( HS)和垂直 同步時序信號(VS),調(diào)節(jié)在每個像素時鐘視頻數(shù)據(jù)的傳送。像素時鐘定義了顯示像素信息的有效時間段。 VS信號定義顯示的更新頻率,或刷新屏幕信息的頻率。最小的刷新頻率是取決于顯示器的亮度和電子束的強度,實際頻率一般在 60~ 120Hz之間。給定的刷新頻率的水平線的數(shù)量定義了水平折回頻率 [23]。 下 表的時序信號是 640 480,像素時鐘 25Mhz,刷新頻率 60Hz177。 1。圖 7說明了每個時序的聯(lián)系。同步脈沖的時序?qū)挾龋?TPW)和前后門拱的間隔 TFP和 TBP)基于觀察多種VGA的顯示屏的結果。前后門拱的間隔是前后同步脈沖 時間。在這些時段信息不能顯示。 圖 VGA 控制器時序信號 圖 各時序之間的聯(lián)系 設計方案 設計方案如下: 將圖像控制模塊分為這樣幾部分:二分頻電路( )、 VGA時序控制模塊( )、存儲器讀出模塊( )。其中二分頻把 50mhz時鐘頻率分成25mhz并提供給其它模塊作為時鐘; VGA時序控制模塊用于產(chǎn)生 640 480顯示范圍,并控制顯示范圍和消隱范圍以及產(chǎn)生水平同步時序信號 hs和垂直同步時序信號 vs的值;存儲器讀出模塊提供給 SRAM地址并按地址讀出八位數(shù)據(jù)(灰度值 Y),然后得到 R、 G、B的值(若 Y中間值,則 R=G=B=1;否則 R=G=B=0),并把 R、 G、 B的值通過 VGA接口傳到 CRT顯示器 ,如圖 。 圖 模塊設計總體結構 3 VGA 顯示調(diào)試與顯示 軟件程序設計 本設計需要三個模塊,一個是二分頻電路、 VGA 時序控制模塊 、 存儲器讀出模塊 。 1. 二分頻電路 二分頻把 50MHz 時鐘頻率分成 25MHz 并提供給其它模塊作為時鐘。顯示器的像素分辨率是 640 480,像素時鐘 25Mhz,刷新頻率 60Hz177。 1。開發(fā)板提 供的系統(tǒng)時鐘50MHz,所以要對板載時鐘進行分頻后才能使用。 分頻電路的設計部分程序如下 : module clkdiv( input wire mclk, input wire clr, output wire clk25 )。 reg[24:0] q。 //25bit counter always @ (posedge mclk or posedge clr) begin if(clr==1) q=0。 else q=q+1。 end assign clk25=q[0]。 //25mhz endmodule VGA 時序控制模塊用于產(chǎn)生 640*480 顯示范圍,并控制顯示范圍和消隱范圍以及產(chǎn)生水平同步時序信號 hs 和垂直同步時序信號 vs 的值。 一般來說,時鐘計數(shù)器通過像素時鐘來控制水平時序信號。譯碼計數(shù)器的值產(chǎn)生HS 信號。在指定的行,計數(shù)器產(chǎn)生當前像素顯示的位置。 一個獨立的計數(shù)器產(chǎn)生垂直時序信號。垂直同步計數(shù)器在每個 HS 脈沖信號來臨時自動加 1,譯碼值產(chǎn)生 VS 信號。計數(shù)器產(chǎn)生當前顯示行。這兩個計數(shù)器從地址到顯示緩沖器連續(xù)計數(shù)。開發(fā)板的 DDR SDRAM 提供了一個足夠的顯示緩 沖區(qū)。 在 HS 脈沖的開始和 VS 脈沖的開始沒有具體規(guī)定相對的時序關系。因此,計數(shù)器被分配到簡單格式的視頻 RAM 地址,或分配到同步脈沖產(chǎn)生器的最小譯碼邏輯。 設計對時序控制部分的部分代碼如下 : module vga640480( input wire clk, input wire clr, output reg hsync, output reg vsync, output reg [9:0]hc, output reg [9:0]vc, output reg vidon )。 parameter hpixels=1039。b1100100000。 //行像素點 =800 parameter vlines=1039。b1000001001。 //行數(shù) =521 parameter hbp=1039。b0010010000。 //行顯示后沿 =144( 128+16) parameter hfp=1039。b1100010000。 //行顯示前沿 =784(128+16+640) parameter vbp=1039。b0000011111。 //場顯示后沿 =31( 2+29) parameter vfp=1039。b0111111111。 //場顯示前沿 =511(2+29+480) reg vsenable。 //Enbale for the Vertical counter //行同步信號計數(shù)器 always@(posedge clk or posedge clr) begin if(clr==1) hc=0。 else begin if(hc==hpixels1) begin //The counter has reached the end of pixel count hc=0。 //計數(shù)器復位 vsenable=1。 //Enable the vertical counter to increment end else begin hc=hc+1。 //Increment the horizontal counter vsenable=0。 //Leave the vsenable off end end end //產(chǎn)生 hsync 脈沖 //當 hc 為 0~127 時,行同步脈沖為低電平 always@(*) begin if (hc128) hsync=0。 else hsync=1。 end //場同步信號計數(shù)器 always@(posedge clk or posedge clr) begin if(clr==1) vc=0。 else if(vsenable==1) begin if(vc==vlines1) //Reset when the number of lines is reached vc=0。 else vc=vc+1。 //場計數(shù)器加 1 end end //產(chǎn)生 vsync 脈沖 //當 hc 為 0 或 1 時,場同步脈沖為低電平 always@(*) begin if(vc2) vsync=0。 else vsync=1。 end //Enable video out when within the porches always@(*) begin if((hchfp)amp。amp。(hchbp)amp。amp。(vcvfp)amp。amp。(vcvbp)) vidon=1。 else vidon=0。 end endmodule module vga_stripes( input wire vidon, input wire[9:0]hc,vc, output reg red,green, output reg blue )。 //輸出 16 行寬的紅綠條紋 always@(*) begin red=0。 green=0。 blue=0。 if(vidon==1) begin red={vc[4]}。 green=~{vc[4]}。 end end endmodule 彩條顯示的頂層文件設計 module vga_initials_top( input wire mclk, input wire[3:0]btn, input wire[7:0]sw, output wire hsync, output wire vsync, output wire [2:0]red, output wire [2:0]green, output wire [1:0]blue )。 wire clr,clk25,vidon。 wire[9:0]hc,vc。 wire[0:31]M。 wire[3:0]rom_addr4。 assign clr=btn[3]。 clkdiv U1(.mclk(mclk), .clr(clr), .clk25(clk25) )。 vga640480 U2(.clk(clk25), .clr(clr), .hsync(hsync), .vsync(vsync), .hc(hc), .vc(vc), .vidon(vidon) )。 vga_initials U3(.vidon(vidon), .hc(hc), .vc(vc), .M(M), .sw(sw), .rom_addr4(rom_addr4), .red(red), .green(green), .blue(blue) )。 prom_DHM U4(.addr(rom_addr4), .M(M) )。 endmodule 程序在 QuartusⅡ 下的 編譯與仿真 本設計利用 QuartusⅡ 軟件進行設計與編譯仿真和下載。 采用有源晶體頻率為 50M Hz 給 FPGA 的 P23 提供時鐘。(第 23 叫輸入時鐘)。 獨立按鍵的 I/O 分配: KEY1: PIN 144 KEY2: PIN 145 分別作為復位按鈕和 SW 控制。 VGA 接口的分配 R : PIN 151 G : PIN 150 B : PIN 149 VGA VS : PIN 161 VGA HS : PIN 152 顯示結果 通過以上的步 驟,將程序燒寫進開發(fā)板中后,將 CRT 顯示器連接到開發(fā)板的 VGA接口上。 給系統(tǒng)上電,在顯示器上就可以看見兩種模式的彩條:橫彩條和豎彩條。橫彩條由場計數(shù)器 vcont 計數(shù)來進行控制,以實現(xiàn)某一個區(qū)域顯示相應的顏色。設計產(chǎn)生 8 個彩
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1