欢迎来到天天文库
浏览记录
ID:33684720
大小:90.50 KB
页数:5页
时间:2019-02-28
《vhdl实现vga接口设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VHDL实现VGA接口设计1、 输入信号clk:时钟(每个象素点的显示时钟)reset:复位信号2、 输出信号vga_hs_control:行同步vga_vs_control:场同步;vga_read_dispaly:红vga_green_dispaly:绿vga_blue_dispaly:蓝3、 技术参数clk:24Mhs:30KHZvs:57.14HZ 设计原理VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用,一般有专用芯片,本实验采用FPGA(现场可编程门阵列)设计VGA接口可以将要显示的数据直接送到显示器,节省了计算机的处
2、理过程,加快了数据的处理速度,节约了硬件成本。显示适配器有多种形式,它可按照所符合的视频显示标准来分类,业界制定了多种显示标准,从最初的MDA经历了CGA,EGA,VGA,XGA,SVGA等的发展过程。与相应的显示适配器标准相配的显示器也称之为EGA,VGA,XGA显示器等。实际上显示器的标准主要反映在它们的接口,显示功能和行,场工作频率上。CRT显示器的扫描方式(1) 当栅扫描方式从上向下依次顺序扫描完一场称逐行扫描。一行用行频控制(hs),一场用场频控制(vs)。扫完一行回来叫行消隐,扫完一场回来叫场消隐(2) 随机扫描方式VGA接口标准时钟
3、频率:25.175MHz(像素输出的频率);行频:31.469Hz;场频:59.94Hz。 设计VGA设计VGA图像显示控制需要注意两个问题L2]:一个是时序的驱动,这是完成设计的关键,时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器;另一个是VGA信号的电平驱动。显示控制器设计提示:显示器技术规格提供的行频一般在30kHz45kHz(保守数据),场频一般在50Hz~75Hz(保守数据)。针对以上保守数据,设计分辨率为640x480的显示接口(如图4所示),以30kHz的行频进行扫描时所需时钟频率为:30kHz×800(行周期)=24MHz,则场频为:
4、30kHz÷525(场周期)=5.14Hz。本实验实现在显示器上显示彩条的设计,初始时时GRB=“000”,用一记数器过一段时间使R取反,即变为红色。这样就有黑、红彩条了。黑蓝红品绿青黄白RGB000011110011001101010101 实验验证1、仿真时序图2、验证平台及芯片Xilinx公司的XilinxProjectNavigate下载芯片为:XilinxSparan2/xsc200 小结1、 技术难点显示器显示原理、VGA接口原理的理解2、设计技巧3、不足或改进措施不足:功能单一(彩条显示)改进:添加字符显示、图象显示、图形显示模块 参考
5、资料1蒋本珊.计算机组成原理与系统结构北京航空航天大学出版社p192-p1982陈姚节卢建华.基于FPGA的VGA显示接口的研究与设计 源程序libraryieee;useieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityvgaisport(reset:instd_logic;clk:instd_logic;vga_hs_control:outstd_logic;vga_vs_control:outstd_logic;vga_
6、read_dispaly:outstd_logic;vga_green_dispaly:outstd_logic;vga_blue_dispaly:outstd_logic);endvga;ARCHITECTUREaOFvgaISSIGNALhs:STD_LOGIC;SIGNALvs:STD_LOGIC:='1';SIGNALGRB:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(clk)--clk=24MHZhs=30Khzvs=57hzVARIABLEi:integerrange0to799:=0;VARIABLEj:
7、integerrange0to79:=0;BEGINifreset='1'thenGRB<="000";i:=96;j:=0;hs<='1';elsifclk'eventandclk='1'thenifi<96thenhs<='0';elsifi=799theni:=0;elsehs<='1';endif;ifj=79thenGRB(1)<=notGRB(1);j:=0;endif;i:=i+1;j:=j+1;endif;vga_hs_control<=hs;ENDPROCESS;PROCESS(hs)VARIABLEk:integerrange0to5
8、24:=0;BEGINifreset='1'thenk:=2;vs<='1';e
此文档下载收益归作者所有