VGA介紹


以下內容來自正點原子FPGA開發指南,覺得講的不錯,就搬了過來。

一、VGA簡介

VGA的全稱是Video Graphics Array,即視頻圖形陣列,是一個使用模擬信號進行視頻傳輸的標准。早期的CRT顯示器由於設計制造上的原因,只能接收模擬信號輸入,因此計算機內部的顯卡負責進行數模轉換,而VGA接口就是顯卡上輸出模擬信號的接口。如今液晶顯示器雖然可以直接接收數字信號,但是為了兼容顯卡上的VGA接口,也大都支持VGA標准。
在這里插入圖片描述

VGA接口定義及各引腳功能說明如圖 18.1.2所示,我們一般只用到其中的1(RED)、2 (GREEN)、3(BLUE)、13(HSYNC)、14(VSYNC)信號。引腳1、2、3分別輸出紅、綠、藍三原色模擬信號,電壓變化范圍為 0~0.714V,0V代表無色,0.714V 代表滿色;引腳13、14輸出TTL電平標准的行/場同步信號。
在這里插入圖片描述
在VGA視頻傳輸標准中,視頻圖像被分解為紅、綠、藍三原色信號,經過數模轉換之后,在行同步(HSYNC)和場同步(VSYNC)信號的同步下分別在三個獨立通道傳輸。VGA在傳輸過程中的同步時序分為行時序和場時序,如圖 18.1.3、圖 18.1.4所示。

在這里插入圖片描述
從上面兩幅圖中我們可以看到VGA傳輸過程中的行同步時序和場同步時序非常類似,一行 或一場(又稱一幀)數據都分為四個部分:低電平同步脈沖、顯示后沿、有效數據段以及顯示前沿。

行同步信號HSYNC在一個行掃描周期中完成一行圖像的顯示,其中在a段維持一段時間的低電平用於數據同步,其余時間拉高;在有效數據期間(c段),紅綠藍三原色數據通道上輸出一行圖像信號,其余時間數據無效。

與之類似,場同步信號在在一個場掃描周期中完成一幀圖像的顯示,不同的是行掃描周期的基本單位是像素點時鍾,即完成一個像素點顯示所需要的時間;而場掃描周期的基本單位是完成一行圖像顯示所需要的時間。

早期的VGA特指分辨率為640X480的顯示模式,后來根據分辨率的不同,VGA又分為VGA(640x480)、SVGA(800x600)、XGA(1024x768)、SXGA(1280x1024)等。不同分辨率的VGA顯示時序是類似的,僅存在參數上的差異,如圖 18.1.5所示。

需要注意的是,即便分辨率相同,刷新速率(每秒鍾圖像更新次數)不一樣時,對應的VGA像素時鍾及時序參數也存在差異。例如,顯示模式 “640480@75”刷新速率為75hz,與相同分辨率下刷新速率為60hz的“640480@60”模式相比,像素時鍾更快,其他時序參數也不盡相同。

在這里插入圖片描述

二、FPGA上VGA接口部分的原理圖

以正點原子的開拓者開發板為例

這部分的原理圖很關鍵,因為我們並不是在代碼中直接將圖像數據轉換成RGB三路模擬信號,而是由開發板上的轉換電路實現的。我們在代碼中要做的,就是獲取正確的RGB565格式的數據,然后由轉換電路轉換成RGB三路模擬信號輸出給顯示器。

在這里插入圖片描述

從上圖中可以看到,FPGA管腳輸出的顏色數據位寬為16bit,數據格式為RGB565,即數據高5位表示紅色,中間6位表示綠色,低5位表示藍色。RGB565格式的數據一共可表示65536種顏 色,此外常用的顏色數據格式還有RGB888,數據位寬越大,可以表示的顏色種類就越豐富。

由前面的簡介我們知道,VGA傳輸的是模擬信號,因此需要對FPGA輸出的RGB565顏色數據進行數模轉換。此過程可以通過專用的視頻轉換芯片(如ADV7123)來實現,在這里我們采用另外一種更簡單的方案——利用電阻匹配網絡來實現數字信號到模擬信號的轉換,如圖18.3.1所示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM