<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的VGA波形顯示方法研究

基于FPGA的VGA波形顯示方法研究

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)微電子技術(shù)的發(fā)展,應用FPGA技術(shù)開(kāi)發(fā)的信號處理系統在各種行業(yè)中得到了廣泛的應用。VGA是IBM公司在1987年隨PS/2機一起推出的一種視頻傳輸標準,具有分辨率高、顯示速度快、顏色豐富等優(yōu)點(diǎn),在彩色顯示器領(lǐng)域得到了廣泛的應用。采用FPGA設計VGA控制器也是近幾年研究的一個(gè)熱點(diǎn),這種方式設計的顯示系統,在不使用VGA顯示卡的情況下,實(shí)現圖像的顯示和控制,具有成本低、結構簡(jiǎn)單、應用靈活的優(yōu)點(diǎn)。目前關(guān)于這方面的研究論文主要集中在顯示原理的介紹、FPGA設計VGA時(shí)序控制器[1-2]以及圖像顯示方法[3-4]上,至于波形的顯示方法主要集中在計算機上通過(guò)顯卡實(shí)現,利用FPGA而無(wú)需顯卡的VGA顯示波形的討論比較少見(jiàn)。本文依據VGA顯示原理,介紹兩種VGA顯示波形的方法,給出了兩種波形顯示方法的流程圖,同時(shí)針對波形顯示中出現的不穩定性提出了一種穩定顯示波形的策略,并給出了VGA顯示的結果波形。顯示方法利用Verilog HDL 語(yǔ)言作為邏輯描述手段,在QuartusII軟件環(huán)境下使用Stratix II系列的FPGA芯片完成。

1 VGA顯示原理

常見(jiàn)的彩色顯示器一般由CRT構成,彩色由R、G、B三色組成。采用逐行掃描的顯示方式,陰極射線(xiàn)槍發(fā)出的電子束打在涂有熒光粉的熒光屏上,產(chǎn)生R、G、B 三基色,最后合成一個(gè)彩色圖像。

對于圖像的顯示,可以利用行、場(chǎng)同步信號的計數器,在顯示可視區間內按照圖片的大小劃定行和列的起始坐標和終止坐標,當掃描點(diǎn)在圖像顯示區域內時(shí),根據掃描點(diǎn)在圖像顯示區中的相對坐標位置,計算得到當前要顯示的圖像像素點(diǎn)在圖像存儲器中的地址,然后讀取顯示。

如圖1所示,x表示行計數器的計數值(行坐標),y表示列計數器計數值(列坐標),顯示的分辨率為H×V,(x,y)為顯示區域內的任意一像素點(diǎn)。波形顯示區域的大小為M×N,起始點(diǎn)為(m0,n0),(m,n)則為掃描點(diǎn)在波形顯示區域中的相對坐標。當掃描點(diǎn)到達波形顯示區域時(shí), 即滿(mǎn)足以下關(guān)系:

則有m=x-m0,n=y-n0;此時(shí),可以將m作為波形存儲器的地址,取出波形數據進(jìn)行顯示,波形存儲器的大小可以設置為大于或等于M。


2 波形顯示方法

本文引用地址:http://dyxdggzs.com/article/201706/349139.htm

 在這里討論兩種波形顯示的方法。假設存儲在波形RAM中的數據為x(k),(m,n)為掃描點(diǎn)在波形顯示區域中的相對坐標。

方法一:如圖2(a)流程所示,當掃描點(diǎn)進(jìn)入波形顯示區域時(shí),開(kāi)始讀取波形RAM中的數據,將讀出的數據x(k)與當前掃描點(diǎn)在波形顯示區域中的縱坐標n或者N-n作比較,如果相等則顯示,否則不顯示。圖2(b)所示為方法一顯示的效果圖。

方法二:如圖3(a)流程所示,當掃描點(diǎn)進(jìn)入波形顯示區域時(shí),開(kāi)始讀取波形RAM中的數據,將當前掃描點(diǎn)在波形顯示區域中的縱坐標n或者N-n與讀出的當前數據x(k)和上一個(gè)波形數據x(k-1)進(jìn)行對比,如果掃描點(diǎn)剛好處于這兩個(gè)值之間則顯示,否則不予顯示。圖3(b)所示為方法二顯示的效果圖。


3 顯示控制器設計


