新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的VGA顯示模式和像素頻率的識(shí)別

基于FPGA的VGA顯示模式和像素頻率的識(shí)別

作者: 時(shí)間:2008-04-23 來源:網(wǎng)絡(luò) 收藏
0 引言

視頻采集卡不僅能用于影像處理,還可以用一臺(tái)顯示器同時(shí)顯示、監(jiān)控多臺(tái)主機(jī)的內(nèi)容,達(dá)到實(shí)時(shí)控制多臺(tái)主機(jī)的目的。隨著數(shù)字影像技術(shù)的不斷發(fā)展,使得視頻采集卡的需求不斷增加,在電子通信與信息處理領(lǐng)域得到廣泛應(yīng)用。而傳統(tǒng)的視頻采集卡硬件實(shí)現(xiàn)復(fù)雜,難于向便攜、嵌入的方向發(fā)展。因此,設(shè)計(jì)一種硬件簡(jiǎn)單、使用方便、便于嵌入到系統(tǒng)中的視頻信號(hào)采集電路具有重要的意義。

隨著(現(xiàn)場(chǎng)可編程門陣列)集成度的增加、功耗和價(jià)格的不斷降低,現(xiàn)在的視頻采集卡的實(shí)現(xiàn)可以由來實(shí)現(xiàn)。本文設(shè)計(jì)的(視頻圖形陣列)顯示頻率的識(shí)別方法,可以作為由實(shí)現(xiàn)的視頻采集卡的一個(gè)模塊,并且應(yīng)用中具有可靠性高、性能穩(wěn)定、調(diào)試簡(jiǎn)單、可擴(kuò)展性好及設(shè)計(jì)成本低等特點(diǎn)。

1 顯示原理

隨著顯示技術(shù)的不斷發(fā)展,在業(yè)界制定了多種顯示協(xié)議標(biāo)準(zhǔn)。根據(jù)分辨率和刷新頻率的不同,顯示的發(fā)展可分為:(640480);SVGA(高級(jí)VGA,800600);XGA(可擴(kuò)展圖形陣列,1 024768像素)。本文可以識(shí)別各種刷新頻率的上述顯示,并得到像素頻率值,進(jìn)一步應(yīng)用于A/D轉(zhuǎn)換器采樣模塊處理中。

常見的彩色顯示器一般由CRT(陰極射線管)構(gòu)成,彩色是由R(紅)、G(綠)、B(藍(lán))3色組成。顯示是采用逐行掃描的方式,陰極射線槍發(fā)出的電子束打在涂有熒光粉的熒光屏上,產(chǎn)生RGB三色基,最后合成一個(gè)彩色圖像。從熒幕的左上方開始向右掃描,每掃完一行圖像電子束回到下一行的最左端,每行結(jié)束后電子槍回掃的過程中進(jìn)行消隱。然后從新開始行掃描,消隱……,直到掃到熒幕的右下方,電子束回到熒幕的左上方從新開始新的圖像掃描,并且在回到熒幕左上方的過程中進(jìn)行消隱。在消隱過程中不發(fā)射電子束。每一行掃描結(jié)束時(shí),用HS(行同步)信號(hào)進(jìn)行同步;掃描完所有的行后用VS(場(chǎng)同步)信號(hào)進(jìn)行同步。

VGA的行、場(chǎng)掃描時(shí)序見圖1。圖中行頻和場(chǎng)頻在數(shù)量上有很大差別,但時(shí)序上一樣。因此,圖1只是示例HS信號(hào)、VS信號(hào)的行(場(chǎng))掃描時(shí)間、行(場(chǎng))同步時(shí)間、前沿時(shí)間、后沿時(shí)間、激勵(lì)視頻時(shí)間等。

2 FPGA系統(tǒng)實(shí)現(xiàn)

