关键词不能为空

当前您在: 主页 > 英语 >

VGA 图像显示控制器设计报告

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-02 13:12
tags:

-

2021年2月2日发(作者:ceramic)



《电子设计自动化》




课程设计





题目:




(



)




年级:



班级:



姓名:



学号:



VGA


图像显示控制器











































































指导老师:

















- 1 -


摘要:


本文介绍了一种利用可编程逻辑器件实现


VGA


图像显


示控制的方法,阐述了


VGA


图像显示控制器中


VGA


显像的


基本原理以及功能演示,利用可编程器件


FPGA


设 计


VGA



像显示控制的


VHDL


设计方案,并在


Altera


公司的


QuartusII


软件环境下完成


VGA


模块的设计。而且给出了


VGA


模块的


设计思路和顶层逻辑框图。最终实现


VG A


图像显示控制器,


VGA


图像控制器 是一个较大的数字系统,传统的图像显示的


方法是在图像数据传输到计算机,并通过显示 屏显示出在传


输过程中,将图像数据的


CPU

< br>需要不断的信号控制,


所以造



CPU


的资源浪费,系统还需要依靠计算机,从而减少了系


统的 灵活性。


FPGA


芯片和


EDA


设计方法的使用,可根据用


户的需求,


为设计 提供了有针对性的


VGA


显示控制器,


不需


要依靠计算机,它可以大大降低成本,并可以满足生产实践


中不断改变的需要,产品的升级换代和方便迅速。





- 2 -



目录



设计思路


....................... .................................................. ....................


-


1 -



一、



系统设计


....................... .................................................. ..


-


1 -



1.



设计要求


....................... .................................................. ..


-


1 -



2.



设计方案


....................... .................................................. ..


-


1 -



二、



单元电路设计



.

................................................ ...................


-


2 -



1.



VGA


显示控制模块



.


.................................. .........................


-


3 -



2.



数据存储模块



.

................................................ ...................


-


7 -



3.



锁相环模块



.


................................................. ......................


-


8 -



三、



软件设计


....................... ..................................................


-


10 -



1.



VHDL


语言



.


..................................... ..................................


-


10 -



2.



Quartus II


简介



.


.................................................. ..............


-


11 -



3.



硬件开发工具



.

................................................ .................


-


12 -



四、



硬件验证


....................... ..................................................


-


14 -



附录



.


.. .................................................. ..............................................


-


15 -



1.



程序


.................................................. ...............................


-


15 -



2.



仪器设备名称型号



........ ..................................................


-


17 -



3.



系统的性能指标



.

< br>............................................... ..............


-


18 -




- 3 -



设计思路



一、



系统设计



1.



设计要求



通过


VGA


接口在显示器显示彩色图像,


BMP


格式,像素


640


×


480

< p>



2.



设计方案



运行时,从


FPGA


内部存储器读取显示数据。若需存储较大数据时,可将像素点


数据存储于


FPGA


内部的

EAB


RAM



外部

< p>
ROM



RAM


中。


如果是


FPGA


内部的

LPM_ROM



可以设置成含有


3


位数据线的模块,如果用外部的


12


数据线的


ROM/RAM


,一个


字节存 储两个相邻像素,


每个像素是


3


位彩色 数据。


将图像控制模块分为这样几


部分;分频电路、

< p>
VGA


时序控制模块、图像数据存储器读出模块


.


原理图下图所



:

