基于FPGA的VGA接口驱动技术
更新时间:2023-08-30 12:52:01 阅读量: 教育文库 文档下载
- 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]。
3 调试仿真
本设计有两个模块,一个是vga_dis模块,它的作用是对所有像素点的扫描并产生行、场同步信号,另一个vga_play模块。编译生成的RTL视图如图5所示。
图5 RTL视图
其中clk为系统的时钟信号,设计中所有的分频、计数器等都是对该系统时钟进行操作完成,rts_n为复位信号,从vga_dis中产生hsync和vsync以供给VGA进行正常的扫描工作,同时产生坐标信号作为输入信号输入到vga_play模块中用于产生图像信息。
时序仿真软件我们选用同为ALTERA公司下的一个仿真平台ModelSim[8],我们在Quartus中编写好程序代码和仿真脚本,可以很好的无缝链接到ModelSim直接进行时序仿真如图6所示,本例输入/输出接口简单,编写的激励脚本也相对容易。
图6 时序仿真波形
4 结束语
利用可编程逻辑器件(FPGA/CPLD)可以很方便地实现数字系统设计,而在ALTERA的Quartus II软件平台和ModelSim仿真平台下,
FPGA设计的各个阶段都得到了很好的支持,两者的有效结合使得数字系统的设计更加方便快捷。
基于FPGA器件的VGA显示控制模块可以实现VGA显示的各项功能。其性能取决于Verilog代码的编写和Quartus II软件工具的综合优化的结果。
参考文献
[1] 谢磊.基于FPGA的VGA图像控制器的设计
与实现[J].新乡学院学报:自然科学版,2009, 26(6):51-53.
[2] 张亚平,贺占庄.基于FPGA的VGA显示模块
设计[J].计算机技术与发展,2007,17(6):242-245.
[3] 杨金.基于FPGA的VGA游戏设计[J].数字技术
与应用,2012(4):171-172.
[4] 段磊.基于FPGA的VGA显示系统[J].世界电子
元器件,2007(9):102-105.
[5] 夏宇闻,胡燕祥,刁岚松.Verilog HDL数字设计
与综合[M].2版.北京:电子工业出版社,2011.
(下转第71页)
京:高等教育出版社,1998.
[5] 吴运昌.模拟集成电路原理与应用[M].广州:
华南理工大学出版社,1995.
[6] Paul M.Brown,Jr.A Guide to Analong
ASICs[M].Academic Press ,Inc,San
Diego,1992.
[7] Paul Horowitz,Winfield.The Art of
Electronics[M],2nd ed,Cambridge University
图7 RL取7-301Ω,间隔约7Ω时,电流的波动
Press,1989.
[8] Thomas L.Floyd . Electronic Devices[M].5th
ed,Prentice-Hall Inc,New Jersey,1999.[9] 赵学泉.电源电路[M].北京:电子工业出版
社,1995.
[10] 杨世成.信号放大电路[M].北京:电子工业
出版社,1995.
[11] 彭介华.电子技术课程设计指导[M].北京:
图8 RL在7-580Ω,间隔约50Ω
时,电流的波动
参考文献
[1] 北京电子报社.北京电子报合订本[M].北京:
北京电子报社,1990:79-88.
[2] M.普兰特.电子爱好者读本[M].北京:科学
普及出版社,1983:195-197.
[3] 吴润宇.实用稳定电源[M].北京:人民邮电
出版社,1994.
[4] 童诗白,华成英.模拟电子技术基础[M].北
(上接第32页)
高等教育出版社,2000.
[12] 李青山.集成电子技术原理与工程应用[M].
哈尔滨:哈尔滨工业大学出版社,1991.作者简介:
米卫卫,硕士研究生,研究方向:计算机测控系统与技术E-mail:miweiweisky@http://www.77cn.com.cn
[6] 秦庆磊,张昌州.基于FPGA控制VGA显示的双
通道数字示波器[J].科技信息,2011(30):120.[7] 求是科技.FPGA数字电子系统设计与开发实
例导航[M].北京:人民邮电出版社,2005.[8] 时为.异步串行数字收发通信端口(UART)的
ModelSim仿真[J].扬州教育学院学报,2006,
24(3):52-54.作者简介:
姜世杰,在读硕士研究生,主要研究方向为图像处理与识别。E-mail:jiangshijie1@http://www.77cn.com.cn
正在阅读:
基于FPGA的VGA接口驱动技术08-30
航空货物运输练习二06-03
房屋租赁合同及屋内物品设施清单05-05
道路技术标1 - 图文10-09
物理学II习题答案02-01
影评写作案例12-08
总经理年度履职情况述职报告09-27
绩效面谈和改进计划表11-08
详细中外劳务合同模板04-24
爸爸我爱你作文800字07-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 接口
- 基于
- 驱动
- 技术
- FPGA
- VGA
- 比较压强与压力大小的方法
- 消防安全新闻稿件
- 三年级课文填空练习
- 2013年安徽省委党校在职研究生入学考试复习题范围
- 中国歧化松香行业市场前景分析预测年度报告(目录)
- 工伤纠纷损害赔偿案例分析
- 2018年中国联网广告市场研究及发展趋势预测(目录)
- C++ Primer中文版(第4版)(一本久负盛名的C++经典教程)
- 电子测量原理习题 第七章-信号波形测量
- 电动阀门选型手册
- 全球十大酒店集团及旗下品牌
- 2014年4月江苏省高等教育自学考试历年试题27884人力资源管理(含答案)
- 塔式起重机安装拆卸技术交底
- 70D拍摄技巧
- 2015-2020年中国蒸压矿渣瓦行业市场调查及投资运行态势报告
- 热敏电阻R25℃=100k±1% B值25-50=3950NTC温度阻值计算RT表
- 2018_2019学年高中物理第一章静电场第1节电荷及其守恒定律课时作业新人教版
- 第二章 线性系统的数学模型
- 淘宝违规处罚考试节 户外登山野营涉水用品类目下,以下放错类目发布的宝贝是
- 食品添加剂及食品安全论文