VGA图像控制器的CPLD/FPGA设计与实现

2011-04-14 23:15:39来源: 电子技术应用 关键字:VGA  图像控制器  CPLD
    利用可编程器件CPLD/FPGA实现VGA彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言VHDL对可编程器件进行功能模块设计、仿真综合,可实现VGA显示控制器显示各种图形、图像、文字,并实现了动画效果。

    VGA 接口及设计参数VGA接口是与显示器进行通信的唯一接口。通过CPLD/FPGA器件对RGB信号、行同步信号、场同步信号等信号的控制,并参照有关标准,可以实现对VGA显示器的控制。由此可见,了解接口标准,控制时序和设定恰当的参数是系统设计的关键。

    参照VGA主要参数的工业标准,像素输出频率为25.175MHz;行频(线频率)为31.469KHz;场频(刷新率)为59.94Hz.参数设计原理以及行同步信号(Ts)与显示信号(Tdis)的关系如图1所示。

    VGA 图像控制器的设计方案VGA图像控制器是一个较大的数字系统。采用模块化设计原则,借鉴自顶而下的程序设计思想,进行功能分离并按层次设计。将VHDL硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层VGA图像控制器的模块实体仿真综合得以顺利通过。VGA控制器主要由以下模块组成:消隐模块,显示模块,分频模块,网格生成模块,汉字显示模块,图像控制模块,动画生成模块,LPM-ROM调用模块,EEPROM调用模块等。功能模块的VHDL设计如下。

    消隐模块消隐模块是整个显示控制器的关键部分,显示模块、汉字模块、彩条模块、网格模块、动画控制模块、LPM-ROM调用模块等都由消隐模块控制,并且行同步信号(HS)和场同步信号(VS)都由该模块产生。

    图2是消隐模块的仿真结果。由于CLK频率相当高,像素速率也很高,为了观察HS、VS信号,适当缩小了波形比例。其中, C[9……0]为像素坐标值,L[8……0]为扫描线信号,也就是像素的横坐标。

    显示模块显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后送到显示器。显示模块在VGA显示控制器中起着至关重要的作用。

    显示模块的VHDL设计如下:ARCHITECTURE BEHAVE OF DISPLAY IS SIGNAL GRB: STD_LOGIC_VECTOR(3 DOWNTO 1);BEGIN GRB(2)<=GRBP(2) AND HS AND VS;GRB(3)<=GRBP(3) AND HS AND VS;GRB(1)<=GRBP(1) AND HS AND VS;R<=GRB(2);G<=GRB(3);B<=GRB(1);END BEHAVE;显示模块仿真波形如图3所示。

    GRBP为三原色数据信号,由模式控制模块产生;行同步信号HS由消隐模块产生;场同步信号VS由消隐模块产生。输出的R、G、B信号分别为红色、绿色、蓝色信号。

    显示模块的输出信号直接连到VGA接口,它是控制器与显示器进行通信的桥梁。该模块以VHDL语言实现,该模块中的结构体描述一共只用了6条语句。而要实现同样的功能,一般操作系统的视频卡驱动程序需要冗长的代码去描述。由此可见,VHDL语言具有很大的优越性。

    汉字生成模块汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。

    网格生成模块网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器类似,在像素的横坐标和纵坐标控制下,实现各种网格图形的生成。网格生成模块所产生的九种图形送显示器依次显示,所以可以看到网格由小到大逐渐变化,虽然不是动画效果,但每秒一帧画面的速度依然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制。

    网格生成模块的主要功能是编辑各种图形,因此本模块可以按照设计方案生成各种各样的图形。网格的选择是一种比较简单的图像编辑,该部分虽然名为网格生成模块,但实际上可以编辑出多种彩色图像。

    LPM-ROM调用模块LPM是参数可设置模块库。本设计中调用了三个LPM-ROM,其中两个用来存放汉字信息,另一个用来存放动态彩条信息。调用LPM-ROM模块,一个重要的问题就是*.mif文件的生成。这里文件生成借助字模提取软件和WORD编辑功能。设置好参数后,生成元件作为自定义元件库中的元件以供调用。

    LPM-ROM调用模块为不使用外挂ROM而建立字库提供了条件,直接调用LPM模块,可以大大提高效率。通过LPM-ROM可以在显示器上显示汉字、字符等。

    EEPROM调用模块EEPROM调用模块是设计的难点之一。该模块实现了对系统外挂的两个EEPROM(W27E040和W27C020)的访问,通过该模块可以使显示器显示各种各样的彩色图像。

    图像模式控制模块图像模式控制模块也是该数字系统的关键部分,它的主体部分是一个功能齐全的数据选择器(32选1)。

    该模块由一个32选1数据选择器和一个32进制可逆计数器组成。可逆计数器控制端为EC、DIR、CLR,MD为计数时钟信号。计数结果(即对应一种模式)是数据选择器进行选择的依据,通过对可逆计数器的控制,可以实现对模式选择的控制。

    图像控制模块共产生了32种模式,由计数器实现了对模式的有效控制。其实图像控制模块功能还可以进一步扩展。计数器输出为8比特,实际共有255种模式,在输入的32个信号中,可以将它们其中的任意几个进行再处理,如叠加、异或(棋盘格生成就是横彩条与竖彩条的异或而实现的)、相与等等,这样就可以产生成千上万种图形的输出。

    VGA控制器中的十余个模块都采用VHDL语言实现,每个模块在功能仿真无误后生成元件,放入元件库中,由顶层原理图调用各个模块(元件)。VGA图像控制器整体设计经过调试,通过了MAX+PLUSⅡ的功能仿真、时序仿真以及硬件仿真综合,在VGA显示器上实现了所设计的各种功能。

    结语利用可编程逻辑器件可以很方便地实现数字系统设计,基于CPLD/FPGA器件的VGA控制器可以实现显示器的实时显示。该系统性能高低取决于系统设计方案,硬件描述语言设计以及开发工具的性能。

关键字:VGA  图像控制器  CPLD

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0414/article_2057.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:莱迪思首个 “全功能”PLD系列成员合格并量产
下一篇:低成本高品质一把抓 中阶PLD最能拥抱市场

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
VGA
图像控制器
CPLD

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved