<?xml version="1.0" encoding="gbk"?> <rss version="2.0"><channel> <title>定阅帖子更新</title> <link>http://www.broadkey.com.cn/XML.ASP</link><description>TEAM Board - 意得法电子</description> <copyright>TEAM 2.0.5 Release</copyright><generator>TEAM Board by TEAM5.Cn Studio</generator> <ttl>30</ttl><item><link>http://www.broadkey.com.cn/Thread.asp?tid=376 </link><title>VGA图像控制器的CPLDFPGA设计与实现</title><author>micro</author><pubDate>2009-12-11 8:30:14</pubDate><description><![CDATA[利用可编程器件CPLD/FPGA实现VGA彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言VHDL<br />
<br />
对可编程器件进行功能模块设计、仿真综合，可实现VGA显示控制器显示各种图形、图像、文字，并实现<br />
<br />
了动画效果。<br />
　<br />
　　VGA&nbsp;接口及设计参数VGA接口是与显示器进行通信的唯一接口。通过CPLD/FPGA器件对RGB信号、行同<br />
<br />
步信号、场同步信号等信号的控制，并参照有关标准，可以实现对VGA显示器的控制。由此可见，了解接<br />
<br />
口标准，控制时序和设定恰当的参数是系统设计的关键。<br />
　<br />
　　参照VGA主要参数的工业标准，像素输出频率为25.175MHz；行频（线频率）为31.469KHz；场频（刷<br />
<br />
新率）为59.94Hz.参数设计原理以及行同步信号（Ts）与显示信号（Tdis）的关系如图1所示。<br />
　<br />
　　VGA&nbsp;图像控制器的设计方案VGA图像控制器是一个较大的数字系统。采用模块化设计原则，借鉴自顶<br />
<br />
而下的程序设计思想，进行功能分离并按层次设计。将VHDL硬件描述语言设计与原理图设计相结合，逐<br />
<br />
一对每个功能模块进行仿真，使顶层VGA图像控制器的模块实体仿真综合得以顺利通过。VGA控制器主要<br />
<br />
由以下模块组成：消隐模块，显示模块，分频模块，网格生成模块，汉字显示模块，图像控制模块，动<br />
<br />
画生成模块，LPM-ROM调用模块，EEPROM调用模块等。功能模块的VHDL设计如下。<br />
　<br />
　　消隐模块消隐模块是整个显示控制器的关键部分，显示模块、汉字模块、彩条模块、网格模块、动<br />
<br />
画控制模块、LPM-ROM调用模块等都由消隐模块控制，并且行同步信号（HS）和场同步信号（VS）都由该<br />
<br />
模块产生。<br />
　<br />
　　图2是消隐模块的仿真结果。由于CLK频率相当高，像素速率也很高，为了观察HS、VS信号，适当缩<br />
<br />
小了波形比例。其中，&nbsp;C[9&hellip;&hellip;0]为像素坐标值，L[8&hellip;&hellip;0]为扫描线信号，也就是像素的横坐标。<br />
　<br />
　　显示模块显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后<br />
<br />
送到显示器。显示模块在VGA显示控制器中起着至关重要的作用。<br />
　<br />
　　显示模块的VHDL设计如下：ARCHITECTURE&nbsp;BEHAVE&nbsp;OF&nbsp;DISPLAY&nbsp;IS&nbsp;SIGNAL&nbsp;GRB：&nbsp;STD_LOGIC_VECTOR<br />
<br />
（3&nbsp;DOWNTO&nbsp;1）；BEGIN&nbsp;GRB（2）&lt;=GRBP（2）&nbsp;AND&nbsp;HS&nbsp;AND&nbsp;VS；GRB（3）&lt;=GRBP（3）&nbsp;AND&nbsp;HS&nbsp;AND&nbsp;VS<br />
<br />
；GRB（1）&lt;=GRBP（1）&nbsp;AND&nbsp;HS&nbsp;AND&nbsp;VS；R&lt;=GRB（2）；G&lt;=GRB（3）；B&lt;=GRB（1）；END&nbsp;BEHAVE；显<br />
<br />
示模块仿真波形如图3所示。<br />
　<br />
　　GRBP为三原色数据信号，由模式控制模块产生；行同步信号HS由消隐模块产生；场同步信号VS由消<br />
<br />
隐模块产生。输出的R、G、B信号分别为红色、绿色、蓝色信号。<br />
　<br />
　　显示模块的输出信号直接连到VGA接口，它是控制器与显示器进行通信的桥梁。该模块以VHDL语言实<br />
<br />
现，该模块中的结构体描述一共只用了6条语句。而要实现同样的功能，一般操作系统的视频卡驱动程序<br />
<br />
需要冗长的代码去描述。由此可见，VHDL语言具有很大的优越性。<br />
　<br />
　　汉字生成模块汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件<br />
<br />
来获得，得到了汉字的字模信息后，可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色，<br />
<br />
这样就可以显示任何字体、任何点阵的汉字，并根据需要决定汉字在屏幕上的位置。至于英文以及其他<br />
<br />
任何符号的显示原理与汉字显示的原理一样。<br />
<br />
网格生成模块网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器<br />
<br />
类似，在像素的横坐标和纵坐标控制下，实现各种网格图形的生成。网格生成模块所产生的九种图形送<br />
<br />
显示器依次显示，所以可以看到网格由小到大逐渐变化，虽然不是动画效果，但每秒一帧画面的速度依<br />
<br />
然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制<br />
<br />
。<br />
　<br />
　　网格生成模块的主要功能是编辑各种图形，因此本模块可以按照设计方案生成各种各样的图形。网<br />
<br />
格的选择是一种比较简单的图像编辑，该部分虽然名为网格生成模块，但实际上可以编辑出多种彩色图<br />
<br />
像。<br />
　<br />
　　LPM-ROM调用模块LPM是参数可设置模块库。本设计中调用了三个LPM-ROM，其中两个用来存放汉字信<br />
<br />
息，另一个用来存放动态彩条信息。调用LPM-ROM模块，一个重要的问题就是*.mif文件的生成。这里文<br />
<br />
件生成借助字模提取软件和WORD编辑功能。设置好参数后，生成元件作为自定义元件库中的元件以供调<br />
<br />
用。<br />
　<br />
　　LPM-ROM调用模块为不使用外挂ROM而建立字库提供了条件，直接调用LPM模块，可以大大提高效率。<br />
<br />
通过LPM-ROM可以在显示器上显示汉字、字符等。<br />
　<br />
　　EEPROM调用模块EEPROM调用模块是设计的难点之一。该模块实现了对系统外挂的两个EEPROM<br />
<br />
（W27E040和W27C020）的访问，通过该模块可以使显示器显示各种各样的彩色图像。<br />
　<br />
　　图像模式控制模块图像模式控制模块也是该数字系统的关键部分，它的主体部分是一个功能齐全的<br />
<br />
数据选择器（32选1）。<br />
　<br />
　　该模块由一个32选1数据选择器和一个32进制可逆计数器组成。可逆计数器控制端为EC、DIR、CLR，<br />
<br />
MD为计数时钟信号。计数结果（即对应一种模式）是数据选择器进行选择的依据，通过对可逆计数器的<br />
<br />
控制，可以实现对模式选择的控制。<br />
　<br />
　　图像控制模块共产生了32种模式，由计数器实现了对模式的有效控制。其实图像控制模块功能还可<br />
<br />
以进一步扩展。计数器输出为8比特，实际共有255种模式，在输入的32个信号中，可以将它们其中的任<br />
<br />
意几个进行再处理，如叠加、异或（棋盘格生成就是横彩条与竖彩条的异或而实现的）、相与等等，这<br />
<br />
样就可以产生成千上万种图形的输出。<br />
　<br />
　　VGA控制器中的十余个模块都采用VHDL语言实现，每个模块在功能仿真无误后生成元件，放入元件库<br />
<br />
中，由顶层原理图调用各个模块（元件）。VGA图像控制器整体设计经过调试，通过了MAX+PLUSⅡ的功能<br />
<br />
仿真、时序仿真以及硬件仿真综合，在VGA显示器上实现了所设计的各种功能。<br />
　<br />
　　结语利用可编程逻辑器件可以很方便地实现数字系统设计，基于CPLD/FPGA器件的VGA控制器可以实<br />
<br />
现显示器的实时显示。该系统性能高低取决于系统设计方案，硬件描述语言设计以及开发工具的性能。<br />]]></description></item></channel></rss>