基于DSP Builder的VGA接口系統(tǒng)設(shè)計(jì)
狀態(tài)機(jī)設(shè)計(jì)
由VGA時(shí)序可設(shè)計(jì)有限狀態(tài)機(jī)來(lái)完成時(shí)序信號(hào),以本設(shè)計(jì)@60Hz">1024×768@60Hz為例,對(duì)于行同步信號(hào)設(shè)計(jì)四個(gè)狀態(tài),即行同步脈沖信號(hào)區(qū)(horsync)、后沿區(qū)(backporch)、數(shù)據(jù)區(qū)(video)以及前沿區(qū)(frontporch)。用計(jì)數(shù)器hcnt的值來(lái)區(qū)分各階段信號(hào),最大記數(shù)值為1344。場(chǎng)同步信號(hào)也設(shè)計(jì)成如上四個(gè)狀態(tài),當(dāng)完成一行的掃描后場(chǎng)計(jì)數(shù)器vcnt開(kāi)始計(jì)數(shù),因此一場(chǎng)可以有多行。
VGADAC芯片及相應(yīng)信號(hào)的生成
一般的VGADAC芯片需要輸入相應(yīng)的驅(qū)動(dòng)信號(hào)才能工作,包括時(shí)鐘信號(hào)、同步信號(hào)、有效顯示區(qū)信號(hào)等。系統(tǒng)所用DAC芯片為FMS3818,其信號(hào)包括時(shí)鐘與數(shù)據(jù)信號(hào)(RGB)輸入、控制信號(hào)輸入(sync與blankn)以及RGB信號(hào)DA輸出。行同步與場(chǎng)同步信號(hào)與經(jīng)VGADAC產(chǎn)生的RGB數(shù)據(jù)信號(hào)一并輸出到VGA接口,驅(qū)動(dòng)CRT顯示。在本設(shè)計(jì)中時(shí)鐘信號(hào)65MHz、同步信號(hào)為horsync與versync相與產(chǎn)生,有效顯示區(qū)信號(hào)為行與場(chǎng)的有效數(shù)據(jù)區(qū)信號(hào)相與產(chǎn)生。
一維矢量信號(hào)顯示方式
在二維的空間中顯示一維矢量信號(hào),常規(guī)顯示方法可以是將一維信號(hào)從左至右顯示,如圖2(a)所示,就如在普通的示波器上觀察到的一樣。這樣,在VGA顯示時(shí),一行掃過(guò)多個(gè)采樣點(diǎn),需把要顯示的采樣點(diǎn)位置計(jì)算出來(lái),當(dāng)行信號(hào)掃過(guò)時(shí),把采樣點(diǎn)的值賦給像素點(diǎn),就完成了信號(hào)的顯示。而對(duì)于連續(xù)的一維信號(hào),因?yàn)樾蓄l比場(chǎng)頻高,圖2(b)的顯示方法更加合理。為此,將一維信號(hào)的時(shí)間軸映射到垂直方向上,幅值映射到水平方向上,當(dāng)行掃描信號(hào)掃過(guò)一行時(shí),映射一維信號(hào)的一個(gè)采樣點(diǎn),即一行信號(hào)對(duì)應(yīng)一個(gè)像素,當(dāng)完成一行信號(hào)后接著回掃,開(kāi)始掃下一行。一般情況下,場(chǎng)頻確定后,就可以根據(jù)一維信號(hào)的頻率確定出一場(chǎng)可以顯示的周期數(shù),當(dāng)完成一場(chǎng)信號(hào)后,在屏幕上就顯示一幀圖像。
在具體實(shí)現(xiàn)時(shí),需要對(duì)一維正弦波信號(hào)的參數(shù)作兩點(diǎn)控制:控制正弦波的頻率,保證一行掃描對(duì)應(yīng)一個(gè)采樣點(diǎn);控制正弦波的幅度,將其控制在1024×768的有效顯示區(qū)域中。
對(duì)正弦波頻率來(lái)說(shuō),如果頻率太高,一行會(huì)掃到多個(gè)采樣點(diǎn);如果頻率太低,一整屏無(wú)法顯示一個(gè)完整周期的信號(hào)。在本設(shè)計(jì)中,用一個(gè)較低的采樣時(shí)鐘控制正弦波的采樣,正弦波存放在一個(gè)查找表中。如果要在一屏中顯示n個(gè)周期的正弦信號(hào),那么需要的采樣頻率fs=刷新率×n×查找表中一個(gè)周期的點(diǎn)數(shù)。
控制正弦波幅度即讓正弦波的最大值不能超出屏幕的顯示區(qū)。VGA有效顯示寬度為1024,則屏幕兩端的空閑部分寬度(圖2(a)和(c))都為100。
(a) (b)
圖2一維正弦波VGA顯示示意圖
評(píng)論