須提供R、G、B三基色圖像信號,HS行同步信號和VS場(chǎng)同步信號。由于VGA接口顯示器僅能處理串行模擬信號,因此,VGA控制器所產(chǎn)生的信號經(jīng)D/A轉換器將數字信號轉變?yōu)槟M信號后發(fā)送給顯示器使用。VGA顯示器正確、完整地顯示數字圖像包括時(shí)序的構建和數字圖像信息的模擬化兩個(gè)方面。據此系統硬件實(shí)現框圖如圖4所示,系統硬件由ADC控制模塊、波形穩定控制模塊、RAM存儲模塊、VGA控制模塊組成。在A(yíng)DC控制模塊的控制下將A/D轉換器轉換后的數字信號經(jīng)波形穩定模塊處理后,存入RAM內,而后VGA控制器在驅動(dòng)顯示器的時(shí)候,讀取中的數據進(jìn)行顯示[5]。通常VGA顯示器顯示的數據量較大,而FPGA內置的片內存儲器資源很難滿(mǎn)足存儲量的需求,因此,一般都需要通過(guò)外接存儲器進(jìn)行擴展,對于圖像等大數據量處理系統通常選用SDRAM進(jìn)行擴展[6],本系統只進(jìn)行波形的顯示,不進(jìn)行數據處理等操作,故片內存儲器足夠滿(mǎn)足使用要求。

需要說(shuō)明的是,信號的時(shí)鐘選為125 MHz,而VGA的顯示標準選擇的是視頻電子標準協(xié)會(huì )VESA(Video Electronics Standards Association)即為1 280×1 024@60 Hz,故像素時(shí)鐘為108 MHz。為了產(chǎn)生這兩種時(shí)鐘,在FPGA片外接100 MHz的晶振,使用FPGA內部?jì)蓚€(gè)鎖相環(huán)經(jīng)倍頻后得到。對于不同時(shí)鐘速率之間的數據交換, 一般會(huì )通過(guò)使用FIFO進(jìn)行緩沖,本文使用雙端口RAM進(jìn)行緩存,配置為一個(gè)讀端口和一個(gè)寫(xiě)端口,兩個(gè)端口擁有各自獨立的時(shí)鐘(分別為108 MHz和125 MHz), 設計簡(jiǎn)單的控制時(shí)序就可實(shí)現數據的正確讀寫(xiě)。

3.1 存儲數據寬度的選擇

通常ADC的分辨率為12 bit或者14 bit,支持補碼形式表示,數字信號表示的最大范圍為4 096或者16 384,而實(shí)際的顯示器的分辨率遠遠小于此值,常見(jiàn)的有640×480、1 024×768、1 280×1 024等。因此根據顯示波形區域的大小,存儲在顯示緩存器中數據寬度可以縮減,例如波形顯示區域的大小為1 024×512,選用橫向顯示,則可將顯示數據的寬度截取為9 bit,這樣一來(lái)最大值不會(huì )超過(guò)511,避免了數據值較大而無(wú)法顯示的情況。本文中所選用的波形顯示區域大小為1 024×768,即M=1 024,N=768,顯示數據截取為10 bit,但需注意,并不是從采集進(jìn)來(lái)的數字信號直接截取。為了防止數據較大而溢出波形顯示區域,作如下處理:首先從ADC采集進(jìn)來(lái)的數據分別截取9 bit和8 bit,然后將截取后的兩個(gè)數據進(jìn)行相加,結果為10 bit數據,其最大值不會(huì )超過(guò)768,這樣就防止了顯示溢出而導致的波形顯示失真。

3.2 穩定顯示波形策略

由于系統采集的時(shí)鐘與VGA顯示的像素時(shí)鐘不同,通常都會(huì )選取部分數據進(jìn)行顯示,而其余的數據將會(huì )被丟棄,因此如何選取數據變得尤為重要,如果選取不合適,會(huì )造成顯示波形閃動(dòng),無(wú)法分辨。為了使顯示的波形穩定,在數據采集時(shí)進(jìn)行了預處理:首先判斷掃描點(diǎn)是否在波形顯示區域內,如果在,則讀取波形RAM中的數據并顯示;否則對采集進(jìn)來(lái)的信號進(jìn)行基準點(diǎn)檢測,當檢測到基準點(diǎn)時(shí),開(kāi)始向波形RAM中寫(xiě)數據,寫(xiě)滿(mǎn)時(shí)停止寫(xiě)入,而后面采集的信號全部丟棄。利用這種方式,顯示的基準點(diǎn)位于顯示區域最左邊線(xiàn),而通常需要將顯示的基準點(diǎn)移至顯示區域的中心位置。對于這種方式的實(shí)現方案是:首先定制大于或等于2倍于顯示寬度大小的波形RAM,當掃描點(diǎn)不在波形顯示區域中時(shí),開(kāi)始將采集的數據進(jìn)行存儲。當數據存儲地址大于顯示區域寬度一半時(shí),開(kāi)始檢測基準點(diǎn),同時(shí)將采集的數據繼續寫(xiě)入波形RAM中,檢測到基準點(diǎn)時(shí),將此點(diǎn)對應的數據地址tadd保存起來(lái),而后繼續存儲直至存滿(mǎn)為止。當掃描點(diǎn)到達波形顯示區域時(shí),從地址radd開(kāi)始讀取數據進(jìn)行顯示,這樣就達到了目的。其中地址radd的計算公式為:

