<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 嵌入式高分辨率VGA國(guó)像顯示方法研究

          嵌入式高分辨率VGA國(guó)像顯示方法研究

          ——
          作者:黃戰(zhàn)華 劉世旺 時(shí)間:2007-08-14 來(lái)源:電子技術(shù)應(yīng)用 收藏
              (Video Graphics Array)是IBM在1987年隨PS/2機(jī)一起推出的一種視頻傳輸標(biāo)準(zhǔn),具有分辨率高、顯示速率快、顏色豐富等優(yōu)點(diǎn),在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用。目前技術(shù)的應(yīng)用還主要基于顯示卡的計(jì)算機(jī)、筆記本等設(shè)備,而在一些既要求顯示彩色高分辨率圖像又沒(méi)有必要使用計(jì)算機(jī)的設(shè)備上,VGA技術(shù)的應(yīng)用卻很少見(jiàn)到。本文對(duì)嵌入式VGA顯示的實(shí)現(xiàn)方法進(jìn)行了研究?;谶@種設(shè)計(jì)方法的嵌入式VGA顯示系統(tǒng),可以在不使用VGA顯示卡和計(jì)算機(jī)的情況下,實(shí)現(xiàn)VGA圖像的顯示和控制。系統(tǒng)具有成本低、結(jié)構(gòu)簡(jiǎn)單、應(yīng)用靈活的優(yōu)點(diǎn),可廣泛應(yīng)用于超市、車站、飛機(jī)場(chǎng)等公共場(chǎng)所的廣告宣傳和提示信息顯示,也可應(yīng)用于工廠車間生產(chǎn)過(guò)程中的操作信息顯示,還能以多媒體形式應(yīng)用于口常生活。

            1 顯示原理與VGA時(shí)序?qū)崿F(xiàn)

            通用VGA顯示卡系統(tǒng)主要由控制電路、顯示緩存區(qū)和視頻程序三個(gè)部分組成??刂齐娐啡鐖D1所示。控制電路主要完成時(shí)序發(fā)生、顯示緩沖區(qū)數(shù)據(jù)操作、主時(shí)鐘選擇和D/A轉(zhuǎn)換等功能;顯示緩沖區(qū)提供顯示數(shù)據(jù)緩存空間;視頻作為控制程序固化在顯示卡的ROM中。

          控制電路

            1.1 VGA時(shí)序分析

            通過(guò)對(duì)VGA顯示卡基本工作原理的分析可知,要實(shí)現(xiàn)VGA顯示就要解決數(shù)據(jù)來(lái)源、數(shù)據(jù)存儲(chǔ)、時(shí)序?qū)崿F(xiàn)等問(wèn)題,其中關(guān)鍵還是如何實(shí)現(xiàn)VGA時(shí)序。VGA的標(biāo)準(zhǔn)參考顯示時(shí)序如圖2所示。行時(shí)序和幀時(shí)序都需要產(chǎn)生同步脈沖(Sync a)、顯示后沿(Back porch b)、顯示時(shí)序段(Display interval c)和顯示前沿(Front porch d)四個(gè)部分。幾種常用模式的時(shí)序參數(shù)如表1所示。

          VGA的標(biāo)準(zhǔn)參考顯示時(shí)序

          幾種常用模式的時(shí)序參數(shù)

            1.2 VGA時(shí)序?qū)崿F(xiàn)

            首先,根據(jù)刷新頻率確定主時(shí)鐘頻率,然后由主時(shí)鐘頻率和圖像分辨率計(jì)算出行總周期數(shù),再把表1中給出的a、b、c、d各時(shí)序段的時(shí)間按照主計(jì)數(shù)脈沖源頻率折算成時(shí)鐘周期數(shù)。在CPLD中利用計(jì)數(shù)器和RS觸發(fā)器,以計(jì)算出的各時(shí)序段時(shí)鐘周期數(shù)為基準(zhǔn),產(chǎn)生不同寬度和周期的脈沖信號(hào),再利用它們的邏輯組合構(gòu)成圖2中的a、b、c、d各時(shí)序段以及D/A轉(zhuǎn)換器的空白信號(hào)BLANK和同步信號(hào)SYNC。

            1.3 讀SRAM地址的產(chǎn)生方法

            主時(shí)鐘作為像素點(diǎn)計(jì)數(shù)脈沖信號(hào),同時(shí)提供顯存SRAM的讀信號(hào)和D/A轉(zhuǎn)換時(shí)鐘,它所驅(qū)動(dòng)的計(jì)數(shù)器的輸出端作為讀SRAM的低位地址。行同步信號(hào)作為行數(shù)計(jì)數(shù)脈沖信號(hào),它所驅(qū)動(dòng)的計(jì)數(shù)器的輸出端作為讀SRAM的高位地址。由于采用兩片SRAM,所以最高位地址作為SRAM的片選使用。由于信號(hào)經(jīng)過(guò)CPLD內(nèi)部邏輯器件時(shí)存在一定的時(shí)間延遲,在CPLD產(chǎn)生地址和讀信號(hào)讀取數(shù)據(jù)時(shí),讀信號(hào)、地址信號(hào)和數(shù)據(jù)信號(hào)不能滿足SRAM讀數(shù)據(jù)的時(shí)序要求。可以利用硬件電路對(duì)讀信號(hào)進(jìn)行一定的時(shí)序調(diào)整,使各信號(hào)之間能夠滿足讀SRAM和為DAC輸入數(shù)據(jù)的時(shí)序要求。

            1.4 數(shù)據(jù)寬度和格式

            如果VGA顯示真彩色BMP圖像,則需要R、G、B三個(gè)分量各8位,即24位表示一個(gè)像素值,很多情況下還采用32位表示一個(gè)像素值。為了節(jié)省顯存的存儲(chǔ)空間,可采用高彩色圖像,即每個(gè)像素值由16位表示,R、G、B三個(gè)分量分別使用5位、6位、5位,比真彩色圖像數(shù)據(jù)量減少一半,同時(shí)又能滿足顯示效果。

            2 功能單元設(shè)計(jì)

            實(shí)現(xiàn)VGA顯示,除了實(shí)現(xiàn)時(shí)序控制,還必須有其他功能單元的支持才能實(shí)現(xiàn)完整的圖像顯示。

            (1) 控制器:VGA顯示有多種模式,需要通過(guò)控制器實(shí)現(xiàn)模式間切換,還需要對(duì)顯示的內(nèi)容進(jìn)行接收、處理和顯示。所以控制器的性能越高,數(shù)據(jù)更新和顯示效果就越好。

            (2) 顯示數(shù)據(jù)緩存區(qū):VGA顯示要求顯存速度快、容量大。讀速度要達(dá)到65MHz以卜,存儲(chǔ)容量至少要2MB。可采用高速SRAM或SDRAM作為顯示數(shù)據(jù)緩存。

            (3) 數(shù)模轉(zhuǎn)換器DAC:VGA顯示對(duì)數(shù)模轉(zhuǎn)換DAC有如下要求:一是高速轉(zhuǎn)換,轉(zhuǎn)換的速度應(yīng)該在80MHz或以上;二是剛步性好,能保證 R、G、B三路信號(hào)的同步性;三是有相應(yīng)的精度??蛇x擇一種包括3路8位高速D/A的專用視頻芯片。

            (4) 數(shù)據(jù)源及其接口:要提高VGA顯示的效率,就要不斷更新數(shù)據(jù),同時(shí)還要保證實(shí)時(shí)性,因此需要非常高的接口速度。VGA顯示卡雖可達(dá)到100Mbps的數(shù)據(jù)更新速度,但是一般設(shè)備、特別是嵌入式設(shè)備達(dá)不到這么高的速度,而且大多數(shù)情況下也不需要這么高的數(shù)據(jù)更新率。目前常用接口為EPP接口、USB接口、TCP/IP、RS232C/485等。其中TCP/IP、EPP接口和USB接口是基于計(jì)算機(jī)的,速度較快;TCP/IP、RS232C/485是基于網(wǎng)絡(luò)通信的接口,其中RS485速度雖慢,但應(yīng)用廣泛且容易實(shí)現(xiàn)遠(yuǎn)程控制。

              在數(shù)據(jù)源為低速接口時(shí),可以考慮采用 Flash或者SM存儲(chǔ)卡等預(yù)先存儲(chǔ)一些常用的圖像顯示數(shù)據(jù)和字庫(kù)文件,在更新數(shù)據(jù)時(shí)直接應(yīng)用這些數(shù)據(jù),從而加快顯示緩存的更新速度。這樣既能滿足高分辨率圖像的顯示,又能滿足文字信息數(shù)據(jù)的快速更新。剛時(shí)為了存儲(chǔ)更多的圖像,可以先存儲(chǔ)JPEG格式圖像,再由控制器解碼成BMP位圖圖像后送到顯示緩存顯示,這樣就相對(duì)擴(kuò)展了Flash的存儲(chǔ)空間。同時(shí),由于圖像的解碼速度要大大快于數(shù)據(jù)源接口的速度,也就相應(yīng)提高了顯示緩存的數(shù)據(jù)更新速度。

            由各功能單元組成的VGA顯示硬件結(jié)構(gòu)框圖如圖3所示。

          由各功能單元組成的VGA顯示硬件結(jié)構(gòu)框圖

            3 顯存數(shù)據(jù)更新與顯示的同步實(shí)現(xiàn)

            在VGA顯示時(shí),要考慮如何實(shí)現(xiàn)顯存數(shù)據(jù)更新與顯示的同步進(jìn)行。解決的方案有以下幾種:

            (1) 采用具有緩存作用的雙口RAM,這種方法使用的器件數(shù)量多、功耗大、成本高,基本不可取。

            (2) 采用兩組SRAM進(jìn)行乒乓工作模式,一組SRAM用于顯示的同時(shí),另一組SRAM用于圖像數(shù)據(jù)的更新,然后在兩組SRAM之間切換。這樣做會(huì)提高一些成本,而且需要更復(fù)雜的總線控制。

            (3) 利用FPAG/CPLD和SDRAM構(gòu)造雙口SRAM。這種方法實(shí)時(shí)性好,成本較低,時(shí)序控制比較復(fù)雜,它是

          實(shí)現(xiàn)高性能低成本要求的最佳方案。

            (4) 采用一組SRAM作為顯存,可以簡(jiǎn)化系統(tǒng)設(shè)計(jì)、降低成本。這時(shí)可以考慮利用行時(shí)序和幀時(shí)序中SRAM總線空閑的時(shí)序段,在不關(guān)閉圖像顯示的情況下實(shí)現(xiàn)顯存SRAM的數(shù)據(jù)更新。該方法的更新率與數(shù)據(jù)寫速度密切相關(guān),顯存的寫數(shù)據(jù)速度越快,該方法的更新率就越高。

            假設(shè)CPU的工作時(shí)鐘最大為60MHz,并采用JPEG解碼更新方式。這時(shí)如果將解碼緩存區(qū)分配在CPU片內(nèi)內(nèi)存,則更新數(shù)據(jù)時(shí)直接由內(nèi)存向SRAM寫數(shù)據(jù),一次需要0.17μs;如果將解碼緩存區(qū)分配在片外空間,則更新數(shù)據(jù)時(shí)CPU要先從片外讀數(shù)據(jù),再向SRAM寫數(shù)據(jù),這樣寫一次需要0.25μs。在相鄰顯示的兩幀圖像只存在局部差別或更新文本顯示信息時(shí),可使用局部數(shù)據(jù)更新方法,以提高更新率。表2給出了顯示每幀圖像包含的總線空閑時(shí)間,以及在不同解碼緩存區(qū)分配方式下圖像全部更新和10%局部更新的幀率。這里提到的幀率是指對(duì)顯存數(shù)據(jù)的更新速度,而不是指圖像的屏幕刷新率,它對(duì)刷新率沒(méi)有影響。

          顯示每幀圖像包含的總線空閑時(shí)間

            基于以上方案設(shè)計(jì)的嵌入式VGA顯示系統(tǒng)在只有系統(tǒng)控制板和CRT顯示器的情況下實(shí)現(xiàn)了嵌入式高分辨率VGA顯示。

            通過(guò)對(duì)嵌入式VGA顯示系統(tǒng)的設(shè)計(jì)分析和實(shí)際使用,得到如下結(jié)論:

            (1) 由于VGA顯示是一個(gè)高速過(guò)程,所以選擇器件時(shí)要選擇高速器件。

            (2) VGA顯示時(shí)序要求較嚴(yán)格,時(shí)序中的前后沿及同步脈沖寬度都要依照嚴(yán)格的參考數(shù)據(jù)設(shè)置。

            (3) 在一般情況下,由于數(shù)據(jù)接口的限制,數(shù)據(jù)更新率不能達(dá)到計(jì)算機(jī)的水平。通過(guò)一些特殊設(shè)計(jì),還是能夠滿足大多數(shù)嵌入式VGA的需求。

            (4) 性能、成本和復(fù)雜度要綜合考慮,要以系統(tǒng)的實(shí)際需求為目標(biāo),采用合理而實(shí)用的設(shè)計(jì)方案。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();