摘 要:采用可编程逻辑器件CPLD设计一个简易VGA视频信号产生模块,经过软硬件调试,最终在显示器上显示彩色方块或线条等正确图像。利用此原理,可以设计更多的彩色图像,且可将采集的图像进行实时显示,将此作为信号源,应用于显示器电路的开发或某些嵌入式系统中,进行视频设备的调试与性能分析或系统中信号处理模块的调试与性能分析等。
关键词:视频图形阵列;可编辑逻辑器件;VGA时序
目前产生VGA时序彩色图形主要通过FPGA设计,本文用CPLD芯片设计一个简易VGA视频显示模块。利用CPLD完成VGA显示控制,可以使图像的显示脱离传统的通用处理器的控制,从而使系统体积更小,功耗更低,改进更方便。经软硬件设计与调试,最终在显示器上显示彩色方块或线条等正确图像。利用此原理,可以设计更多的彩色图像,并可将采集的图像实时显示,将此作为信号源,可应用于彩色等离子显示器电路的开发或某些嵌入式系统中检测和验证系统的性能,因此具有重要的现实意义。
1 硬件设计
1.1 VGA接口
硬件电路设计原理如图1所示。VGA接口有15个引脚,定义如下:1号(红基色),2号(绿基色),3号(蓝基色),4号(地址码),5号(自测试),6号(红地),7号(绿地),8号(蓝地),9号(保留),10号(数字地),11号(地址码),12号(地址码),13号(行同步),14号(场同步),15(地址码)。
1.2 CPLD器件及主要参数选择
可从硬件资源配置、芯片体积、封装形式、使用环境、调试难易度、产品出现年限、使用生命力、成本及货源等方面选择器件。对于CPLD器件,Altera公司MAX II系列的EPM240T100C5芯片满足设计需求,内部含有240个LE,3.3 V供电,TQFP贴片封装,100个管脚,商业级,一般用于室内消费类电子,温度范围为0~70℃。VGA接口输入模拟电压为0~0.7 V,显示器输入阻抗为75 Ω,通过分压电阻网络来实现。时钟频率由外部晶振提供,本电路选用20 MHz。
2 软件设计
2.1 显示接口原理[1-2]
常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由R、G、B三基色组成。显示采用逐行扫描的方式,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生三基色,合成一个色彩像素。扫描从屏幕的左上方开始,从左到右、从上到下逐行扫描,每扫完一行,电子束回到屏幕的左下边一行的起始位置。在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步,扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。
2.2 VGA时序控制[1],[3-4]
常见的图像显示模式参考时序数据如表1所示。VGA接口输入信号即红、绿、蓝三基色信号,行同步信号、场同步信号均需要满足上述给出的时序要求。
若实现800×600SVGA(60 Hz)图像模式,时钟点频率为40 MHz(即像素的输出频率)。本设计中采用晶体频率为20 MHz,在这种时钟频率下,图像实际显示的分辨率为400×600,即每行显示400个像素,每场显示600行。事实上,这400×600是显示器的有效显示图像区,除了这个区域之外,还有行消隐区及场消隐区,以实现行列的同步操作。
对于行同步信号,行频率为1/((3.2+2.2+20+1)μs)=37.87 kHz。行扫描时序图转化为像素点,如表2所示。
每行实际像素为528个,在这528个像素中,400点是有效显示区,128点是消隐区。行同步低电平有64个脉冲。
每场实际的行数为628行,600行是有效显示区,28行是消隐区。场同步低电平宽度是4行。对像素进行行计数和场计数,并在相应的显示区域填充不同的颜色信号。
2.3 VGA时序信号产生模块设计
(1)在Altera公司的Quartus II开发平台下运用Verilog HDL语言进行编程,根据行计数器值hcnt和场计数器的值vcnt产生色块图形。色块显示流程图如图3所示。
3 软件仿真与功能实现情况
仿真结果如图4所示。程序下载经调试后,实现效果如图5所示。
本文采用CPLD设计并实现了简易VGA视频信号的显示,软硬件调试结果验证了原理的正确性。电路结构简单、成本低,通过修改程序可以产生更多的图像信号,以满足不同的需要,本设计具有一定的研究和应用价值。
参考文献
[1] 郑美芳,高晓蓉,王黎,等.基于FPGA的VGA时序彩条信号实现[J].现代电子技术,2009,32(14):90-92.
[2] 陈姚节,卢建华.基于FPGA的VGA显示接口的研究与设计[J].交通与计算机,2005,23(2):47-49.
[3] 曹允.基于FPGA的VGA时序彩条信号实现方法及其应用[J].电子技术应用,2002,28(7):42-45.
[4] 王亮,李正,等.VGA汉字显示的FPGA设计与实现[J].计算机工程与设计,2009,30(2):275-277.