需要說(shuō)明的是,以上介紹的穩定顯示波形策略,存儲器資源占用很少,大量采集的數據將會(huì )被丟失。當VGA控制器以像素時(shí)鐘讀取波形RAM時(shí),從ADC采集進(jìn)來(lái)的數據不會(huì )寫(xiě)入波形RAM,以保持波形的完整性;當VGA控制器不讀取波形RAM時(shí),ADC采集進(jìn)來(lái)的數據以采集速率寫(xiě)入波形RAM中,直到寫(xiě)滿(mǎn)后停止。對于本系統設計,當VGA控制器不讀取波形RAM時(shí),能夠保證波形RAM寫(xiě)滿(mǎn)完整一幀數據。當n0≤y≤n0+N成立時(shí),需要的時(shí)間為1 280×768÷108 MHz≈9.102μs,對波形RAM不進(jìn)行寫(xiě)入操作。不滿(mǎn)足時(shí),需要的時(shí)間為1280×256÷108 MHz≈2.427 μs;如果波形RAM的大小為2 KB,采集速率為125 MHz, 則寫(xiě)入波形RAM的時(shí)間為2048÷125 MHz≈16.384 ns,可見(jiàn)對于波形RAM有足夠的時(shí)間進(jìn)行寫(xiě)入操作。以上分析均沒(méi)有考慮消隱所用的時(shí)間。

3.3 VGA時(shí)序

在VGA 接口協(xié)議中,不同的顯示模式都有嚴格的工業(yè)標準、不同的分辨率或不同的刷新頻率,故其時(shí)序也不相同[7]。VESA的標準參考顯示時(shí)序如圖5所示,B為行同步信號,占用112個(gè)像素時(shí)鐘周期,C為行消隱后肩, E為行消隱前肩,D為有效數據顯示期;P為場(chǎng)同步信號,占用3個(gè)行周期,Q為場(chǎng)消隱后肩,S為場(chǎng)消隱前肩,R為行有效顯示期。在逐行掃描情況下,1 280×1 024分辨率有效顯示區域為每行1 280個(gè)像素,一場(chǎng)1 024行,實(shí)際考慮到行消隱和場(chǎng)消隱時(shí)間的影響,實(shí)際分辨率為1 688×1 066。場(chǎng)同步信號VS用來(lái)確定一幀圖像的開(kāi)始和結束時(shí)間,確保圖像數據從左到右、從上到下掃描,以形成一幅幅圖像。行同步信號HS標志著(zhù)一行像素的開(kāi)始和結束,使圖像數據顯示在屏幕從左到右的有效區域。

首先根據刷新頻率確定主時(shí)鐘頻率,然后由主時(shí)鐘頻率和圖像分辨率計算出行總周期數,再把同步、消隱各時(shí)序段的時(shí)間按照主計數脈沖源頻率折算成時(shí)鐘周期數。在FPGA中利用計數器,以計算出的各時(shí)序段時(shí)鐘周期數為基準產(chǎn)生不同寬度和周期的脈沖信號,利用它們的邏輯組合產(chǎn)生視頻DAC的控制信號和VGA接口的同步信號。

4 實(shí)驗結果及分析

對本文提到的波形顯示方法進(jìn)行了實(shí)驗驗證,分別對采集的正弦波和方波進(jìn)行兩種方法的顯示。圖6(a)為方法一顯示的方波,可以看出,方法一對于變化比較陡峭的波形顯示,會(huì )出現很多虛點(diǎn),視覺(jué)效果不佳,不利于顯示波形變化陡峭的波形。圖6(b)為方法二顯示的方波,這種方法對于任意波形的顯示都具有很好的顯示效果,不存在方法一中提到的波形不連續情況,視覺(jué)上達到平滑的效果。由此可見(jiàn),方法二顯示的波形線(xiàn)條清晰,適合各種波形的顯示,比方法一顯示的波形視覺(jué)效果更好。

本文針對VGA顯示波形的美觀(guān)性要求,首先在介紹VGA顯示原理和時(shí)序控制器的設計方法的基礎上研究了波形存儲器的數據寬度選擇以及一種波形穩定顯示的策略,然后探討了兩種VGA顯示波形的方法,第一種方法可以顯示“變化緩慢”的波形,對于“比較陡峭”的波形顯示不連續,效果不佳;第二種方法對于任意一種波形都可以連續地顯示,具有很好的視覺(jué)顯示效果。本文所述的波形顯示方法為新型示波器的設計提供了設計思路。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>