0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的Verilog实现VGA驱动电路

454398 来源:FPGA开源工作室 作者:FPGA开源工作室 2020-11-20 16:02 次阅读

VGA全称是Video Graphics Array,即视频图形阵列,是一个使用模拟信号进行视频传输的标准。分辨率高,显示速度快。

一、传输协议

VGA接口15个引脚,除去地线,我们一般会用到5个引脚:1(RED)、2(GREEN)、3(BLUE)、13(HSYNC)、14(VSYNC)。

如图1:

图1 VGA接口引脚定义

1、2、3指的是传输的红、绿、蓝三色的模拟信号,范围为0-0.714V,0代表无色,0.714V代表满色,需要注意的这是模拟信号,因此前面还需要进行一个数模转换。HSYNC(行同步信号)和VSYNC(场同步信号)分别是指传输一行和传输一帧的时序,下面看一下他们的时序图:

图2 行同步时序

a:行同步时期,扫描地址的复位
b:行消隐后肩,扫描地址转移后的稳定等待准备期
c:行显示时期,数据有效区域
d:行消隐前肩,扫描地址转移的准备
e:行扫描总时间,一行扫描的总时间

图3 场同步时序

o:场同步时期,扫描地址的复位
p:场消隐后肩,扫描地址转移后的稳定等待准备期
q:场显示时期,数据有效区域
r:场消隐前肩,扫描地址转移的准备
s:场扫描总时间,一场扫描的总时间

可以看出,行同步时序和场同步时序类似,分别经历4个阶段:拉低、显示后沿、有效数据传输和显示前言。

图4 VGA显示器扫描轨迹

二、常见的刷新率时序表

由于FPGA擅长计数电路这里采用像素表示法来设计驱动。

图5 不同VGA的时序参数

FPGA硬件测试时要将sys_pll中的输出频率改为25MHZ。

三、驱动电路verilog设计(lcd_driver)

目前液晶显示器普及,而高于 60Hz 的刷新率对于液晶来说,没有任何意义,所以我们以 640*480 在 60Hz 的刷新率下为例。

本次我们采用的是ADV7123视频转换芯片来实现。

1)为便于移植,根据640*480 60hz分辨率下的参数,宏定义相关数据。

2)行扫描单位hcnt计数

3)列扫描单位vcnt计数

每扫描完一行,即hcnt完成H_TOTAL次计数后,vcnt进行自加。

4)ADV7123控制信号输出

为了实现数据在lcd_dclk上升沿有效,我们将clk翻转输出,已实现上升沿采样 。

lcd_blank作为显示空白信号,低电平有效。

设计中不需要lcd_sync信息,可以直接接地。

5)有效显示使能信号输出

当使能信号有效时,接收外部输入的RGB数据lcd_data.

6)外部数据请求控制信号

为了保证数据稳定,lcd_request要提前一个时钟请求外部输入数据 。

同时,设计中实时显示下一时刻的扫描地址lcd_xpos、lcd_ypos,也要提前一个时钟输出,以保证外部数据输入的同步化。

lcd_xpos、lcd_ypos是显示器有效显示区域的行列坐标计数值。

四、模拟VGA图像数据的输入

1)宏定义三原色组合的颜色如下

这里要注意所用的VGA驱动电路是RGB888还是RGB565,如果是RGB565,三原色要改成下面样式,并把其他程序中lcd_data的位数改为16位:
笔者曾在这里犯过错误。

2)根据输入的行、列地址信号,输出三原色组合后得到的8条彩色。

五、不同分辨率的VGA驱动

lcd_para文件定义了四种VGA分辨率驱动,这里只需修改定义的注释就行,并把PLL锁相环中的频率改为相应的频率。

PLL修改方法为直接修改下面参数中的乘法除法因子:

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1601

    文章

    21296

    浏览量

    593081
  • Verilog
    +关注

    关注

    28

    文章

    1325

    浏览量

    109293
  • 模拟信号
    +关注

    关注

    8

    文章

    960

    浏览量

    51815
  • 驱动电路
    +关注

    关注

    151

    文章

    1469

    浏览量

    107658
  • VGA
    VGA
    +关注

    关注

    5

    文章

    508

    浏览量

    61987
