082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx

上传人:b****8 文档编号:11208767 上传时间:2023-02-25 格式:DOCX 页数:13 大小:285.66KB
下载 相关 举报
082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx_第1页
第1页 / 共13页
082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx_第2页
第2页 / 共13页
082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx_第3页
第3页 / 共13页
082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx_第4页
第4页 / 共13页
082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx

《082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx》由会员分享,可在线阅读,更多相关《082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx(13页珍藏版)》请在冰豆网上搜索。

082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告.docx

082327孙东晖基于FPGA的VGA显示器检测接口设计中期报告

河北工业大学本科毕业设计(论文)中期报告

毕业设计(论文)题目:

基于FPGA的VGA显示器检测接口设计

专业(方向):

通信工程

学生信息:

学号:

082327姓名:

孙东晖班级:

通信082

指导教师信息:

姓名:

王杨职称:

副教授

报告提交日期:

2012年4月22日

一、课题简介

FPGA是整个系统的核心,通过对其编程可输出红、绿、蓝三基色信号和HS、VS行场扫描同步信号。

当FPGA接受输出的控制信号后,内部的数据选择器模块根据控制信号选择相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过VGA接口电路送入显示器,在VGA显示器上便可看到对应的彩色图像。

二、系统原理

显卡所处理的信息最终都要输出到显示器上,显卡的输出接口就是电脑与显示器之间的桥梁,它负责向显示器输出相应的图像信号。

CRT显示器因为设计制造上的原因,只能接受模拟信号输入,这就需要显卡能输出模拟信号。

VGA接口就是显卡上输出模拟信号的接口,VGA(VideoGraphicsArray)接口,也叫D-Sub接口,上面共有15针孔,分成三排,每排五个。

其中,除了2根NC(NotConnect)信号、3根显示数据总线和5个GND信号,比较重要的是3根RGB彩色分量信号和2根扫描同步信号HSYNC和VSYNC针。

VGA接口中彩色分量采用RS343电平标准,RS343电平标准的峰峰值电压为1V。

图1VGA接口示意图

表1VGA接口针孔功能表

引脚

名称

注释

引脚

名称

注释

1

RED

红基色

9

KEY

保留

2

GREEN

绿基色

10

SGND

同步信号地

3

BLUE

蓝基色

11

ID0

显示器标志位0

4

ID2

显示器标志位2

12

ID1

显示器标志位1

5

GND

13

HSYNC

行同步

6

RGND

红色地

14

VSYNC

场同步

7

GGND

绿色地

15

ID3

显示器标志位3

8

BGND

蓝色地

根据分辨率和刷新频率的不同,显示模式的发展可分为:

VGA(640×480像素);SVGA(高级VGA,800×600像素);XGA(可扩展图形阵列,1024×768像素)。

常见的彩色显示器一般都是由CRT(阴极射线管)构成,每一个像素的色彩由红、绿、蓝三基色构成。

显示时采用的是逐行扫描的方式。

由VGA显示模块产生的水平同步信号和垂直同步信号控制阴极射线管中的电子枪产生电子束,轰击涂有荧光粉的屏幕,产生红、绿、蓝三基色,于显示屏上合成一个彩色像素点。

电子束扫描一幅屏幕图像上的各个点的过程称为屏幕扫描。

现在显示器都是通过光栅扫描方式来进行屏幕扫描。

在光栅扫描方式下,电子束按照固定的路径扫过整个屏幕,在扫描过程中通过电子束的通断强弱来控制电子束所经过的每个点是否显示或显示的颜色。

电子枪在VGA显示模块产生的行同步、场同步等控制信号的作用下进行包括水平扫描、水平回扫、垂直扫描、垂直回扫等过程。

光栅扫描的路径通常为:

从上到下扫过每一行,在每一行中从左到右地进行扫描。

其过程如下:

电子束从屏幕左上角开始向右扫,当到达屏幕的右边缘时,电子束关闭(水平消隐),并快速返回屏幕左边缘(水平回扫),然后在下一条扫描线上开始新的一次水平扫描。

