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

2011-04-14 23:15:39来源: 电子技术应用
    利用可编程器件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
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
VGA
图像控制器
CPLD

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

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

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