標籤:
http://bbs.ednchina.com/BLOG_ARTICLE_2009641.HTM
最近所做的工作涉及到RGB565訊號到VGA介面的轉換問題,於是簡單地研究了一下VGA介面設計相關的東西,寫的有點長,可能大家看起來會比較累,見諒~
VGA(Video Graphics Array)是IBM在1987年隨PS/2機一起推出的一種視頻傳輸通訊協定,具有解析度高、顯示速率快、顏色豐富等優點,在彩色顯示器領域得到了廣泛的應用。目前VGA技術的應用還主要基於VGA顯示卡的電腦、筆記本等裝置。根據解析度不同,VGA分為VGA(640x480)、SVGA(800x600)、XGA(1024x768)、SXGA(1280x1024)等。雖然VGA介面對於當前的PC機而言已經十分“老土”了,但不可否認的是目前它依然是PC機上應用最為廣泛的視頻介面。幾乎所有的PC機都預設支援VGA介面。
VGA物理連接器介面共有15針,分成3排,每排5個孔,是顯卡上應用最為廣泛的介面類型,絕大多數顯卡都帶有此種介面。它傳輸紅、綠、藍類比訊號以及同步訊號(水平和垂直訊號)。 一般在VGA接頭上,會標明每個介面編號。VGA介面15根針,其對應介面定義如下: 1.紅基色 red 2.綠基色 green 3.藍基色 blue 4.地址碼 ID Bit(也有部分是RES,或者為ID2顯示器標示位2) 5.自測試 ( 各家定義不同 )(一般為GND) 6.紅地 7.綠地 8.藍地 9.保留 ( 各家定義不同 )(KEY··我也不是很理解) 10. 數字地 11.地址碼(ID0顯示器標示位0) 12.地址碼(ID1顯示器標示位1) 13.行同步 14.場同步 15.地址碼 ( ID3或顯示器標示位3 )。
VGA介面的時序總體來說比較簡單,圖1和圖2分別為VGA介面行訊號時序和場訊號時序圖。
圖1 行訊號時序
圖2 場訊號時序
行訊號時序圖主要給出了兩方面的參數:一是行同步訊號HSYNC的時間e,包括同步脈衝訊號SYNC(a),後沿Back porch(b),有效訊號時間Active video time(c),前沿Front porch(d)。即e = a + b + c + d;二是有效訊號時間,這段時間內給出行像素的資料DATA,即每個像素點的RGB值。場訊號時序與行訊號時序類似。其中a,b,c,d,e,o,p,q,r,s各個參數的值與解析度、重新整理頻率有關。圖3為VGA介面常見顯示模式的時序表,其中給出了各常見顯示模式下行時序與場時序的參數。
表1 VGA常見顯示模式時序表
以上是VGA介面的一些基礎知識,這次研究的內容主要在於RGB565訊號轉VGA訊號的介面設計與匹配問題,對VGA介面時序部分就不作深入研究了。
在應用中,經常用到的VGA介面訊號只有5個,分別是紅、綠、藍三基色訊號(1、2、3),行同步訊號(13),場同步訊號(14)。在這5個主要訊號中,三基色訊號相對比較特別,因為它們是電壓值範圍在0~0.714V的類比訊號,對應每一種基色的0.714V最多可被等分為256個電壓值,即每種基色最多對應有256種顏色,對應可用8bit數字訊號來表示,則三基色訊號可用對應的24bit數字訊號表示,因此24bitRGB訊號所表示的色多媒體訊息號也被稱為真彩色。低於24bit的RGB訊號表示的彩色訊號被稱為偽彩色。行同步和場同步訊號相對簡單,為TTL電平。
在大多數情況下處理器輸出的訊號都是數字訊號,因此要用到VGA介面就必須先將數位三基色訊號轉換為電壓值在0~0.714V之間的類比電壓訊號。這次研究的重點就是將RGB565格式的數字訊號轉換為適應VGA介面的三基色類比訊號。所謂RGB565格式的數字訊號就是一個16bit的數字訊號,其中R、G、B這三種基色分別為5bit,6bit,5bit。故其實質為一個數模轉換問題。
當然,除了數模轉換的方法之外可能還有其它更加巧妙的方法,比如曾經看到特權同學在一篇博文中提出的在保證整體重新整理頻率不變的前提下,在每個行像素的時間內串列送出一個基色的多位元據,這樣利用視覺暫留效果也可以達到不錯的顯示效果,唯一的缺點就是對於系統時鐘的要求比較高,如果要實現16bit或者24bit的色多媒體訊息號的話難度會比較大。但對於較低解析度下256色顯示的實現還是很不錯的方案。
對於解決RGB565訊號到VGA的三基色類比電壓訊號轉換的問題,主要有兩種解決方案,一種是利用通用的三通道視頻DA轉換晶片來實現(如ADI公司的ADV7125晶片),這種方案的主要優點在於轉換速度快,可靠性高,缺點是成本高。另一種方案是通過自己搭建電阻網路來實現模數轉換,這種方案相對採用DA轉換晶片的方案而言,缺點在於轉換速度和可靠性不如DA轉換晶片,但優點在於成本低。
值得注意的是,VGA介面的三基色訊號為類比電壓訊號,且訊號的速率較高,在1024*[email protected]的顯示模式下就已經達到78.8MHz的頻率,在如此高的頻率下,對於VGA介面三基色類比電壓訊號的阻抗匹配也就成為了一個不容忽視的問題。關於阻抗匹配問題,很多同學通常都是“談虎色變”,在設計中對於這類問題也是視而不見。在頻率不高的時候,對阻抗問題視而不見通常不會有什麼問題,但一旦頻率上去了,隨之而來的各種詭異的問題就會讓我們頭疼不已。我想說的是,其實阻抗匹配問題本身也並不是那麼高深。在這裡,我不打算做任何讓人頭疼的數學公式和推導,只是想以這個VGA介面為例說一說我對於阻抗匹配問題的理解:為什麼要做阻抗匹配,在什麼地方該考慮阻抗匹配,怎樣去做阻抗匹配。當然,這些理解很可能不正確,只是希望給同學們一個更加感性的認識,希望大家能夠去其糟粕,取其精華,也歡迎各位前輩拍磚,協助我樹立起正確的認識~
在高速訊號的傳輸中,傳輸線如果終端開路或接入高阻器件,就類似將一個小球(訊號)丟向一堵牆,將會反向彈回,甚至回到源端以致對後續訊號造成幹擾。但如果那堵是橡皮泥牆(與傳輸線路上的阻抗接近的終端),小球(訊號)就會嵌入到裡面而不發生反彈,這就是“終端匹配”。當然,這裡所說的只是阻抗匹配的一個作用,以便同學們對阻抗匹配的作用,即為什麼要進行阻抗匹配有一個感性的認識。
接下來說在什麼地方需要進行阻抗匹配的問題。其實需要進行阻抗匹配的原因主要是因為大多數整合電路晶片的輸出阻抗都很小,而輸入阻抗都很大。阻抗匹配的目的就在於使得上一級電路的輸出阻抗與傳輸線的阻抗和下一級電路的輸入阻抗盡量接近,以避免或減少前面所提到的問題以及其它問題的發生。在VGA介面中要求三基色的源端和終端匹配電阻均為75歐。
在利用通用的三通道視頻DA轉換晶片來實現VGA介面時就會遇到這個問題。這裡以AD7125晶片為例。VGA介面為RS-343A電平標準。對於電流型的DA晶片AD7125而言,其標準負載要求為37.5歐,因而ADI公司的手冊中對於DA晶片在RS-343A電平標準下的輸出端串連給出了3所示的方案,即在源端和終端都並聯75歐到地的電阻。在此方案中考慮了連接線(通常為同軸電纜,對地阻抗為75歐)的阻抗,故可得到DA晶片的負載剛好為源端電阻和同軸電纜對地阻抗並聯,為75歐/2 = 37.5歐。
圖3 RS-343A電平標準下DA晶片輸出VGA三基色訊號
但對於電壓型的整合電路晶片(如視頻緩衝器AD848)而言,在源端則應該採用串聯電阻的形式實現匹配。圖4中是ADI公司給出的DA晶片經視頻緩衝器AD848後的輸出端串連方案。由圖中可以看到,在AD848的輸出端採用了串聯75歐電阻的方式進行匹配,在終端依然是並聯75歐到地電阻。
圖4 DA晶片經視頻緩衝器AD848輸出VGA三基色訊號
在弄清楚上述問題之後,還有一點值得注意,那就是在VGA介面串連頭輸入的電壓驅動電阻即為75歐,也就是通常情況下終端的75歐電阻是不需要我們自己去做的。這點從AD7125的晶片手冊中也得到了驗證,5所示,終端電阻是在顯示器串連頭內部的。
圖5 AD7125典型輸出電路
現在再來考慮用權電阻網路來實現RGB565訊號到VGA介面三基色訊號轉換的電路。最基本的權電阻網路實現DA轉換的原理這裡就不說了,不熟悉的同學可以參考數字電路的教材。
在RGB565格式的資料中,紅色佔5位元據,綠色佔6位元據,藍色佔5位元據。即紅色訊號R需要5位權電阻網路來實現,綠色訊號G需要6位權電阻網路來實現,藍色訊號B需要5位權電阻網路來實現。
以紅色訊號R為例來說明權電阻網路參數的選取。由於R對應的數字訊號為5位,故當該5位全為1的時候對應的類比電壓訊號值應為0.714V,當5位全為0的時候對應的類比電壓訊號值應為0。等效電路6所示。
圖6 等效電路
其中Rx為5位權電阻網路的等效電阻,當5位全為1時
Rx = R || 2R || 4R || 8R || 16R
由圖中電路可知,有如下關係
3.3/(Rx + 75) = 0.714/75
可以得出,等效電阻Rx = 271.6歐,R =526.225歐。考慮到所有電阻都必須取標稱值的原因,故將R取為500歐,這樣跟理論值會存在一些誤差。
根據同樣的方法可以計算出,對於綠色訊號G,權電阻R = 534.7125,考慮到所有電阻都必須取標稱值的原因,故將R取為500歐。
這裡有同學會提到匹配的問題,在前面我們已經說過,在終端,串連頭輸入的電壓驅動電阻即為75歐,也就是通常情況下終端的75歐電阻是不需要我們自己去做的。而在源端,由於我們的權電阻網路是電流型的,因此若要做匹配的話可以採取並聯電阻的方式。但要注意的是,在這裡我們並沒有用到整合DA晶片,源端匹配的負載阻抗並沒有明確要求,因此在這裡索性不做源端匹配。
最終用權電阻實現RGB565訊號到VGA三基色類比電壓訊號轉換電路的原理圖7所示。
圖7 轉換電路原理圖
RGB565轉VGA介面設計與匹配問題淺析