一旦所有的水平扫描均告完成,电子束在屏幕的右下角结束并关闭(垂直消隐),然后迅速返回到屏幕的左上角(垂直回扫),开始下一次光栅扫描。

彩条要想在显示器上显示出来,它主要需要5个信号,行同步信号HS、场同步信号VS和RGB三基色信号。

VGA时序控制模块是整个显示控制器的关键部分,最终输出的行、场同步信号必须严格按照VGA时序标准产生相应的脉冲信号。

对此5个信号的时序驱动,VGA显示器也要严格遵守“VGA工业标准”,即640×480×60Hz模式,否则会损害VGA显示器。

VGA工业标准要求的频率是:

时钟频率:

25.175MHz(像素输出的频率)

行频:

31469Hz

场频:

59.94Hz(每秒钟图像刷新的频率)

VGA工业标准显示模式要求:

行/场同步都为负极性,即同步头脉冲要求是负脉冲。

下图所示是计算机VGA(640×480,60Hz)图像格式的信号时序图,其点时钟CLK为25.175MHz,场频为59.94Hz。

图中,Vsync为场同步信号,场周期Tv为16.683ms,每场有525行,其中480行为有效显示行,45行为场消隐期。

场同步信号VS每场有一个脉冲,该脉冲的低电平宽度Ta为2行。

场消隐期包括场消隐前肩10行、场消隐后肩33行,共45行。

表2场扫描时序要求

场扫描的时序(单位:

像素)

场同步

场消隐后肩

场图像

场消隐前肩

场周期

Ta

Tb

Tc

Td

Te

Tf

Tg

2

25

8

480

8

2

525

490-491

492-524

0-479

480-489

图2VGA场扫描时序图

每显示行包括800点,其中640点为有效显示 区,160点为行消隐期(非显示区)。

行同步信号HS每行有一个脉冲,该脉冲的低电平宽度Ta为96个CLK;行消隐期包括行消隐前肩16个CLK和行消隐后肩48个CLK,共160个点时钟。

复合消隐信号是行消隐信号和场消隐信号的逻辑与,在有效显示期复合消隐信号为高电平,在非显示区域它是低电平。

表3行扫描时序要求

行扫描的时序(单位:

像素)

行同步

行消隐后肩

行图像

行消隐前肩

行周期

Ta

Tb

Tc

Td

Te

Tf

Tg

96

40

8

640

8

8

800

656-751

752-799

0-639

640-655

 

图3VGA行扫描时序图

由RGB三种基色可组合出任意所需要的颜色。

其不同组合能产生的颜色如表4所示。

表4VGA显示颜色编码表

颜色

绿

R

0

0

1

1

0

0

1

1

G

0

0

0

0

1

1

1

1

B

0

1

0

1

0

1

0

1

三、设计过程

1、系统模块图

图4系统设计实现框图

2、程序设计流程图

 

图5程序流程图

3、具体程序设计

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entityvgais

port(clk,reset:

instd_logic;

rgb:

outstd_logic_vector(2downto0);

hsync,vsync:

outstd_logic;//行、场同步信号

row:

outstd_logic_vector(9downto0);//有效显示行

column:

outstd_logic_vector(9downto0));//有效显示列

endvga;//定义输入输出端口

architecturesyntofvgais

signalrgbs:

std_logic_vector(2downto0);

signalhcount,vcount:

std_logic_vector(9downto0);

signalh_count:

integerrange0to800:

=0;

signalv_count:

integerrange0to525:

=0;

begin

hcounter:

process(clk,reset)

begin

ifreset='1'

thenhcount<=(others=>'0');//复位信号有效像素计数置零

