基于FPGA的VGA接口驱动技术
2012年12月第12期
电子测试
ELECTRONIC TEST
Dec. 2012No.12
基于FPGA的VGA接口驱动技术
姜世杰, 余红英, 洪永学, 林丽蓉
(中北大学信息与通信工程学院, 山西太原 030051)
依据VGA显示原理, 利用Verilog摘要:VGA (视频图形阵列)作为一种标准的显示接口得到广泛应用。
硬件编程语言作为逻辑描述手段,设计了一种基于现场可编程器件FPGA的VGA接口控制器。主要是对于系统时序的控制,完成对整个显示器的扫描,利用FPGA的高频率时钟优点;在使用FPGA的嵌入式系统中能代替VGA的专用显示芯片,节约硬件成本,节省计算机处理时间,加快数据处理速度并具有显示面积大、色彩丰富、承载信息量大、接口简单等优点。最后利用ModelSim进行仿真运行,得出与资料相同的时序波形。
关键词:VGA;FPGA;接口控制器中图分类号: TN79+1 文献标识码: A
FPGA implementation of VGA interface
Jiang Shijie, Yu Hongying, Hong Yongxue, Lin Lirong
(School if Information and Communication Engineering,North University of China, Taiyuan, Shanxi 030051)
Abstract: VGA(video graphic array)been widely used as a standard interface. According to the principle of VGA display, used of the Verilog hardware programming language as a means of logical description, this design based on field programmable device FPGA VGA interface controller. mainly to complete the control system timing for the display of the scanning with the help of high frequency clock advantages of FPGA, Using FPGA instead of the VGA special graphics chips in embedded, Can save on hardware costs, save computer processing. Accelerate the speed of data processing and has the advantage of display area, rich colors, carrying information, and simple interface. At last, running ModelSim to simulate and get the wave same as the datasheet.Keywords: VGA;FPGA;interface controller
候产生一个固定宽度的低脉冲,数据在某些固定的行和列交汇处有效。
0 引言
随着电子产业及视频图像处理技术的发展,VGA(视频图形阵列)作为一种标准的显示接口在视频和计算机领域得到了广泛的应用[1],在图像处理中若是采用传统的数据传输方式来使高分辨率图像实时显示在显示器上,一般要求晶振频率达到40 MHz以上,传统的电子电路难以达到这个速度,若采用专门的图像处理芯片,其设计难度大、开发成本高成为一个瓶颈选择。因此本文基于FPGA的灵活可编程性,利用其高达上百兆的工作频率来完成像素级的图像处理,丰富的I/O资源可以外接大容量存储器等优点,设计了一种驱动VGA的电路[2]。
1 VGA显示原理
1.1 VGA接口基本电路
标准的VGA接口一个有15个接口(见图1),但其中真正用到的就5个脚,HSYNC是行同步信号,VSYNC是场同步信号,同步信号就是为了让VGA显示器扫描像素点数据,vga_r、vga_g、vga_b为三原色信号,我们可以直接用I/O口去连接5个信号接口,并且三色信号接口输入只可能是数字信号(0或者1),因此液晶屏上显示的颜色最多有8种,一般来说可以在FPGA与VGA接口之间加一个D/A芯片,这样就可能实现65536种或者更多色彩的显示。
1.2 VGA工作原理[3-4]
VGA的接口时序如图2所示,场同步信号VSYNC在每帧数据开始的时候产生一个固定宽度的低脉冲,行同步信号HSYNC在每行开始的时图1 VGA接口
图2 VGA控制时序
对于一个刷新频率为60 Hz,分辨率为800×600的显示器,我们用50 MHz晶振的FPGA芯片驱动设计,表1为它的脉冲技术表。
表1 VGA时序表
同步脉冲
后沿显示脉冲后沿帧长行同步
信号12067800521039场同步信号
6
25
600
56
687
首先行同步信号在某个系统时钟上升沿到来时被拉低120个脉冲宽度后被拉高,经过67个脉冲,DATA数据有效,即显示器开始扫描800个列像素点,扫描完成到下一次行同步信号再次被拉低,中间经过52个时钟脉冲。扫描一行需要的
数据帧长为1039。
而场同步信号的扫描方式类似于上面的步骤,在某个时钟到来时被拉低6个脉冲宽度继而被拉高,拉高后延迟25
个脉冲周期行同步信号被拉
低,这样开始扫面每行的像素。完成本次扫描后场同步信号再次被拉低重复上述过程。因为刷新频率为60 Hz,所以每秒场同步信号会被拉低60次。这样完成对800×600分辨率显示器的每个像素点的扫描如图3所示。
图3 扫描过程
2 实例应用
针对上面提到的VGA工作原理,利用Quartus II软件编写Verilog[5]硬件代码来驱动常见的17寸电脑显示器,选用ALTERA公司的EP2C8Q208C8芯片作为主控芯片,根据时序来完成对硬件电路的描述与搭建。首先是对管脚的定义如表2所示。
表2 管脚定义
信号名称信号方向描述clkinput时钟信号 50MHzrst_ninput复位信号 低电平有效hsyncoutput行同步信号 低电平有效vsyncoutput场同步信号 低电平有效vga_routput三原色 红色信号0 或1vga_goutput三原色 绿色信号0或1vga_b
output
三原色 蓝色信号0或1
其次利用系统时钟产生行、场同步信号,完成对整个显示器的显示扫描,代码如下:
reg hsync_r,vsync_r; //同步信号产生
always @ (posedge clk or negedge rst_n) if(!rst_n) hsync_r <= 1'b1;
else if(x_cnt == 11'd0) hsync_r <=
1'b0;
//产生hsync信号
else if(x_cnt == 11'd120) hsync_r
<= 1'b1;
always @ (posedge clk or negedge rst_n) if(!rst_n) vsync_r <= 1'b1;
else if(y_cnt == 10'd0) vsync_r <=
1'b0;
//产生vsync信号
else if(y_cnt == 10'd6) vsync_r <=
1'b1;
assign hsync = hsync_r;
assign vsync = vsync_r;
最后驱动VGA接口在显示器上显示一个矩形框和一个小矩形,效果如图4所示。
//显示一个矩形框
wire a_dis,b_dis,c_dis,d_dis; //矩形框
显示区域定位
assign a_dis = ( (xpos>=200) && (xpos<=220) ) &&
( (ypos>=140) && (ypos<=460) );
assign b_dis = ( (xpos>=580) && (xpos<=600) ) && ( (ypos>=140) && (ypos<=460) );
assign c_dis = ( (xpos>=220) && (xpos<=580) ) &&( (ypos>=140) && (ypos<=160) );
assign d_dis = ( (xpos>=220) && (xpos<=580) ) && ( (ypos>=440) && (ypos<=460) );
//显示一个小矩形
wire e_rdy; //矩形的显示有效矩形区域assign e_rdy = ( (xpos>=385) && (xpos<=415) ) &&
( (ypos>=285) && (ypos<=315) );
图4 驱动显示器
此处只是展示了部分代码,Verilog硬件描述语言完全不同于以往我们接触的编程类语言,它可以很直白的完成对芯片或者器件的时序图的描述来完成硬件电路的搭建[6-7]。
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




