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
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601674
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109973
  • 模拟信号
    +关注

    关注

    8

    文章

    1114

    浏览量

    52385
  • 驱动电路
    +关注

    关注

    152

    文章

    1520

    浏览量

    108351
  • VGA
    VGA
    +关注

    关注

    5

    文章

    532

    浏览量

    62817
收藏 人收藏

    评论

    相关推荐

    vga贪吃蛇 verilog

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

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

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

    fpga实现jpeg Verilog源代码

    本站提供的fpga实现jpeg Verilog源代码资料,希望能够帮你的学习。
    发表于 05-27 15:09 200次下载

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

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

    数字电路中的FPGAverilog教程

    数字电路中的FPGAverilog教程,好东西,喜欢的朋友可以下载来学习。
    发表于 01-18 17:44 42次下载

    fpga_vga显示程序

    fpga vga 显示,介绍了如何实现vga的操作以及如何配置
    发表于 03-15 18:29 7次下载

    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 18次下载

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

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

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

    VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。依据VGA显示原理,介绍了利用FPGA实现VGA图形控制器的
    的头像 发表于 06-29 10:05 5091次阅读
    采用<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 2748次阅读
    基于叁芯智能科技的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 66次下载
    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 22次下载