新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA實(shí)現(xiàn)VGA的彩色圖片顯示

基于FPGA實(shí)現(xiàn)VGA的彩色圖片顯示

作者: 時(shí)間:2017-10-21 來源:網(wǎng)絡(luò) 收藏
  0 引言

  視頻圖形陣列顯示接口是微機(jī)系統(tǒng)使用的一種通用顯示接口,廣泛應(yīng)用于智能控制系統(tǒng)中,作為系統(tǒng)的顯示終端。對于由嵌入式微處理器構(gòu)成的圖像處理系統(tǒng)來說,采用顯示輸出具有兼容性強(qiáng)、顯示內(nèi)容豐富的優(yōu)勢。同時(shí),顯示接口具有結(jié)構(gòu)簡單、性能可靠、兼容性強(qiáng)、時(shí)序容易控制的特點(diǎn)。因此,結(jié)合圖像控制器在嵌入式的圖像處理系統(tǒng)中有廣泛的應(yīng)用前景。

本文引用地址:http://butianyuan.cn/article/201710/367174.htm

  目前大多數(shù)計(jì)算機(jī)與外部顯示設(shè)備之間都是通過模擬VGA接口連接,計(jì)算機(jī)內(nèi)部以數(shù)字方式生成的顯示圖像信息,被顯卡中的數(shù)字/模擬轉(zhuǎn)換器轉(zhuǎn)變?yōu)镽、G、B三原色信號和行場同步信號,信號通過電纜傳輸?shù)斤@示設(shè)備中。

  1 VGA顯示

  常見的VGA接口的彩色顯示器,一般由cRT(陰極射線管)構(gòu)成,色彩由R、G、B(紅:Red,綠:Green,藍(lán):Blue三基色組成。顯示采用逐行掃描的方式進(jìn)行,即當(dāng)掃描完一行時(shí),再進(jìn)行下一行的掃描,直到最后一行掃描完為止。VGA接口為顯示器提供兩類信號,一類是數(shù)據(jù)信號,一類是控制信號。

  數(shù)據(jù)信號包括紅、綠、藍(lán)信號,簡稱RGB信號??刂菩盘柊ㄋ酵叫盘枺℉SYNC)和垂直同步信號(VsYNc)。向顯示器輸出不同的分辨率時(shí),水平同步信號和垂直同步信號的頻率也不同。但是水平同步信號和垂直同步信號時(shí)序分析相同,在掃描時(shí)均需要經(jīng)過同步信號、同步后信號、行同步信號、同步后信號四個(gè)時(shí)段。僅以水平同步信號為例,其結(jié)構(gòu)如圖1所示。

  VGA接口的顯示器原理其實(shí)就相當(dāng)于點(diǎn)陣,通過控制器的控制,點(diǎn)亮所在的行和列。所以水平同步信號是針對列像素而言的,而垂直同步信號是針對行像素而言的。

  以顯示800×600的圖片大小為例,根據(jù)VGA的時(shí)序標(biāo)準(zhǔn),選擇6hz的刷新頻率。水平同步信號的同步信號包含128個(gè)列像素,同步后沿信號為 88個(gè)列像素,同步前沿信號為40個(gè)列像素,而屏幕顯示部分為800個(gè)列像素,所以一共需要1 28+88+40+800=1 056個(gè)列像素。場同步信號的同步信號包含4個(gè)行像素,同步后沿信號包含23個(gè)行像素,同步前沿信號包含1個(gè)行像素,而屏幕顯示部分為600個(gè)行像素,所以一共需要4+23+l+600=628個(gè)行像素,由此,液晶顯示器顯示一幅800×600的圖像,需要的行列像素分別為1056和628。

  2 系統(tǒng)總體框架設(shè)計(jì)

  本系統(tǒng)以 EP2C8Q208C8為核心芯片,通過對VGA接口的控制,實(shí)現(xiàn)彩色圖像的顯示,系統(tǒng)結(jié)構(gòu)框圖如圖2所示。

  2.1鎖相環(huán)PLL

  鎖相環(huán)路是一種反饋控制電路,簡稱鎖相環(huán)(PLL),一種輸出一定頻率信號的振蕩電路,也稱為相位同步環(huán)(回路)。該回路利用使外部施加的基準(zhǔn)信號與PLL 回路內(nèi)的振蕩器輸出的相位差恒定的反饋控制來產(chǎn)生振蕩信號。在網(wǎng)絡(luò)領(lǐng)域中,PLL用于從接收的信號中分離出時(shí)鐘信號,可以通過實(shí)際電路或軟件的方式實(shí)現(xiàn)。

  由于的系統(tǒng)時(shí)鐘為50MHz,而控制VGA的時(shí)鐘為40MHz,所以在對VGA接口的控制時(shí)需要進(jìn)行時(shí)鐘轉(zhuǎn)換,通??梢酝ㄟ^分頻或者是調(diào)用 IP核的方式實(shí)現(xiàn)轉(zhuǎn)換,但是由于通過自己寫的分頻程序假如在數(shù)據(jù)上處理不得當(dāng),容易產(chǎn)生毛刺,而調(diào)用quanersII軟件自帶的PLL內(nèi)核,不僅可以做到與系統(tǒng)時(shí)鐘同相,而且時(shí)鐘穩(wěn)定,能夠?qū)崿F(xiàn)對VGA時(shí)序的嚴(yán)格控制,與硬件電路來實(shí)現(xiàn)鎖相環(huán)相比,調(diào)用PLJ。內(nèi)核不僅可以做到操作簡單,而且也節(jié)約了設(shè)計(jì)成本。

  2.2存儲模塊ROM

  只讀存儲(Read一0nly Memory,ROM)是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲器圈。在系統(tǒng)框圖中的三個(gè)ROM均用來存儲顏色信息,由于本設(shè)計(jì)中使用圖片的大小為 128×128,即一共有128×128=16384個(gè)像素點(diǎn),所以ROM的大小設(shè)置為16384。這里通過quanerII軟件調(diào)用FPGA的ROM內(nèi)核,將提取的紅、綠、藍(lán)三基色數(shù)據(jù)經(jīng)quanusII軟件的處理,分別存入FPGA的ROMl、ROM2、ROM3中。在控制模塊中寫入 ROM的地址,在分頻后的時(shí)鐘控制下,將數(shù)據(jù)讀到vGA的RGB三個(gè)引腳,實(shí)現(xiàn)液晶顯示器的圖片顯示。

  2.3 的數(shù)據(jù)提取

   作為強(qiáng)大的數(shù)據(jù)處理工具,其基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)工程中常用的表達(dá)形式十分相似,故用MATLAB來解算問題要比用 c,F(xiàn)ORTRAN等語言簡捷得多。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持,可以直接調(diào)用,用戶也可以將自己編寫的實(shí)用程序?qū)薓ATIAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用,非常的方便。

  由于MATLAB軟件中默認(rèn)的圖片格式為.JPc和.BNP,因此在使用MATLAB前需將原始圖片通過Photo sh叩軟件進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后保存圖片為.BMP格式,在彈出的位寬選擇對話框選擇24位,,然后再通過MATLAB提取紅基色數(shù)據(jù),程序如下所示,結(jié)果被保存在Red.mif文件里:

  由于本設(shè)計(jì)所使用的VGA是三位的數(shù)據(jù)接口,因此藍(lán)基色和綠基色數(shù)據(jù)也按照此方法提取。Red.mif中的數(shù)據(jù)是24位的,所以還需要對提取到的紅基色數(shù)據(jù)進(jìn)行轉(zhuǎn)換。在MATLAB中做如下判斷將24位數(shù)據(jù)轉(zhuǎn)換為3位數(shù)據(jù)。

  3 結(jié)果分析

  圖像的顯示如圖3所示,顯示結(jié)果表明,由于原圖像是24位,即224種顏色,而FPGA控制的VGA只有3位即23種顏色,相比之下,以24位的圖像作為標(biāo)準(zhǔn),VGA顯示的3位圖像有明顯失真的現(xiàn)象。

  如果希望顯示的圖像更加清晰,那么需要將vGA的顯示接口重新作出電路修改,這樣才能達(dá)到清晰顯示的效果。

  4 結(jié)束語

  在許多圖像處理系統(tǒng)中,需要將經(jīng)過處理的圖像顯示出來,如果采用傳統(tǒng)的辦法將圖像數(shù)據(jù)傳回電腦并通過顯示器顯示出來,那么在傳輸?shù)倪^程中就需要嵌入式系統(tǒng)的 CPU不斷的對所傳輸?shù)膱D像數(shù)據(jù)信號進(jìn)行控制,這樣就造成了CPU資源的浪費(fèi),同樣系統(tǒng)還需要依賴電腦,降低了系統(tǒng)的靈活性。如果采用FPGA對顯示器的 VGA接口進(jìn)行設(shè)計(jì),數(shù)據(jù)流只需要在整個(gè)系統(tǒng)的內(nèi)部流動(dòng),而不需要依靠計(jì)算機(jī),實(shí)現(xiàn)了系統(tǒng)的最小化,大大減少了電路板的尺寸,增強(qiáng)了系統(tǒng)的可靠性和設(shè)計(jì)的靈活性。

  VGA接口同樣也是LCD液晶顯示設(shè)備的標(biāo)準(zhǔn)接口,通過VGA控制LCD可以使整個(gè)系統(tǒng)變得小巧,攜帶方便,使得應(yīng)用的范圍大大擴(kuò)展。作者所在的全景視覺圖象處理項(xiàng)目中,正是需要把經(jīng)過處理的圖像實(shí)時(shí)地直接地顯示出來,撇開對計(jì)算機(jī)的需求,以滿足各種不同應(yīng)用環(huán)境的需要。

  通過FPGA對VGA接口的控制,不僅實(shí)現(xiàn)了FPGA對任一圖像的顯示,而且其內(nèi)部時(shí)鐘可調(diào)性為設(shè)計(jì)帶來了很大的方便,節(jié)約了硬件成本。此方案可以廣泛應(yīng)用于數(shù)字視頻系統(tǒng)、高分辨率的彩色圖片圖像處理、視頻信號再現(xiàn)等各種領(lǐng)域。

作者黃文杰,李燦平,丁然



關(guān)鍵詞: VGA MATLAB FPGA

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