- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                集成电路课程设计报告-基于FPGA实现VGA彩条信号发生器设计
                    
集成电路课程设计报告
                  
                     ——VGA 彩条发生器设计 
1. 利用 FPGA 实现 VGA 彩条信号发生器.
2. 可以产生彩色横条, 彩色竖条信号, 彩色棋盘格信号.
3. 由一个按键按照顺序选择不同模式的信号输出.
4. 选用 GW48-PK2系统, 编写程序在 FPGA 上实现并加以验证.
 GW48-PK2实验箱,以及一个显示器。
课程设计原理
VGA显示原理
   VGA(Video Graphics Array) 作为一种标准的显示接口得到了广泛的应用。文中基于标准VGA模式来实现。工业标准的VGA 显示模式为:640 ×480 ×16 ×60。常见的彩色显示器一般由阴极射线管(CRT) 构成,彩色由GRB(Green Red Blue) 基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB 基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT 对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。
VGA信号时序
一帧屏幕的显示是由600行从上至下扫描,800列从左至右填充(这也是为什么每当电脑几乎要当机的时候,视屏显示从上之下的延迟扫描)然而微观上,一行的行扫描是由超过800个列填充完成,一帧图像超过600行扫描。实际上是VGA的时序在作怪。
上图是有关 HSYNC 和 VSYCNC 的时序图,以 800 x 600 x 60Hz 为例,信息如下:
800X600X50HZ	a段	b段	c 段	d  段	e 段总共n个列像素		HSYNC Signal
   列像素	
  128	
  88	
  800	
  40	
  1056		800X600X50HZ	o 段	p 段	q 段	r 段	s段总共n个行像素		VSYNC Signal
  行像素	
  4	
  23	
  600	
  1	
   628		
HSYNC Signal 是用来控制“列填充”, 而一个HSYNC Signal 可以分为 4个段,也就是 a (同步段) , b(后肩段),c(激活段),d(前肩段)。HSYNC Signal 的a 是拉低的128 个列像素 ,b是拉高的88个列像素,至于c 是拉高的 800 个列像素,而最后的 d 是拉高的40 个列像素。 一列总共有1056 个列像素。
VSYNC Signal 是用来控制“行扫描”。而一个 VSYNC Signal 同样可以分为 4 个段, 也是 o (同步段) , p(后肩段),q(激活段),r(前肩段)。VSYNC Signal 的o 是拉低的4个行像素 ,p是拉高的23 个行像素,至于q 是拉高的 600 个行像素,而最后的 r 是拉高的 1 个行像素。 一行总共有628 个行像素。
“一个行像素”是以“列像素为单位”来定义(以 800 x 600 x 60Hz 为例)如下所示 :
1个行像素 = 1056个列像素。
而“一个列像素”是以“时间位单位”来定义(以 800 x 600 x 60Hz 为例),如下所示:
1个列像素 = 25 ns。
1个行像素 = 1056个列像素 = 1056 x 25ns = 2.64us。
(以 800 x 600 x 60Hz 为例)上述内容读者可以发现一个事实,要完成一行的扫描,需要 1056 个列像素,也就是说需要 1056 x25ns的时间。如果要完成所有行的扫描的话,需要628 x 1056 x 25ns 的时间。很遗憾的是,不是所有时间都用来显示图片,有一部分的时间是用来同步操作。
而HSYNC Signal 只有在的C段 和VSYNC Signal 的 q 段的激活段,数据的输入才有效。
V GA 彩条信号产生
  彩条信号产生模块包括了彩条模式控制、竖彩条发生、横彩条发生和棋盘格发生三个模块。彩条模式控制可以用一个控制端口来实现。竖彩条发生模块根据行点数器h_cnt 的计数值来产生彩条,横彩条发生模块根据列点数器v_ cnt 的计数值来产生彩条,棋盘格的彩条就可以用横彩条和竖彩条异或来得到。
课程设计源代码
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY COLOR IS
   PORT(CLK,MD:IN STD_LOGIC;
      HS,VS,R,G,B:OUT STD_LOGIC)
                 原创力文档
原创力文档 
                        

文档评论(0)