elseif(clk'eventandclk='1')

thenifhcount=799

thenhcount<=(others=>'0');//到最大数值置零

elsehcount<=hcount+1;//否则加一

endif;

endif;

endif;

endprocess;

process(hcount)

begin

column<=hcount;//有效显示列赋给column

ifhcount>639

thencolumn<=(others=>'0');//超出有效显示区赋零

endif;

endprocess;

vcounter:

process(clk,reset)

begin

ifreset='1'

thenvcount<=(others=>'0');//复位信号有效行计数置零

elseif(clk'eventandclk='1')

thenifhcount=799

thenifvcount=524

thenvcount<=(others=>'0');//行计数最大置零

elsevcount<=vcount+1;//否则行计数加一

endif;

endif;

endif;

endif;

endprocess;

process(vcount)

begin

row<=vcount;//有效显示行赋给row

ifvcount>479

thenrow<=(others=>'0');//超出有效显示区赋零

endif;

endprocess;

sync:

process(clk,reset)

begin

ifreset='1'

thenhsync<='0';

vsync<='0';

elseif(clk'eventandclk='1')

thenif(hcount<=751andhcount>=656)

thenhsync<='0';

elsehsync<='1';//行同步信号产生

endif;

if(vcount<=491andvcount>=490)

thenvsync<='0';

elsevsync<='1';//场同步信号产生

endif;

endif;

endif;

endprocess;

colors:

process(clk,reset)

begin

h_count<=CONV_INTEGER(hcount);

v_count<=CONV_INTEGER(vcount);//二进制计数转化成十进制整数

ifreset='1'

thenrgbs<="000";//复位信号有效屏幕颜色为黑

elsif(h_count>=0)and(h_count<=639)then

casev_countis

when0to59=>rgbs<="011";

when60to119=>rgbs<="000";

when120to179=>rgbs<="100";

when180to239=>rgbs<="010";

when240to299=>rgbs<="001";

when300to359=>rgbs<="111";

when360to419=>rgbs<="110";

when420to479=>rgbs<="101";//屏幕显示八个横彩条

whenothers=>rgbs<="000";//非有效显示段为黑色

endcase;

elsergbs<="000";

endif;

rgb<=rgbs;//颜色控制信号赋给输出

endprocess;

endsynt;

4、仿真结果及说明

图6有效显示列的赋值

图7每行像素计数最大值为799

输入为时钟信号CLK,输出为像素计数值hcount,及有效显示区的每行的像素(列)数column。

每行的像素计数小于等于639时,属于有效显示区,将值赋给column。

每行的像素计数超过639时,属于非有效显示区,column赋值为0。

每行最大的像素计数为799,之后置零开始下一行计数。

图8有效显示行的赋值

图9行计数最大值为524

输入为时钟信号CLK,输出为行计数值vcount,及有效显示区的行数row。

行计数小于等于479时,属于有效显示区,将值赋给row。

行计数超过479时,属于非有效显示区,row赋值为0。

行最大的计数值为524,之后置零开始下一次屏幕扫描行计数。

图10行同步信号产生

图11行同步信号产生

图10和图11中输入为时钟信号和复位信号,输出为行同步信号hsync,场同步信号vsync以及每行的像素计数器hcount。

每行的656-751像素计数区间产生行同步信号。

图12场同步信号产生

图12中输入为时钟信号和复位信号,输出为行同步信号hsync,场同步信号vsync以及行计数器vcount。

行计数490-491区间产生场同步信号。

图13彩条显示

图14彩条显示

图13和图14中输入为时钟信号和复位信号,输出为行同步信号hsync,场同步信号vsync,每行的像素计数器hcount,行计数器vcount以及屏幕显示颜色控制信号rgb。

不同的行区间显示不同的横彩条,每60行显示一种颜色,行与行之间的非显示有效区赋值为黑色,共有八种颜色,依次为青、黑、红、绿、蓝、白、黄、紫。

图14是青色和黑色,图15是红色和绿色,为了简洁,其它颜色没有截图显示在这里。

五、进一步需要解决的问题

多阅读相关文献资料,进一步完善软件部分的设计,通过观察运行出的图形及数据,能更加直观的认识VGA显示器的工作原理。

六、后期工作安排

继续研究课题,使设计更加完善。

对该课题进行分析整理,完成毕业论文,准备答辩。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1