本文是基于FPGA對(duì)VGA顯示模式的識(shí)別并計(jì)算出像素頻率,采用自頂而下的設(shè)計(jì)思想,將整個(gè)系統(tǒng)分為分頻模塊、HS信號(hào)和VS信號(hào)計(jì)數(shù)模塊、VGA顯示模式選擇模塊。如圖2所示。

2.1分頻模塊

程序中的分頻模塊輸入是系統(tǒng)時(shí)鐘,輸出下一模塊的基準(zhǔn)時(shí)鐘。頻率計(jì)的設(shè)計(jì)中,需要一個(gè)基準(zhǔn)時(shí)鐘,這里依據(jù)外部輸入50 MHz的時(shí)鐘頻率來產(chǎn)生0.5 Hz的頻率,誤差范圍為1/50 MHz。在表1中可以看到,最大的行頻是68.7kHz,即在誤差范圍內(nèi)可以滿足設(shè)計(jì)要求。

2.2 HS和VS信號(hào)計(jì)數(shù)模塊

HS和VS信號(hào)都是低電平有效、占空比小的方波信號(hào)。

本模塊采用頻率計(jì)的思想,使用直接測(cè)量法。直接將HS和VS信號(hào)作為計(jì)數(shù)時(shí)鐘,在輸入到HS和Vs信號(hào)計(jì)數(shù)模塊的基準(zhǔn)時(shí)鐘的高電平時(shí)開始對(duì)HS和VS信號(hào)的計(jì)數(shù),在基準(zhǔn)時(shí)鐘的低電平時(shí)停止保持計(jì)數(shù),并保存計(jì)數(shù)值。

下面分析本文中的直接測(cè)量誤差。

如圖3所示,被測(cè)信號(hào)有一個(gè)脈沖的上升沿比基準(zhǔn)時(shí)鐘的上升沿早出現(xiàn)很短的時(shí)間,那么在FiducialClock=1時(shí)所測(cè)的被測(cè)信號(hào)的脈沖數(shù)就少了1個(gè);同理,被測(cè)信號(hào)有一個(gè)脈沖的上升沿比基準(zhǔn)時(shí)鐘的下降沿早出現(xiàn)很短的時(shí)間,那么在Fiducial Clock=1時(shí)所測(cè)的被測(cè)信號(hào)的脈沖數(shù)就多了1個(gè)。計(jì)數(shù)時(shí)鐘的周期記為n,實(shí)際輸出的計(jì)數(shù)值記為N,那么,N=n1,即計(jì)數(shù)時(shí)鐘誤差范圍為1/(n1)。

VGA的HS和VS信號(hào)的周期很小,如表1所示。n的最大值為1/43.4。所以上述誤差很小。并且,在VGA顯示模式選擇模塊中采用的是范圍選擇,故這種測(cè)量方法的誤差在可以容忍的范圍內(nèi)。

2.3 VGA顯示模式選擇模塊

本文主要對(duì)VGA顯示模式(表1中的分辨率)進(jìn)行識(shí)別,在確定顯示模式之后,可以用查表直接輸出對(duì)應(yīng)模式的像素頻率。

根據(jù)VGA的顯示原理可以看出:在同一計(jì)數(shù)時(shí)間內(nèi)場(chǎng)同步信號(hào)的脈沖數(shù)和行同步信號(hào)的脈沖數(shù)成比率關(guān)系。實(shí)際應(yīng)用中將。HS和VS的計(jì)數(shù)模塊的輸出數(shù)相比后再查找表1內(nèi)的分辨率值就能確定顯示模式了,在確定顯示模式的同時(shí)輸出像頻。因?yàn)?,每種顯示模式和像頻之間有確定的對(duì)應(yīng)關(guān)系,并將測(cè)到的模式用7段數(shù)碼管顯示見表l。

3 仿真結(jié)果

3.1實(shí)驗(yàn)1

3.1.1 PC機(jī)上設(shè)置

依次點(diǎn)擊“開始”、“控制面板”、“顯示”、“設(shè)置”。調(diào)節(jié)屏幕分辨率為1 024768。再點(diǎn)擊“高級(jí)”、“監(jiān)視器”。調(diào)節(jié)屏幕刷新頻率為85 Hz。

