<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è) > 消費電子 > 設計應用 > 嵌入式高分辨率VGA國像顯示方法研究

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

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

  1 顯示原理與VGA時(shí)序實(shí)現

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

控制電路

  1.1 VGA時(shí)序分析

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

VGA的標準參考顯示時(shí)序

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

  1.2 VGA時(shí)序實(shí)現

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

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

  主時(shí)鐘作為像素點(diǎn)計數脈沖信號,同時(shí)提供顯存SRAM的讀信號和D/A轉換時(shí)鐘,它所驅動(dòng)的計數器的輸出端作為讀SRAM的低位地址。行同步信號作為行數計數脈沖信號,它所驅動(dòng)的計數器的輸出端作為讀SRAM的高位地址。由于采用兩片SRAM,所以最高位地址作為SRAM的片選使用。由于信號經(jīng)過(guò)CPLD內部邏輯器件時(shí)存在一定的時(shí)間延遲,在CPLD產(chǎn)生地址和讀信號讀取數據時(shí),讀信號、地址信號和數據信號不能滿(mǎn)足SRAM讀數據的時(shí)序要求??梢岳糜布娐穼ψx信號進(jìn)行一定的時(shí)序調整,使各信號之間能夠滿(mǎn)足讀SRAM和為DAC輸入數據的時(shí)序要求。

  1.4 數據寬度和格式

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

  2 功能單元設計

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

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

  (2) 顯示數據緩存區:VGA顯示要求顯存速度快、容量大。讀速度要達到65MHz以卜,存儲容量至少要2MB??刹捎酶咚賁RAM或SDRAM作為顯示數據緩存。

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

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

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

  由各功能單元組成的VGA顯示硬件結構框圖如圖3所示。

由各功能單元組成的VGA顯示硬件結構框圖

  3 顯存數據更新與顯示的同步實(shí)現

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

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

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

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

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

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

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

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

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

  通過(guò)對嵌入式VGA顯示系統的設計分析和實(shí)際使用,得到如下結論:

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

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

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

  (4) 性能、成本和復雜度要綜合考慮,要以系統的實(shí)際需求為目標,采用合理而實(shí)用的設計方案。



評論


相關(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>