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