基于FPGA的VGA顯示系統的設計與實(shí)現
摘要:針對VGA(視頻圖形陣列)接口顯示器的檢測需求,設計了一種基于A(yíng)ltera FPGA的VGA顯示系統。詳細介紹了VGA顯示的原理,采用硬件描述語(yǔ)言Verilog完成了VGA顯示所需的驅動(dòng)時(shí)序和圖像存儲相關(guān)模塊的設計,并對整個(gè)系統進(jìn)行了綜合仿真,驗證了設計的正確性。仿真與測試結果表明,該設計可以在簡(jiǎn)單的情況下實(shí)現圖像或字符顯示,節約了硬件成本,還可以滿(mǎn)足不同顯示標準的需要。
本文引用地址:http://dyxdggzs.com/article/201603/287500.htm引言
VGA (Video Graphics Array)是IBM公司在1987年隨PS/2機一起推出的一種視頻傳輸標準,具有分辨率高、顯示速率快、顏色豐富等優(yōu)點(diǎn),在顯示器領(lǐng)域得到了廣泛的應用。隨著(zhù)電子設計自動(dòng)化(EDA)技術(shù)的發(fā)展,近年來(lái)FPGA(現場(chǎng)可編程邏輯門(mén)陣列)在大規模嵌入式系統設計中得到了廣泛應用。本文對基于FPGA的VGA顯示系統進(jìn)行了研究,利用了Altera Cyclone IV系列的FPGA高達上百兆的工作頻率特性為數字圖像處理提供了良好的實(shí)時(shí)性,其內部集成的數字鎖相環(huán)為系統的工作時(shí)鐘提供的良好的穩定性,其內部嵌入的存儲器可以存儲一定容量的圖像信息,其豐富的I/O口資源可以擴展外接大容量的顯示接口。此外,FPGA電路的可重構性,為系統功能的優(yōu)化和升級以及功能拓展提供了很大的設計空間。因此,由FPGA完成VGA圖像的顯示和控制,較好的實(shí)現了圖像數據處理的實(shí)時(shí)性和可靠性,具有成本低、結構簡(jiǎn)單、應用靈活的優(yōu)點(diǎn),可以廣泛應用于視頻和計算機的顯示技術(shù)領(lǐng)域。
1 VGA顯示原理
計算機顯示器的顯示有許多標準,如VGA、SVGA等。VGA 作為一種標準的顯示接口得到廣泛的應用。常見(jiàn)的彩色顯示器,一般由CRT(陰極射線(xiàn)管)構成,彩色是由R、G、B(紅、綠、藍)三基色組成。顯示器中的陰極射線(xiàn)槍通過(guò)發(fā)出電子束打在涂有熒光粉的熒光屏上,產(chǎn)生RGB三基色,合成一個(gè)彩色像素。掃描從屏幕的左上方開(kāi)始,從左到右,從上到下,進(jìn)行掃描,每掃完一行,電子束回到屏幕的左邊下一行的起始位置,在這期間,CRT對電子束進(jìn)行消隱,每行結束時(shí),用行同步信號進(jìn)行行同步;掃描完所有行,用場(chǎng)同步信號進(jìn)行場(chǎng)同步,并使掃描回到屏幕的左上方,同時(shí)進(jìn)行場(chǎng)消隱,預備下一場(chǎng)的掃描。
VGA接口電路如圖1所示,VGA采用15 pin的接口,用于顯示的接口信號主要有5個(gè):1個(gè)行同步信號(HSY);1個(gè)場(chǎng)同步信號(VSY)、以及3個(gè)顏色信號(VGA_G、VGA_R、VGA_B)。
VGA 的接口時(shí)序如圖2所示,場(chǎng)同步信號VSYNC在每幀開(kāi)始的時(shí)候產(chǎn)生一個(gè)固定寬度的低脈沖,行同步信號HSYNC在每行開(kāi)始的時(shí)候產(chǎn)生一個(gè)固定寬度的低脈沖,數據DATA在某些固定的行和列的交匯處有效。
對于VGA接口信號的時(shí)序驅動(dòng),要嚴格遵循VGA顯示工業(yè)標準。在不同分辨率下,VGA驅動(dòng)時(shí)序中的行、列同步信號的格式是完全一致的,都由同步段、后廊段、激活段和前廊段組成,只是對應每段的高低電平的保持時(shí)間不同。本文采用刷新頻率為60Hz,分辨率為800x600的VGA顯示標準,其驅動(dòng)時(shí)序表如表1所示。按照800x600x60Hz 的顯示標準時(shí)序,一個(gè)列像素掃描需要25ns,要完成一行的掃描,需要1056個(gè)列像素,也就是說(shuō)需要1056x25ns 的時(shí)間。如果要完成所有行的掃描的話(huà),需要628x1056x25ns的時(shí)間。但不是所有時(shí)間都用來(lái)VGA圖像顯示,有一部分的時(shí)間用來(lái)時(shí)序同步操作。
2 FPGA的設計與實(shí)現
設計采用Altera公司的Cyclone IV系列FPGA(EP4CE6F17C8)作為主控制器,該芯片具有多達16272個(gè)LE、179個(gè)用戶(hù)I/O口。器件中M9K存儲塊提供240 KB存儲容量,能夠被配置來(lái)支持多種操作模式,包括ROM、RAM、FIFO以及單口和雙口模式。器件具有3個(gè)可編程鎖相環(huán)(PLL) 和9 個(gè)全局時(shí)鐘線(xiàn),能提供時(shí)鐘管理和頻率合成,實(shí)現最大的系統功能。VGA圖像顯示器是一個(gè)較大的數字系統。本設計采用模塊化的設計方法,遵循自頂向下的程序設計思想,進(jìn)行功能劃分并按層次設計。采用硬件描述語(yǔ)言Verilog設計了各個(gè)功能模塊并進(jìn)行仿真,使頂層VGA顯示模塊實(shí)體仿真綜合得以順利通過(guò)。VGA圖像顯示器的邏輯結構框圖如圖3所示。根據VGA顯示的原理,VGA圖像顯示器的工作原理是:時(shí)鐘分頻模塊負責為系統提供驅動(dòng)的基準時(shí)鐘,VGA時(shí)序發(fā)生模塊負責產(chǎn)生時(shí)序驅動(dòng)信號、行列地址信號和有效區域信號,同時(shí)在正確的時(shí)序控制下,由圖像顯示控制模塊讀取圖像信息存儲模塊中的像素數據并產(chǎn)生R、G、B三基色信號至顯示器的VGA接口,進(jìn)行圖像顯示。
2.1 時(shí)鐘分頻模塊設計
設計驅動(dòng)VGA采用800x600x60Hz顯示標準,該顯示標準需要的最小單位也就是列像素所占用的時(shí)間周期為25ns。也就是說(shuō),至少需要頻率為 40MHz 的時(shí)鐘為VGA驅動(dòng)提供基準時(shí)鐘,利用FPGA器件的嵌人式鎖相環(huán)(PLL)對FPGA源時(shí)鐘(頻率為50MHz)進(jìn)行倍頻(四倍頻后五分頻得到 40MHz)。PLL是FPGA的重要硬件資源,其主要的功能是對源時(shí)鐘編程、倍頻、分頻等。
2.2 VGA時(shí)序發(fā)生模塊設計
VGA時(shí)序發(fā)生模塊接口信號包括:行同步信號HSYNC Signal、場(chǎng)同步信號VSYNC Signal、有效區域信號Ready_Sig、行地址信號Column_Addr_Sig、列地址信號Row_Addr_Sig。行同步信號是根據行像素計數寄存器Count_H的計數值來(lái)產(chǎn)生,場(chǎng)同步信號產(chǎn)生是根據列像素計數寄存器Count_V的計數值來(lái)產(chǎn)生,而有效區域信號Ready_Sig用來(lái)確定串行輸出的顯示器的紅、綠、藍信號線(xiàn)上電平的高低。
經(jīng)過(guò)PLL分頻后的時(shí)鐘每過(guò)25ns,Count_H就會(huì )累加計數,當其計到1056個(gè)列像素時(shí),Count_V加1,Count_V最大計到628。VSYNC Signal 在同步段保持低電平,之后就會(huì )拉高輸出,同步段保持低電平的時(shí)間是掃描4個(gè)列像素的時(shí)間。而HSYNC Signal在同步段即剛開(kāi)始的128個(gè)行像素保持低電平,之后輸出高電平。有效區域信號Ready_Sig發(fā)生在HSYNC Signal和VSYNC Signal的激活段交集處,輸出為高電平有效。為了精確地控制圖像顯示在屏幕的位置,VGA時(shí)序發(fā)生模塊有義務(wù)輸出當前的行地址信號(Column_Addr_Sig)和列地址信號(Row_Addr_Sig)。行地址的計數是發(fā)生在128個(gè)Count_H之后,而列地址計數是27個(gè)Count_V之后開(kāi)始計數。
VGA時(shí)序發(fā)生模塊sync_module.v的部分代碼如下:
module sync_module
(
input CLK, RSTn;
output VSYNC_Sig, HSYNC_Sig, Ready_Sig;
output [10:0] Column_Addr_Sig, Row_Addr_Sig;
);
………………………
…………
assign VSYNC_Sig = ( Count_V <= 11'd4 ) ? 1'b0 : 1'b1;
assign HSYNC_Sig = ( Count_H <= 11'd128 ) ? 1'b0 : 1'b1;
assign Ready_Sig = isReady;
assign Column_Addr_Sig = isReady ? Count_H - 11'd216 : 11'd0;
assign Row_Addr_Sig = isReady ? Count_V - 11'd27 : 11'd0;
endmodule
本文來(lái)源于中國科技期刊《電子產(chǎn)品世界》2016年第2期第48頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評論