0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的Verilog實現(xiàn)VGA驅(qū)動電路

454398 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-11-20 16:02 ? 次閱讀

VGA全稱是Video Graphics Array,即視頻圖形陣列,是一個使用模擬信號進行視頻傳輸?shù)臉?biāo)準。分辨率高,顯示速度快。

一、傳輸協(xié)議

VGA接口15個引腳,除去地線,我們一般會用到5個引腳:1(RED)、2(GREEN)、3(BLUE)、13(HSYNC)、14(VSYNC)。

如圖1:

圖1 VGA接口引腳定義

1、2、3指的是傳輸?shù)募t、綠、藍三色的模擬信號,范圍為0-0.714V,0代表無色,0.714V代表滿色,需要注意的這是模擬信號,因此前面還需要進行一個數(shù)模轉(zhuǎn)換。HSYNC(行同步信號)和VSYNC(場同步信號)分別是指傳輸一行和傳輸一幀的時序,下面看一下他們的時序圖:

圖2 行同步時序

a:行同步時期,掃描地址的復(fù)位
b:行消隱后肩,掃描地址轉(zhuǎn)移后的穩(wěn)定等待準備期
c:行顯示時期,數(shù)據(jù)有效區(qū)域
d:行消隱前肩,掃描地址轉(zhuǎn)移的準備
e:行掃描總時間,一行掃描的總時間

圖3 場同步時序

o:場同步時期,掃描地址的復(fù)位
p:場消隱后肩,掃描地址轉(zhuǎn)移后的穩(wěn)定等待準備期
q:場顯示時期,數(shù)據(jù)有效區(qū)域
r:場消隱前肩,掃描地址轉(zhuǎn)移的準備
s:場掃描總時間,一場掃描的總時間

可以看出,行同步時序和場同步時序類似,分別經(jīng)歷4個階段:拉低、顯示后沿、有效數(shù)據(jù)傳輸和顯示前言。

圖4 VGA顯示器掃描軌跡

二、常見的刷新率時序表

由于FPGA擅長計數(shù)電路這里采用像素表示法來設(shè)計驅(qū)動。

圖5 不同VGA的時序參數(shù)

FPGA硬件測試時要將sys_pll中的輸出頻率改為25MHZ。

三、驅(qū)動電路verilog設(shè)計(lcd_driver)

目前液晶顯示器普及,而高于 60Hz 的刷新率對于液晶來說,沒有任何意義,所以我們以 640*480 在 60Hz 的刷新率下為例。

本次我們采用的是ADV7123視頻轉(zhuǎn)換芯片來實現(xiàn)。

1)為便于移植,根據(jù)640*480 60hz分辨率下的參數(shù),宏定義相關(guān)數(shù)據(jù)。

2)行掃描單位hcnt計數(shù)

3)列掃描單位vcnt計數(shù)

每掃描完一行,即hcnt完成H_TOTAL次計數(shù)后,vcnt進行自加。

4)ADV7123控制信號輸出

為了實現(xiàn)數(shù)據(jù)在lcd_dclk上升沿有效,我們將clk翻轉(zhuǎn)輸出,已實現(xiàn)上升沿采樣 。

lcd_blank作為顯示空白信號,低電平有效。

設(shè)計中不需要lcd_sync信息,可以直接接地。

5)有效顯示使能信號輸出

當(dāng)使能信號有效時,接收外部輸入的RGB數(shù)據(jù)lcd_data.

6)外部數(shù)據(jù)請求控制信號

為了保證數(shù)據(jù)穩(wěn)定,lcd_request要提前一個時鐘請求外部輸入數(shù)據(jù) 。

同時,設(shè)計中實時顯示下一時刻的掃描地址lcd_xpos、lcd_ypos,也要提前一個時鐘輸出,以保證外部數(shù)據(jù)輸入的同步化。

lcd_xpos、lcd_ypos是顯示器有效顯示區(qū)域的行列坐標(biāo)計數(shù)值。

四、模擬VGA圖像數(shù)據(jù)的輸入

1)宏定義三原色組合的顏色如下

這里要注意所用的VGA驅(qū)動電路是RGB888還是RGB565,如果是RGB565,三原色要改成下面樣式,并把其他程序中l(wèi)cd_data的位數(shù)改為16位:
筆者曾在這里犯過錯誤。

2)根據(jù)輸入的行、列地址信號,輸出三原色組合后得到的8條彩色。

五、不同分辨率的VGA驅(qū)動

lcd_para文件定義了四種VGA分辨率驅(qū)動,這里只需修改定義的注釋就行,并把PLL鎖相環(huán)中的頻率改為相應(yīng)的頻率。

PLL修改方法為直接修改下面參數(shù)中的乘法除法因子:

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598932
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109714
  • 模擬信號
    +關(guān)注

    關(guān)注

    8

    文章

    1082

    瀏覽量

    52246
  • 驅(qū)動電路
    +關(guān)注

    關(guān)注

    152

    文章

    1508

    瀏覽量

    108106
  • VGA
    VGA
    +關(guān)注

    關(guān)注

    5

    文章

    520

    瀏覽量

    62592
