利用可編程器件CPLD/FPGA實(shí)現(xiàn)VGA彩色顯示控制器在工業(yè)現(xiàn)場(chǎng)中有許多實(shí)際應(yīng)用,。以硬件描述語言VHDL對(duì)可編程器件進(jìn)行功能模塊設(shè)計(jì),、仿真綜合,,可實(shí)現(xiàn)VGA顯示控制器顯示各種圖形、圖像,、文字,,并實(shí)現(xiàn)了動(dòng)畫效果。
VGA 接口及設(shè)計(jì)參數(shù)VGA接口是與顯示器進(jìn)行通信的唯一接口,。通過CPLD/FPGA器件對(duì)RGB信號(hào),、行同步信號(hào)、場(chǎng)同步信號(hào)等信號(hào)的控制,,并參照有關(guān)標(biāo)準(zhǔn),,可以實(shí)現(xiàn)對(duì)VGA顯示器的控制。由此可見,,了解接口標(biāo)準(zhǔn),,控制時(shí)序和設(shè)定恰當(dāng)?shù)膮?shù)是系統(tǒng)設(shè)計(jì)的關(guān)鍵。
參照VGA主要參數(shù)的工業(yè)標(biāo)準(zhǔn),,像素輸出頻率為25.175MHz,;行頻(線頻率)為31.469KHz;場(chǎng)頻(刷新率)為59.94Hz.參數(shù)設(shè)計(jì)原理以及行同步信號(hào)(Ts)與顯示信號(hào)(Tdis)的關(guān)系如圖1所示,。
VGA 圖像控制器的設(shè)計(jì)方案VGA圖像控制器是一個(gè)較大的數(shù)字系統(tǒng),。采用模塊化設(shè)計(jì)原則,借鑒自頂而下的程序設(shè)計(jì)思想,,進(jìn)行功能分離并按層次設(shè)計(jì),。將VHDL硬件描述語言設(shè)計(jì)與原理圖設(shè)計(jì)相結(jié)合,逐一對(duì)每個(gè)功能模塊進(jìn)行仿真,,使頂層VGA圖像控制器的模塊實(shí)體仿真綜合得以順利通過,。VGA控制器主要由以下模塊組成:消隱模塊,顯示模塊,,分頻模塊,,網(wǎng)格生成模塊,漢字顯示模塊,,圖像控制模塊,,動(dòng)畫生成模塊,,LPM-ROM調(diào)用模塊,EEPROM調(diào)用模塊等,。功能模塊的VHDL設(shè)計(jì)如下,。
消隱模塊消隱模塊是整個(gè)顯示控制器的關(guān)鍵部分,顯示模塊,、漢字模塊,、彩條模塊、網(wǎng)格模塊,、動(dòng)畫控制模塊,、LPM-ROM調(diào)用模塊等都由消隱模塊控制,并且行同步信號(hào)(HS)和場(chǎng)同步信號(hào)(VS)都由該模塊產(chǎn)生,。
圖2是消隱模塊的仿真結(jié)果,。由于CLK頻率相當(dāng)高,像素速率也很高,,為了觀察HS,、VS信號(hào),適當(dāng)縮小了波形比例,。其中,, C[9……0]為像素坐標(biāo)值,L[8……0]為掃描線信號(hào),,也就是像素的橫坐標(biāo),。
顯示模塊顯示模塊是整個(gè)顯示控制器的重要組成部分。各個(gè)模塊的輸出數(shù)據(jù)都要經(jīng)過該模塊處理后送到顯示器,。顯示模塊在VGA顯示控制器中起著至關(guān)重要的作用,。
顯示模塊的VHDL設(shè)計(jì)如下:ARCHITECTURE BEHAVE OF DISPLAY IS SIGNAL GRB: STD_LOGIC_VECTOR(3 DOWNTO 1);BEGIN GRB(2)<=GRBP(2) AND HS AND VS,;GRB(3)<=GRBP(3) AND HS AND VS,;GRB(1)<=GRBP(1) AND HS AND VS;R<=GRB(2),;G<=GRB(3),;B<=GRB(1);END BEHAVE,;顯示模塊仿真波形如圖3所示,。
GRBP為三原色數(shù)據(jù)信號(hào),由模式控制模塊產(chǎn)生,;行同步信號(hào)HS由消隱模塊產(chǎn)生,;場(chǎng)同步信號(hào)VS由消隱模塊產(chǎn)生。輸出的R、G,、B信號(hào)分別為紅色,、綠色、藍(lán)色信號(hào),。
顯示模塊的輸出信號(hào)直接連到VGA接口,,它是控制器與顯示器進(jìn)行通信的橋梁。該模塊以VHDL語言實(shí)現(xiàn),,該模塊中的結(jié)構(gòu)體描述一共只用了6條語句,。而要實(shí)現(xiàn)同樣的功能,,一般操作系統(tǒng)的視頻卡驅(qū)動(dòng)程序需要冗長的代碼去描述,。由此可見,VHDL語言具有很大的優(yōu)越性,。
漢字生成模塊漢字生成模塊可實(shí)現(xiàn)在顯示器上顯示漢字,、字符等。字模信息可以利用字模提取軟件來獲得,,得到了漢字的字模信息后,,可以通過屏幕上的橫坐標(biāo)和縱坐標(biāo)按照字模信息定義像素的顏色,這樣就可以顯示任何字體,、任何點(diǎn)陣的漢字,,并根據(jù)需要決定漢字在屏幕上的位置。至于英文以及其他任何符號(hào)的顯示原理與漢字顯示的原理一樣,。
網(wǎng)格生成模塊網(wǎng)格生成模塊用來編輯各種圖形,。網(wǎng)格生成模塊的實(shí)現(xiàn)原理與漢字生成模塊、彩條發(fā)生器類似,,在像素的橫坐標(biāo)和縱坐標(biāo)控制下,,實(shí)現(xiàn)各種網(wǎng)格圖形的生成。網(wǎng)格生成模塊所產(chǎn)生的九種圖形送顯示器依次顯示,,所以可以看到網(wǎng)格由小到大逐漸變化,,雖然不是動(dòng)畫效果,但每秒一幀畫面的速度依然使圖像連續(xù)變化呈現(xiàn)出動(dòng)感,。網(wǎng)格以及背景的顏色也可以隨意設(shè)置,。每幀圖像的速率可由時(shí)鐘來控制。
網(wǎng)格生成模塊的主要功能是編輯各種圖形,,因此本模塊可以按照設(shè)計(jì)方案生成各種各樣的圖形,。網(wǎng)格的選擇是一種比較簡單的圖像編輯,該部分雖然名為網(wǎng)格生成模塊,,但實(shí)際上可以編輯出多種彩色圖像,。
LPM-ROM調(diào)用模塊LPM是參數(shù)可設(shè)置模塊庫。本設(shè)計(jì)中調(diào)用了三個(gè)LPM-ROM,其中兩個(gè)用來存放漢字信息,,另一個(gè)用來存放動(dòng)態(tài)彩條信息,。調(diào)用LPM-ROM模塊,一個(gè)重要的問題就是*.mif文件的生成,。這里文件生成借助字模提取軟件和WORD編輯功能,。設(shè)置好參數(shù)后,生成元件作為自定義元件庫中的元件以供調(diào)用,。
LPM-ROM調(diào)用模塊為不使用外掛ROM而建立字庫提供了條件,,直接調(diào)用LPM模塊,可以大大提高效率,。通過LPM-ROM可以在顯示器上顯示漢字,、字符等。
EEPROM調(diào)用模塊EEPROM調(diào)用模塊是設(shè)計(jì)的難點(diǎn)之一,。該模塊實(shí)現(xiàn)了對(duì)系統(tǒng)外掛的兩個(gè)EEPROM(W27E040和W27C020)的訪問,,通過該模塊可以使顯示器顯示各種各樣的彩色圖像。
圖像模式控制模塊圖像模式控制模塊也是該數(shù)字系統(tǒng)的關(guān)鍵部分,,它的主體部分是一個(gè)功能齊全的數(shù)據(jù)選擇器(32選1),。
該模塊由一個(gè)32選1數(shù)據(jù)選擇器和一個(gè)32進(jìn)制可逆計(jì)數(shù)器組成??赡嬗?jì)數(shù)器控制端為EC,、DIR、CLR,,MD為計(jì)數(shù)時(shí)鐘信號(hào),。計(jì)數(shù)結(jié)果(即對(duì)應(yīng)一種模式)是數(shù)據(jù)選擇器進(jìn)行選擇的依據(jù),通過對(duì)可逆計(jì)數(shù)器的控制,,可以實(shí)現(xiàn)對(duì)模式選擇的控制,。
圖像控制模塊共產(chǎn)生了32種模式,由計(jì)數(shù)器實(shí)現(xiàn)了對(duì)模式的有效控制,。其實(shí)圖像控制模塊功能還可以進(jìn)一步擴(kuò)展,。計(jì)數(shù)器輸出為8比特,實(shí)際共有255種模式,,在輸入的32個(gè)信號(hào)中,,可以將它們其中的任意幾個(gè)進(jìn)行再處理,如疊加,、異或(棋盤格生成就是橫彩條與豎彩條的異或而實(shí)現(xiàn)的),、相與等等,這樣就可以產(chǎn)生成千上萬種圖形的輸出,。
VGA控制器中的十余個(gè)模塊都采用VHDL語言實(shí)現(xiàn),,每個(gè)模塊在功能仿真無誤后生成元件,,放入元件庫中,由頂層原理圖調(diào)用各個(gè)模塊(元件),。VGA圖像控制器整體設(shè)計(jì)經(jīng)過調(diào)試,,通過了MAX+PLUSⅡ的功能仿真、時(shí)序仿真以及硬件仿真綜合,,在VGA顯示器上實(shí)現(xiàn)了所設(shè)計(jì)的各種功能,。
結(jié)語利用可編程邏輯器件可以很方便地實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì),基于CPLD/FPGA器件的VGA控制器可以實(shí)現(xiàn)顯示器的實(shí)時(shí)顯示,。該系統(tǒng)性能高低取決于系統(tǒng)設(shè)計(jì)方案,,硬件描述語言設(shè)計(jì)以及開發(fā)工具的性能。