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

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

3天内不再提示

通过FPGA对VGA进行控制实现任一彩色图像显示

电子设计 来源:郭婷 作者:电子设计 2018-12-11 09:00 次阅读

引言

视频图形阵列显示接口是微机系统使用的一种通用显示接口,广泛应用于智能控制系统中,作为系统的显示终端.对于由嵌入式微处理器构成的图像处理系统来说,采用VcA显示输出具有兼容性强.显示内容丰富的优势.同时,VGA显示接口具有结构简单.性能可靠.兼容性强.时序容易控制的特点.因此,结合FPGA的VGA图像控制器,在嵌入式的图像处理系统中有广泛的应用前景.

目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R.G.B三原色信号和行.场同步信号,信号通过电缆传输到显示设备中.

1 VGA显示

常见的VGA接口的彩色显示器,一般由cRT(阴极射线管)构成,色彩由R.G.B(红:Red,绿:Green,蓝:Blue)三基色组成.显示采用逐行扫描的方式进行,即当扫描完一行时,再进行下一行的扫描,直到最后一行扫描完为止.VGA接口为显示器提供两类信号,一类是数据信号,一类是控制信号.

数据信号包括红.绿.蓝信号,简称RGB信号.控制信号包括水平同步信号(HSYNC)和垂直同步信号(VsYNc).向显示器输出不同的分辨率时,水平同步信号和垂直同步信号的频率也不同.但是水平同步信号和垂直同步信号时序分析相同,在扫描时均需要经过同步信号.同步后信号.行同步信号.同步后信号四个时段.仅以水平同步信号为例,其结构如图1所示.

通过FPGA对VGA进行控制实现任一彩色图像显示

VGA接口的显示器原理其实就相当于点阵,通过控制器的控制,点亮所在的行和列.所以水平同步信号是针对列像素而言的,而垂直同步信号是针对行像素而言的.

以显示800×600的图片大小为例,根据VGA的时序标准,选择6hz的刷新频率.水平同步信号的同步信号包含128个列像素,同步后沿信号为88个列像素,同步前沿信号为40个列像素,而屏幕显示部分为800个列像素,所以一共需要1 28+88+40+800=1 056个列像素.场同步信号的同步信号包含4个行像素,同步后沿信号包含23个行像素,同步前沿信号包含1个行像素,而屏幕显示部分为600个行像素,所以一共需要4+23+l+600=628个行像素,由此,液晶显示器显示一幅800×600的图像,需要的行列像素分别为1056和628.

2系统总体框架设计

本系统以FPGA EP2C8Q208C8为核心芯片,通过对VGA接口的控制,实现彩色图像的显示,系统结构框图如图2所示.

通过FPGA对VGA进行控制实现任一彩色图像显示

2.1锁相环PLL

锁相环路是一种反馈控制电路,简称锁相环(PLL),一种输出一定频率信号的振荡电路,也称为相位同步环(回路).该回路利用使外部施加的基准信号与PLL回路内的振荡器输出的相位差恒定的反馈控制来产生振荡信号.在网络领域中,PLL用于从接收的信号中分离出时钟信号,可以通过实际电路或软件的方式实现.

由于FPGA的系统时钟为50MHz,而控制VGA的时钟为40MHz,所以在对VGA接口的控制时需要进行时钟转换,通常可以通过分频或者是调用IP核的方式实现转换,但是由于通过自己写的分频程序假如在数据上处理不得当,容易产生毛刺,而调用quanersII软件自带的PLL内核,不仅可以做到与系统时钟同相,而且时钟稳定,能够实现对VGA时序的严格控制,与硬件电路来实现锁相环相比,调用PLJ.内核不仅可以做到操作简单,而且也节约了设计成本.

2.2存储模块ROM

只读存储(Read一0nly Memory,ROM)是一种只能读出事先所存数据的固态半导体存储器圈.在系统框图中的三个ROM均用来存储颜色信息,由于本设计中使用图片的大小为128×128,即一共有128×128=16384个像素点,所以ROM的大小设置为16384.这里通过quanerII软件调用FPGA的ROM内核,将MATLAB提取的红.绿.蓝三基色数据经quanusII软件的处理,分别存入FPGA的ROMl.ROM2.ROM3中.在控制模块中写入ROM的地址,在分频后的时钟控制下,将数据读到vGA的RGB三个引脚,实现液晶显示器的图片显示.

2.3 MATLAB的数据提取

MATLAB作为强大的数据处理工具,其基本数据单位是矩阵,它的指令表达式与数学工程中常用的表达形式十分相似,故用MATLAB来解算问题要比用c,FORTRAN等语言简捷得多。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持,可以直接调用,用户也可以将自己编写的实用程序导人MATIAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便.

由于MATLAB软件中默认的图片格式为。JPc和。BNP,因此在使用MATLAB前需将原始图片通过Photo sh叩软件进行格式转换,转换后保存图片为。BMP格式,在弹出的位宽选择对话框选择24位,然后再通过MATLAB提取红基色数据,程序如下所示,结果被保存在Red.mif文件里:

通过FPGA对VGA进行控制实现任一彩色图像显示

由于本设计所使用的VGA是三位的数据接口,因此蓝基色和绿基色数据也按照此方法提取.Red.mif中的数据是24位的,所以还需要对提取到的红基色数据进行转换.在MATLAB中做如下判断将24位数据转换为3位数据.

通过FPGA对VGA进行控制实现任一彩色图像显示

3结果分析

图像的显示如图3所示,显示结果表明,由于原图像是24位,即224种颜色,而FPGA控制的VGA只有3位即23种颜色,相比之下,以24位的图像作为标准,VGA显示的3位图像有明显失真的现象.