3.1.2 QuartusⅡ6.1的設(shè)計(jì)工程

在QuartusⅡ6.1中建立項(xiàng)目后,輸入各模塊的Verilog HDL程序代碼,邏輯綜合,布局布線,時(shí)序分析后生成編程文件。將編程文件下載到FPGA中進(jìn)行驗(yàn)證。

圖4是利用軟件QuartusⅡ6.1中的SignalTapⅡLogic Analyzer工具實(shí)時(shí)監(jiān)測(cè)到的reg_th和reg_tv的值,它們分別是:1s內(nèi)HS信號(hào)的脈沖數(shù)和VS信號(hào)的脈沖數(shù)。

實(shí)驗(yàn)驗(yàn)證:reg_th=116CDh,reg_tv=57h(采用十六進(jìn)制表示)。即為行頻71 kHz,場(chǎng)頻為87 Hz。由VGA顯示原理可知:由reg_th和reg_tv就能確定VGA顯示模式的行數(shù)。此值符合在模式1 024768下一列總的像素點(diǎn)數(shù)(包括前沿像素點(diǎn)、后沿像素點(diǎn)、同步頭像素點(diǎn)、視頻像素點(diǎn))。在程序部分,采用的是區(qū)域選擇,避免了由各種誤差帶來的數(shù)值的不匹配。圖4中顯示數(shù)據(jù)驗(yàn)證了模式1 024768,像頻由內(nèi)部寄存器保存,并且可以在數(shù)碼管上直觀地看到L的顯示。

3.2 實(shí)驗(yàn)2

依次點(diǎn)擊“開始”、“控制面板”、“顯示”、“設(shè)置”。調(diào)節(jié)屏幕分辨率為800600。再點(diǎn)擊“高級(jí)”、“監(jiān)視器”。調(diào)節(jié)屏幕刷新頻率為75 Hz。

由圖5可知:reg_th=0B901h,reg_tv=4Bh(屏幕刷新頻率75 Hz)。

實(shí)驗(yàn)驗(yàn)證:reg_th=08901h,reg_tv=4Bh(采用十六進(jìn)制表示)。即行頻為47 kHz,場(chǎng)頻是75 Hz。由VGA顯示原理可知:由reg_th和reg_tv就能確定VGA顯示模式的行數(shù)。此值符合在模式800 600下一列總的像素點(diǎn)數(shù)(包括前沿像素點(diǎn)、后沿像素點(diǎn)、同步頭像素點(diǎn)、視頻像素點(diǎn))。在程序部分,采用的是區(qū)域選擇,避免了由各種誤差帶來的數(shù)值的不匹配。圖5中顯示數(shù)據(jù)驗(yàn)證了模式800600,像頻由內(nèi)部寄存器保存,并且可以在數(shù)碼管上直觀地看到A的顯示。

4 結(jié)束語

以上實(shí)驗(yàn)結(jié)果證明,本方法可以正確輸出各種VGA顯示模式,即在每種模式中確定一個(gè)量后,可模擬基于SRAM工藝的FPGA的LUT(查找表)思想,以確定的量為人口來存儲(chǔ)或輸出VGA各種模式的其他相關(guān)量。本文中的分頻模塊和“頻率計(jì)”思想的計(jì)數(shù)模塊都可以在其他系統(tǒng)中構(gòu)建特殊時(shí)鐘和特殊計(jì)數(shù)器時(shí)作為參考。同時(shí),將根據(jù)存儲(chǔ)的像素頻率值保存后可用來配置FPGA中的PLL(鎖相環(huán))輸出像素的采樣時(shí)鐘,應(yīng)用于像素點(diǎn)的采樣,進(jìn)而設(shè)計(jì)出高性能的基于FPGA嵌入式系統(tǒng)的視頻采集卡。



關(guān)鍵詞: FPGA VGA 模式 像素

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