FPGA+MCU實現(xiàn)VGA圖象信號發(fā)生器
時鐘頻率:25.175MHz(像素輸出的頻率)
行頻: 31469Hz
場頻: 59.94Hz(每秒圖像刷新頻率)
圖象信號顯示的顏色種類與表示R、G、B三基色的二進(jìn)制數(shù)位數(shù)有關(guān),表1列出了8種顏色的編碼方式。
4、系統(tǒng)設(shè)計
4.1 圖像信號產(chǎn)生模塊的設(shè)計
產(chǎn)生圖像信號的核心器件采用Altera公司的Cyclone FPGA芯片EP1C3T144C8N。它具有多達(dá)20060個邏輯單元。最大用戶I/O數(shù) 104個。器件中M4K存儲塊提供288kbit存儲容量,能夠被配置來支持多種操作模式,包括RAM、ROM、FIFO及單口和雙口模式。
Cyclone器件具有高級外部存儲器接口,允許設(shè)計者將外部單數(shù)據(jù)率(SDR)SDRAM,雙數(shù)據(jù)率(DDR)、SDRAM和 DDR FCRAM 器件集成到復(fù)雜系統(tǒng)設(shè)計中,而不會降低數(shù)據(jù)訪問的性能。并且還具有兩個可編程鎖相環(huán)(PLL)和八個全局時鐘線,能提供時鐘管理和頻率合成,實現(xiàn)最大的系統(tǒng)功能。根據(jù)VGA顯示原理,圖象信號產(chǎn)生器的主要功能是:產(chǎn)生時序驅(qū)動信號HS、VS及VGA彩色圖象編碼信號,同時在正確的時序控制下,輸出ROM中的象素數(shù)據(jù)至顯示器的VGA接口,進(jìn)行圖象顯示。FPGA內(nèi)部電路原理結(jié)構(gòu)如圖4。本文利用Altera公司QuartusⅡ6.0開發(fā)平臺,遵循自頂向下的設(shè)計方法,針對各功能模塊,采用VHDL語言對FPGA器件編程,產(chǎn)生HS和VS掃描時序信號及各種圖象信號。
VGA時序信號是圖象顯示的關(guān)鍵,行場掃描時序的產(chǎn)生,是利用邏輯編程的方法實現(xiàn)的,即用VHDL編寫分頻器,計時器模塊,來獲得T1、T2、T3、T4時序。當(dāng)輸出數(shù)字、彩條信號和棋盤格圖象時,由外部12M有源晶振提供時鐘輸入,其中行頻HS:12MHZ ÷13÷29=31830Hz、場頻VS:31830Hz÷480×0.93=61.67Hz、T1=1/31830Hz×4/29=25.96us、T2=1/31830Hz×5/29=6.04us、T3為兩個行周期(T1+T2),T4為480個行周期。
圖象信號包括數(shù)字、彩條、棋盤格,和ROM中定制的圖形等。數(shù)字信號和彩條信號的產(chǎn)生是按行場方向?qū)⑵聊桓鬟M(jìn)行8等分,相當(dāng)于一個8×8的點陣,在對應(yīng)位置顯示相應(yīng)顏色即可獲得所需圖像信號;棋盤格信號是將橫彩條和豎彩條相異或獲得。ROM中定制的較為復(fù)雜的彩色圖像,需采用像素點輸出,即將圖像各像素點的信息存儲于ROM中,再以一定的頻率輸出。FPGA器件ROM的定制有兩種方法:第一種方法是利用FPGA器件的嵌入式存儲器定制LPM_ROM,用.MIF文件或.HEX文件對其進(jìn)行初始化,這種方法獲得的ROM最大尋址空間為2 12,可以存儲一幅分辨率為64×64的圖像信息;第二種方法是在FPGA邏輯資源的限度內(nèi)用VHDL語言定制一個ROM,采用CASE語句對其進(jìn)行初始化,這種方法獲得的ROM在存儲深度較大時,編譯時對時間的開銷較大。ROM初始化完成后,在25MHz的時鐘頻率下輸出存儲的圖像信息。其圖象顏色種類的多少取決于存儲空間的大小。
ROM定制的圖象信息是利用FPGA嵌入的存儲器定制LPM_ROM,可以用于存儲一幅64×64分辨率的圖像信息,數(shù)據(jù)線寬為3位,地址線12根,采用組合尋址方式,即行地址HSADDRESS占低6位,場地址VSADDRESS占高6位;若要顯示更為復(fù)雜的圖象信息,只需擴(kuò)展存儲器及尋址的數(shù)據(jù)線寬度,為了保證行地址信號輸出與行掃描信號輸出同步,場地址信號輸出與場掃描信號輸出同步,在VHDL編程時,可用25MHz時鐘作為進(jìn)程的啟動信號。輸出信號的時序波形如圖6所示。各種圖象信號的輸出是由數(shù)據(jù)選擇器通過VHDL編程實現(xiàn)的。
評論