搜索新聞

VGA矩陣切換器概述及信號原理

來源:投影時代 更新日期:2010-09-09 作者:pjtime資訊組
內容導航:  分頁瀏覽 | 全文瀏覽

    一、VGA應用概述

    VGA(Video Graphics Array)是IBM于1987年提出的一個使用模擬信號的電腦顯示標準,VGA最早指的是顯示器640X480這種顯示模式,VGA的英文全稱是Video Graphic Array,也叫顯示繪圖陣列。

    VGA 公插頭(通常位于顯示器側)

    VGA技術的應用還主要基于VGA顯示卡的計算機、筆記本等設備,而在一些既要求顯示彩色高分辨率圖像又沒有必要使用計算機的設備上,VGA技術的應用卻很少見到。本文對嵌入式VGA顯示的實現方法進行了研究。

    基于這種設計方法的嵌入式VGA顯示系統(tǒng),可以在不使用VGA顯示卡和計算機的情況下,實現VGA圖像的顯示和控制。系統(tǒng)具有成本低、結構簡單、應用靈活的優(yōu)點,可廣泛應用于超市、車站、飛機場等公共場所的廣告宣傳和提示信息顯示,也可應用于工廠車間生產過程中的操作信息顯示,還能以多媒體形式應用于日常生活。

    二、VGA原理概述

    VGA顯示與VGA時序實現

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

    1 VGA時序分析

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

    2 VGA時序實現

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

    VGA參考時序

    3 讀SRAM地址的產生方法

    主時鐘作為像素點計數脈沖信號,同時提供顯存SRAM的讀信號和D/A轉換時鐘,它所驅動的計數器的輸出端作為讀SRAM的低位地址。行同步信號作為行數計數脈沖信號,它所驅動的計數器的輸出端作為讀SRAM的高位地址。由于采用兩片SRAM,所以最高位地址作為SRAM的片選使用。由于信號經過CPLD內部邏輯器件時存在一定的時間延遲,在CPLD產生地址和讀信號讀取數據時,讀信號、地址信號和數據信號不能滿足SRAM讀數據的時序要求。可以利用硬件電路對讀信號進行一定的時序調整,使各信號之間能夠滿足讀SRAM和為DAC輸入數據的時序要求。

    4 數據寬度和格式

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

    三、功能單元設計

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

    1 控制器

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

    2 顯示數據緩存區(qū)

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

    3 數模轉換器DAC

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

    4 數據源及其接口

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

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

    顯存數據更新與顯示的同步實現

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

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

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

    (3) 利用FPAG/CPLD和SDRAM構造雙口SRAM。這種方法實時性好,成本較低,時序控制比較復雜,它是 實現高性能低成本要求的最佳方案。

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

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

    嵌入式VGA顯示系統(tǒng)

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

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

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

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

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

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

    四、內存尋址

    VGA所使用的視訊內存,透過一個窗口對應于PC的主內存,它們的真實位址為0xA000和0xC000之間的內存。典型地來說位址的開始點是:

    0xA000 使用于 EGA/VGA 圖型模式(4 KB)

    0xB000 單色文字模式(2 KB)

    0xB800 彩色文字模式和 CGA 相容模式(2 KB)

    由于使用的區(qū)段皆不相同,在同一部機器上裝置一個單色顯卡(MDA)和另一個彩色顯卡(VGA、EGA或CGA)是不沖突的。在 1980 年代初,這種典型的搭配方式用于 Lotus 1-2-3 試算表上,一部高解析單色屏幕用來顯示文字,而另一部低解析的 CGA 屏幕用來顯示圖表。許多程式設計師也用這種配置來開發(fā)軟件,一部屏幕顯示 debug 細節(jié),另一部屏幕則顯示真正的軟件運行畫面。許多商業(yè)的除錯軟件都支持這種配置,例如 Borland 的 Turbo Debugger、由 Alan J. Cox 開發(fā)的 D86、微軟的 CodeView 等,Turbo Debugger 和 CodeView 可以甚至可拿來 debug 微軟的 Windows 軟件。也有 DOS 驅動程式如ox.sys模擬一個終端機來接受 Windows 的 debug 訊息,而不用真正接上另一個終端機。在 DOS 底下使用“單色模式”指令,使其輸出轉向單色也是可能的。另外,假如電腦上并無單色顯卡,那么可以使用 EMM386.EXE 程序讓其他程式可以使用 B000-B7FF 這一段內存。(于 config.sys 檔案中加入 "DEVICE=EMM386.EXE I=B000-B7FF")

 標簽:傳輸器 技術介紹
本文導航
  • 第1頁:VGA應用概述
廣告聯(lián)系:010-82755684 | 010-82755685 手機版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時代網 版權所有 關于投影時代 | 聯(lián)系我們 | 歡迎來稿 | 網站地圖
返回首頁 網友評論 返回頂部 建議反饋
快速評論
驗證碼: 看不清?點一下
發(fā)表評論