如果希望显示的图像更加清晰,那么需要将vGA的显示接口重新作出电路修改,这样才能达到清晰显示的效果.

通过FPGA对VGA进行控制实现任一彩色图像显示

4结束语

在许多图像处理系统中,需要将经过处理的图像显示出来,如果采用传统的办法将图像数据传回电脑并通过显示器显示出来,那么在传输的过程中就需要嵌入式系统CPU不断的对所传输的图像数据信号进行控制,这样就造成了CPU资源的浪费,同样系统还需要依赖电脑,降低了系统的灵活性.如果采用FPGA对显示器的VGA接口进行设计,数据流只需要在整个系统的内部流动,而不需要依靠计算机,实现了系统的最小化,大大减少了电路板的尺寸,增强了系统的可靠性和设计的灵活性.

VGA接口同样也是LCD液晶显示设备的标准接口,通过VGA控制LCD可以使整个系统变得小巧,携带方便,使得应用的范围大大扩展.作者所在的全景视觉图象处理项目中,正是需要把经过处理的图像实时地直接地显示出来,撇开对计算机的需求,以满足各种不同应用环境的需要.

通过FPGA对VGA接口的控制,不仅实现了FPGA对任一图像的显示,而且其内部时钟可调性为设计带来了很大的方便,节约了硬件成本.此方案可以广泛应用于数字视频系统.高分辨率的彩色图片图像处理.视频信号再现等各种领域.

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

    关注

    1629

    文章

    21729

    浏览量

    603013
  • 显示器
    +关注

    关注

    21

    文章

    4970

    浏览量

    139930
  • 控制系统
    +关注

    关注

    41

    文章

    6604

    浏览量

    110577
  • VGA
    VGA
    +关注

    关注

    5

    文章

    535

    浏览量

    62902
收藏 人收藏

    评论

    相关推荐

    基于FPGA实现VGA彩色图片显示

    VGA进行控制实现任一彩色图像显示
    发表于 03-24 11:54 4359次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>VGA</b>的<b class='flag-5'>彩色</b>图片<b class='flag-5'>显示</b>

    利用可编程器件CPLD/FPGA实现VGA图像控制器的设计方案

    利用可编程器件CPLD/FPGA实现VGA彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言VHDL对可编程器件
    发表于 08-30 12:03 1097次阅读
    利用可编程器件CPLD/<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>VGA</b><b class='flag-5'>图像</b><b class='flag-5'>控制</b>器的设计方案

    基于FPGA的Uart发送图像数据到VGA显示

    串口发送图像数据至FPGAFPGA内部将图像数据存储,最后扫描到VGA屏幕上
    发表于 08-28 11:28

    VGA图像显示原理

    VGA 显示控制器的实现过程以前,首先需要了解 VGA显示原理。
    发表于 12-13 11:53

    如何利用FPGA实现VGA彩色图片显示

    如何利用FPGA实现VGA彩色图片显示
    发表于 06-02 06:20

    VGA图形控制器的FPGA实现

    经过硬件平台的验证,基于FPGAVGA 图形显示器已达到设计要求,可实现彩条、汉字、小图像和大图像
    发表于 06-08 09:55 2151次阅读
    <b class='flag-5'>VGA</b>图形<b class='flag-5'>控制</b>器的<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>

    基于FPGA的串口通讯与VGA显示

    本文介绍了基于FPGA(现场可编程门阵列)具有串口控制功能的VGA显示图像的设计实现方案。
    发表于 09-19 15:26 292次下载
    基于<b class='flag-5'>FPGA</b>的串口通讯与<b class='flag-5'>VGA</b><b class='flag-5'>显示</b>

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

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

    基于Zedboard FPGAVGA图像信号采集系统的设计

    根据VGA(Video Graphic Array)的原理,采用VHDL硬件描述语言,设计了种基于Zedboard FPGA板卡的图像显示
    发表于 11-18 12:42 2323次阅读

    VGA显示与基于FPGAVGA彩色图片显示设计

    FPGAVGA 进行控制实现 任一彩色
    发表于 11-30 14:57 63次下载
    <b class='flag-5'>VGA</b><b class='flag-5'>显示</b>与基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>VGA</b><b class='flag-5'>彩色</b>图片<b class='flag-5'>显示</b>设计

    vga图像显示_fpga控制vga显示图片

    本文为大家分享fpga控制vga显示图片的方法。
    发表于 01-15 15:56 7929次阅读

    应用于彩色显示器的VGA时序信号和彩条图像信号的设计与实现

    利用现场可编程逻辑器件产生VGA时序信号和彩条图像信号,并将其作为信号源,应用于电视机或计算机等彩色显示器的电路开发,方便彩色显示器驱动控制
    的头像 发表于 05-03 09:09 4319次阅读
    应用于<b class='flag-5'>彩色显示</b>器的<b class='flag-5'>VGA</b>时序信号和彩条<b class='flag-5'>图像</b>信号的设计与<b class='flag-5'>实现</b>

    FPGA入门系列实验教程之VGA彩色信号显示的详细资料说明

    本实验是用 FPGA实现 VGA 图像控制器,控制显示
    发表于 06-25 17:40 11次下载

    如何使用FPGA实现VGA图像控制器的设计论文免费下载

    依据VGA显示原理。利用VHDL作为设计语言.设计了种基于现场可编程器件FPGAVGA图像
    发表于 01-29 15:27 20次下载
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>VGA</b><b class='flag-5'>图像</b><b class='flag-5'>控制</b>器的设计论文免费下载

    基于FPGA的多图片动态显示VGA系统

    本文使用FPGA芯片,在 QuartusⅡI工作平台下,利用 Verilog硬件描述语言,实现VGA多幅图片动态彩色显示系统的设计。设计中将VGA
    发表于 06-01 10:08 27次下载