(注:最终是用


VHDL


文件实现,此原理图只做模块示意 使用。







1


其中 ,


VGA


时序控制模块用于产生


640 *480


显示范围,并控制显示范围和消隐范


围以及产生水平同 步时序信号


HS


和垂直同步时序信号


V S


的值,同时产生一个


ROM


地址,用 于读取所存数据;


ROM


模块为


FPG A


内部


LPM_ROM


,数据线


3


根,地


址线为


32 768


根,用于存储分辨率为


160*120

< br>的图像信息;分频器调用锁相环,


产生


VGA

< p>
显示器所需的


25M


赫兹频率。

< br>


考虑到所采用的硬件平台没有足够的空间存储


640* 480*3bit


数据,所以采


用插值法以实现设计要求。


具体实现为存储


160*120


的图像数据 ,


使用缩放的方


- 1 -



法将图像放大。


该方案是在硬件存储条件有限的情况下所采用的设计方 案,


若存


储空间足够,


则完全可以采用 数据线为


3



地址线为


307200



640*480




LPM_ROM


存储像素信息。



二、



单元电路设计



本系统所使用的模块可 分为四块,


顶层文件,


分别为


VGA< /p>


控制模块,


数据存储模


块,锁相环模块。 下文依次介绍。



1




顶层文件



LIBRARY IEEE;


USE _LOGIC_;


ENTITY VGAV IS


PORT (CLK20MHZ: IN STD_LOGIC;


HS,VS,R,G,B:OUT STD_LOGIC;


C:OUT STD_LOGIC);


END VGAV;


ARCHITECTURE MODELSTRU OF VGAV IS


COMPONENT VGA640480


PORT(CLK:IN STD_LOGIC;


RGBIN:IN STD_LOGIC_VECTOR(2 DOWNTO 0);


HS,VS,R,G,B:OUT STD_LOGIC;


HOUT:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);


VOUT:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));


END COMPONENT;


COMPONENT IMGROM


PORT(



clock:IN STD_LOGIC;


address:IN STD_LOGIC_VECTOR(14 DOWNTO 0);


q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));


END COMPONENT;


COMPONENT PLL50


PORT (inclk0: IN STD_LOGIC;


c0



: OUT STD_LOGIC);


END COMPONENT;



SIGNAL RGB:STD_LOGIC_VECTOR(2 DOWNTO 0);


SIGNAL CLK25MHZ:STD_LOGIC;


SIGNAL ROMADDR:STD_LOGIC_VECTOR(14 DOWNTO 0);


SIGNAL HPOS,VPOS:STD_LOGIC_VECTOR(9 DOWNTO 0 );


BEGIN


- 2 -



ROMADDR<=VPOS(8 DOWNTO 2)&HPOS(9 DOWNTO 2);


C<=CLK25MHZ;


I_PLL50:PLL50 PORT MAP(inclk0=>CLK50MHZ,c0=>CLK25MHZ);


I_VGA640480:VGA640480


PORT < /p>


MAP(CLK=>CLK25MHZ,RGBIN=>RGB,HS=>HS,VS=> VS,R=>R,G=>G,B=>B,HOUT=>HPOS,


VOUT=>VPOS );


I_IMGROM:IMGROM PORT MAP(clock=>CLK25MHZ,address=>ROMADDR,q=>RGB);


END MODELSTRU;


采用地址并用的方法,将


160*120


的图像放大到


640*48 0




2




VGA


显示控制模块



对于普通的


VGA


显示器,其引线共含


5


个信号,即三基色信号


R G B;


行同


步信号


HS


和场同步信号


VS






2




显示器扫描方式分为逐行扫描和隔行扫描:

< br>逐行扫描是扫描从屏幕左上角一点开


始,从左像右逐点扫描,每扫描完一行


,


电子束回到屏幕的左边下一行的起始位


置, 在这期间,


CRT


对电子束进行消隐,每行结束时,用行同步信 号进行同步;


当扫描完所有的行,


形成一帧,

< br>用场同步信号进行场同步,


并使扫描回到屏幕左


上方,同 时进行场消隐


,


开始下一帧。隔行扫描是指电子束扫描时每隔一 行扫一


线,


完成一屏后在返回来扫描剩下的线,


隔行扫描的显示器闪烁的厉害,


会让使


用者的眼睛疲劳 。



完成一行扫描的时间称为水平扫描时间,

< br>其倒数称为行频率;


完成一帧


(整


屏)扫描的时间称为垂直扫描时间,其倒数称为场频率,即刷新一屏的频率,常


见的有


60Hz



75Hz

< br>等等。标准的


VGA


显示的场频


60Hz,


行频


31.5KHz




行场消隐信号


:


是针对老式显像管的成像扫描电路而言的。电子枪所发出的


电子束从屏幕的左上角开始向 右扫描,


一行扫完需将电子束从右边移回到左边以


- 3 -



便扫描第二行。


在移动期间就必须有 一个信号加到电路上,


使得电子束不能发出。


不然这个回扫线会 破坏屏幕图像的。