收藏 人收藏

    评论

    相关推荐

    vga贪吃蛇 verilog

    FPGA vga贪吃蛇 verilog
    发表于 06-11 14:05

    FPGA实现VGA显示

    FPGA实现VGA显示
    发表于 05-22 18:05

    勇敢的芯伴你玩转Altera FPGA连载20:VGA显示接口电路

    外设连接如图2.23所示。这个VGA驱动显示色彩通过3个信号,即R、G、B信号进行设定,实现8色的显示效果。场同步VSY信号和行同步HSY信号也都由FPGA引脚输出产生。图2.23
    发表于 11-07 19:14

    基于FPGAVGA控制器设计与实现

    利用FPGA 设计一个类似点阵LCD 显示的VGA 显示控制器,可实现文字及简单的图表显示。工作时只需将要显示内容转换成对应字模送入FPGA,即可
    发表于 09-22 10:17 137次下载

    基于FPGAVGA接口实现和字符显示

    基于FPGAVGA接口实现和字符显示论文
    发表于 10-29 17:18 8次下载

    Verilog编写的基于SPARTAN板的VGA接口显示程序

    Xilinx FPGA工程例子源码:Verilog编写的基于SPARTAN板的VGA接口显示程序
    发表于 06-07 14:54 10次下载

    FPGA_CPLD中实现AD或DA的文章(英文Verilog)

    Xilinx FPGA工程例子源码:在FPGACPLD中实现AD或DA的文章(英文Verilog)
    发表于 06-07 15:07 17次下载

    基于FPGAVGA图像控制器的设计与实现

    基于FPGAVGA图像控制器的设计与实现
    发表于 08-30 15:10 11次下载

    华清远见FPGA代码-VGA接口的设计与实现

    华清远见FPGA代码-VGA接口的设计与实现
    发表于 10-27 18:07 8次下载

    采用FPGAVGA图形控制器的Verilog设计方法

    VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。依据VGA显示原理,介绍了利用FPGA实现VGA图形控制器的
    的头像 发表于 06-29 10:05 4829次阅读
    采用<b class='flag-5'>FPGA</b>对<b class='flag-5'>VGA</b>图形控制器的<b class='flag-5'>Verilog</b>设计方法

    基于叁芯智能科技的SANXIN -B01 FPGA开发板的VGA协议驱动设计

    VGA协议驱动设计 作者:郝旭帅校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视
    的头像 发表于 09-28 11:49 2337次阅读
    基于叁芯智能科技的SANXIN -B01 <b class='flag-5'>FPGA</b>开发板的<b class='flag-5'>VGA</b>协议<b class='flag-5'>驱动</b>设计

    FPGA设计中DAC控制的Verilog实现

    FPGA设计中DAC控制的Verilog实现(单片机电源维修)-该文档为FPGA设计中DAC控制的Verilog
    发表于 07-26 12:18 18次下载
    <b class='flag-5'>FPGA</b>设计中DAC控制的<b class='flag-5'>Verilog</b><b class='flag-5'>实现</b>

    FPGA设计中DAC控制的Verilog实现修订稿

    FPGA设计中DAC控制的Verilog实现修订稿(空调电源芯片)-该文档为FPGA设计中DAC控制的Verilog
    发表于 07-26 13:13 10次下载
    <b class='flag-5'>FPGA</b>设计中DAC控制的<b class='flag-5'>Verilog</b><b class='flag-5'>实现</b>修订稿

    ADC0809驱动FPGA实现verilog程序

    ADC0809驱动FPGA实现verilog程序(通讯电源技术杂志封面)-该文档为ADC0809驱动F
    发表于 08-31 18:33 60次下载
    ADC0809<b class='flag-5'>驱动</b><b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>的<b class='flag-5'>verilog</b>程序

    FPGA-VGA实现资料合集

    FPGA-VGA实现资料合集
    发表于 01-05 15:34 19次下载