收藏 人收藏

    評論

    相關(guān)推薦

    vga貪吃蛇 verilog

    FPGA vga貪吃蛇 verilog
    發(fā)表于 06-11 14:05

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載20:VGA顯示接口電路

    外設(shè)連接如圖2.23所示。這個VGA驅(qū)動顯示色彩通過3個信號,即R、G、B信號進行設(shè)定,實現(xiàn)8色的顯示效果。場同步VSY信號和行同步HSY信號也都由FPGA引腳輸出產(chǎn)生。圖2.23
    發(fā)表于 11-07 19:14

    fpga實現(xiàn)jpeg Verilog源代碼

    本站提供的fpga實現(xiàn)jpeg Verilog源代碼資料,希望能夠幫你的學(xué)習(xí)。
    發(fā)表于 05-27 15:09 ?200次下載

    基于FPGAVGA接口實現(xiàn)和字符顯示

    基于FPGAVGA接口實現(xiàn)和字符顯示論文
    發(fā)表于 10-29 17:18 ?8次下載

    數(shù)字電路中的FPGAverilog教程

    數(shù)字電路中的FPGAverilog教程,好東西,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 01-18 17:44 ?42次下載

    fpga_vga顯示程序

    fpga vga 顯示,介紹了如何實現(xiàn)vga的操作以及如何配置
    發(fā)表于 03-15 18:29 ?7次下載

    Verilog編寫的基于SPARTAN板的VGA接口顯示程序

    Xilinx FPGA工程例子源碼:Verilog編寫的基于SPARTAN板的VGA接口顯示程序
    發(fā)表于 06-07 14:54 ?10次下載

    FPGA_CPLD中實現(xiàn)AD或DA的文章(英文Verilog)

    Xilinx FPGA工程例子源碼:在FPGACPLD中實現(xiàn)AD或DA的文章(英文Verilog)
    發(fā)表于 06-07 15:07 ?17次下載

    基于FPGAVGA圖像控制器的設(shè)計與實現(xiàn)

    基于FPGAVGA圖像控制器的設(shè)計與實現(xiàn)
    發(fā)表于 08-30 15:10 ?13次下載

    采用FPGAVGA圖形控制器的Verilog設(shè)計方法

    VGA(視頻圖形陣列)作為一種標(biāo)準的顯示接口得到廣泛的應(yīng)用。依據(jù)VGA顯示原理,介紹了利用FPGA實現(xiàn)VGA圖形控制器的
    的頭像 發(fā)表于 06-29 10:05 ?5023次閱讀
    采用<b class='flag-5'>FPGA</b>對<b class='flag-5'>VGA</b>圖形控制器的<b class='flag-5'>Verilog</b>設(shè)計方法

    基于叁芯智能科技的SANXIN -B01 FPGA開發(fā)板的VGA協(xié)議驅(qū)動設(shè)計

    VGA協(xié)議驅(qū)動設(shè)計 作者:郝旭帥校對:陸輝 本篇實現(xiàn)基于叁芯智能科技的SANXIN -B01 FPGA開發(fā)板,以下為配套的教程,如有入手開發(fā)板,可以登錄官方淘寶店購買,還有配套的學(xué)習(xí)視
    的頭像 發(fā)表于 09-28 11:49 ?2663次閱讀
    基于叁芯智能科技的SANXIN -B01 <b class='flag-5'>FPGA</b>開發(fā)板的<b class='flag-5'>VGA</b>協(xié)議<b class='flag-5'>驅(qū)動</b>設(shè)計

    FPGA設(shè)計中DAC控制的Verilog實現(xiàn)

    FPGA設(shè)計中DAC控制的Verilog實現(xiàn)(單片機電源維修)-該文檔為FPGA設(shè)計中DAC控制的Verilog
    發(fā)表于 07-26 12:18 ?18次下載
    <b class='flag-5'>FPGA</b>設(shè)計中DAC控制的<b class='flag-5'>Verilog</b><b class='flag-5'>實現(xiàn)</b>

    FPGA設(shè)計中DAC控制的Verilog實現(xiàn)修訂稿

    FPGA設(shè)計中DAC控制的Verilog實現(xiàn)修訂稿(空調(diào)電源芯片)-該文檔為FPGA設(shè)計中DAC控制的Verilog
    發(fā)表于 07-26 13:13 ?10次下載
    <b class='flag-5'>FPGA</b>設(shè)計中DAC控制的<b class='flag-5'>Verilog</b><b class='flag-5'>實現(xiàn)</b>修訂稿

    ADC0809驅(qū)動FPGA實現(xiàn)verilog程序

    ADC0809驅(qū)動FPGA實現(xiàn)verilog程序(通訊電源技術(shù)雜志封面)-該文檔為ADC0809驅(qū)動F
    發(fā)表于 08-31 18:33 ?66次下載
    ADC0809<b class='flag-5'>驅(qū)動</b><b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>的<b class='flag-5'>verilog</b>程序

    FPGA-VGA實現(xiàn)資料合集

    FPGA-VGA實現(xiàn)資料合集
    發(fā)表于 01-05 15:34 ?22次下載