这个阻止回扫线产生的信号就叫作消隐信号


,


场信号的消隐也是一个道理。



显示带 宽


:


带宽指的显示器可以处理的频率范围。如果是


60Hz


刷新频率的


VGA,


其带宽达


640x480x60=18.4MHz,70Hz


的刷新频率


1024x768


分辨率的


SVGA,


其带宽达


1024x768x70=55.1MHz




时钟频率:以

640x480@59.94Hz(60Hz)


为例,每场对应

525


个行周期


(525=10+2+480+33),< /p>


其中


480


为显示行。每场有场同步信号


,


该脉冲宽度为


2


行周期的负脉冲,


每显示行包括


800


点时钟


,


其中

< br>640


点为有效显示区


,


每一行 有


一个行同步信号,该脉冲宽度为


96


个点时钟。由此可知:行频为


525*59.94=31469Hz,

< br>需要点时钟频率:


525*800*59.94



25MHz


逐行扫描轨迹如下图:






3




VGA


的工业标准




VESA


中定义行时序和场时序都需要同步脉冲(


Sync


a


)、显示后沿(


Back


porch


b


)、显示时序段(


Display


interval


c


)和显示前沿(


Front


porch


d


)四部分。

< p>
VGA


工业标准显示模式要求:行同步,场同步都为负极性,即同步脉冲要 求是负


脉冲。



VGA


的行时序可知:没一行都有一个负极性行同步脉冲(


Sync


a


),是数


据行的结束标志 ,


同时也是下一行的开始标志。


在同步脉冲之后为显示后沿



Back


porch b


),在显示时序段(


Display interval c


)显示器为亮的过程,


RGB



据驱动一行上的每一个像素点,


从而显示一行。


在一行的最后为显示前沿



Front


porch d


)。在显示时间段(


Display interval c


)之外没有图像投射到屏幕是


插入消隐信号。

< br>同步脉冲


(Sync


a)


、< /p>


显示后沿



Back


porch


b


和显示前沿



Front


porch d


)都是在行消隐间隔内


(Horizontal Blanking Interval)


,当消隐有效


时,


RGB


信号无效,屏幕不显示数据。



- 4 -



VGA


的场时序与行时序基本一样,每一帧的负极性脉冲(


Sync


a


)是一帧的


结束标志,同时也是下一帧的开始标志。 而显示数据是一帧的所有行数据。






4



上图中的时间段如下:


这四个时期定义如下:




5




这八个时期定义如下:



A~B


:行消隐期



即同步,相当于还原扫描坐标吧



B~C


:行消隐后肩



相当于准备开始扫描吧



C~D


:行显示期



扫描中,数据有效区域



D~E


:行消隐前肩



完成扫描,相当于准备同步



O~P


:场消隐期



即同步,相当于还原扫描坐标吧



P~Q


:场消隐后肩



相当于准备开始扫描吧



Q~R


:场显示期



扫描中,数据有效区域



R~S


:场消隐前肩



完成扫描,相当于准备同步




以下是行扫描,场扫描


HS



VS


时序图:



- 5 -






6



如上图所示:

VGA


一直在扫描,每一场的扫描包括了若干行扫描,反复循


环。且在


640*480@60Hz


的标准下,每秒需要输出


25.175M


像素,即每秒


输出


31469


行,也即每秒输出


60


张图。其工业标准如下图所示:







7



此部分代码见附录。原理图如下:





8


- 6 -



3




数据存储模块



数据存储模块调用


LPM_ROM


模块。具体设置如下:






9 < /p>


该模块用于存储图像数据。数据位宽为


3


,地址线为


32768.


原理图如下:






10



存储与该


ROM


的图像数据原为


BMP


格式,为使其可以存储于


ROM


内部,需


要使用软件将信息转换。本实验使用


3


位数据存储颜色信息,因此仅能显示


8


中颜色,具体对应关系如下表所示:



表格



1


R


0


0


0


0


1


1


1


G


0


0


1


1


0


0


1


B


0


1


0


1


0


1


0


- 7 -



颜色







绿










-


-


-


-


-


-


-


-



本文更新与2021-02-02 13:12,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/599979.html

VGA 图像显示控制器设计报告的相关文章