
vga接口显示器显示汉字设计.doc
17页1信息科学与工程学院EDA 课程设计报告VGA 接口显示器显示汉字设计组员姓名:班 级:指导老师:时间:2目录摘要 ....................................................................................................................3一、设计任务: ...................................................................................................3二、VGA 显示原理: ...........................................................................................3VGA 的颜色编码: ........................................................................................5三、设计方案: ...................................................................................................5四、调试过程: ...................................................................................................6五、VGA 显示功能图: ........................................................................................61 顶层模块: .................................................................................................82 分频模块: .................................................................................................83 点阵模块: .................................................................................................94 时序控制模块: ........................................................................................13八、改进方向: .................................................................................................16总结 ..................................................................................................................17参考文献 ...........................................................................................................173摘要由于 FPGA 芯片具有可靠性高、编程灵活、体积小等优点,采用其控制 VGA 接口进行汉字显示,有效地解决了通用处理器控制 VGA 接口显示汉字的缺点。
关键词:显示绘图陈列;现场可编程门陈列;VGA 汉字显示一、设计任务:使用 VGA 接口显示器显示汉字,此次演示显示“中国”两个字二、VGA 显示原理:VGA 的汉字显示是利用 VGA 显示的原理,使用正确的时序信号对 VGA接口相应的管脚进行控制输出 RGB 颜色信息来显示相应的字符信息其中 VGA显示原理及时序信号的控制必须遵循 VGA 的工业标准显示处理前端中的SRAM 中存储的每一位数据对应相应 LCD 显示屏上一个像素点的亮和灭,“1”表示亮,“0” 表示灭在显示设备上显示汉字也就是按照汉字的点阵图向显示器上输出 1 或 0 的高低电平,从而在显示器上显示出具体的汉字 常见的彩色显示器,一般由 CRT(阴极射线管)构成,彩色是由G、R 、B(绿: Green,红:Red ,蓝:Blue)三基色组成显示是用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生 GRB三基色,合成一个彩色像素扫描从屏幕的左边下一行的起始位置,在这期间,CRT 对电子束 进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行行场消隐,预备下一场的扫描。
对于普通的 VGA 显示器,其引出线共含 5 个信号: G、R、B:三基色信号:HS:行同步信号;VS:场同步信号4对于 5 个信号的时序驱动,对于 VGA 显示器要严格遵循 “VGA 工业标准”,即 640X480X60HZ 模式通常我们用显示器都满足工业标准,因此我们设计 VGA 控制时要参考显示器的技术规则上述描述了行场扫描的时序要求:扫描的时候从屏幕的左上方开始,从左到右,从上到下进行扫描,每次扫完一行时候,电子束回到屏幕左边开始进行下一行的扫描,在这个期间中,CRT 会对电子束进行行消隐,从行同步头开始扫描,每行结束后,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时行场消隐,预备下一场的扫描所以时钟的频率为行场周期乘上频率 525*800*60Hz 约 25MHz,行频为525*60=31.5KHz,其中 60Hz 表示场频率VGA 工业标准所要求频率:时钟频率(Clock frequency):25.175MHz(像素输出频率);行频(Line frequency ):31469Hz;场频(Field):59.94Hz( 每秒图像刷新频率);5VGA 的颜色编码:三、设计方案:FPGA 芯片作为中央控制器控制整个系统的处理,根据自顶向下的设计流程,按照层次化、结构化的设计方法可以将 FPGA 系统划分为以下几个模块:顶层模块、分频模块、点阵模块、时序控制模块。
系统工作原理:FPGA 芯片读人配置信息,配置完成后,FPGA 进人工作状态 ,将要显示的汉字的字模信息初始化到单口 RAM 中,由系统时钟产生时序,程序根据时序信息控制 VGA 接口输出行、场同步及颜色信息到显示器上注意问题:一个时序驱动,时序偏差可能导致不正常的显示,另一个VGA 信号电平驱动;上图描述 VGA 基本显示本次我们的也是在这上面进行改进,我们将50MHz 的频率进行二分频,作为时钟频率输入然后进入显示控制处理电路把RGB 三基色以及进行的行场同步信号处理经过控制后送入显示设备6框架图:四、调试过程:本次调试过程中,程序出现了一些小小问题,虽然后面能够显示汉字,但修改了下程序颜色并不能很好的控制,进行了多次的程序改进以及进行调试认为设置的屏幕大小让汉字的颜色变化不是很明显,也有可能是下载程序时没有很好的下载,用的还是以前下载的程序导致颜色并没有改变,我们还是有所不足,需要更多的实践经验五、VGA 显示功能图:引脚图:仿真图:7导出电路图:六、使用说明:1.打开 QuartusⅡ新建工程,新建 VHDL 语言等一系列基本步骤2.输入下列程序,编译,仿真,锁定引脚后在编译下载。
锁定引脚要注意几个输入引脚与几个输出引脚,要根据你所拥有的芯片及其原理图的引脚进行锁定,否则会出现问题,上述引脚图可以进行参考3.下载完成后如果在笔记本上显示结果还需要显示器的数据连接线且还要装驱动程序,个人建议还是在台式电脑上进行实验结果操作,把实验板通电后接上与电脑显示器的连接线按下你锁定的 CLK50_in 键后结果就能显示“中国”七、程序设计模块:根据自顶向下设计方法层,首先定义顶功能块 顶层模块处于重要的位置,定义好顶层模块功能后,才能进而分析哪些是构成顶层模块必要的子模块,然后进一步对各个子模块进行分解,直到达到无法进一步分解的底层功能块顶层模块主要负责规定各个模块之间的数据信号和控制信号的连接关系,也就是8实例化各子模块,并且接收 RAM 读取控制模块传来的汉字字模信息数据流,根据数据流信息中比特位为 1 的位赋予红色,为 0 的位赋予蓝色,即用红色表示汉字“中国”,用蓝色来表示点阵点背景1 顶层模块:定义顶层功能块,连接各模块数据信号和控制信号library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity VGA_Module is Port ( clk50_in : in std_logic; --时钟频率 50MHZRed_out : out std_logic; --定义红色输出信号Green_out : out std_logic; --定义绿色输出信号Blue_out : out std_logic; --定义蓝色输出信号hs_out : out std_logic; --水平同步时序输出vs_out : out std_logic); --垂直同步时序输出end VGA_Module; 2 分频模块:时序的驱动是设计 VGA 显示的控制需要注意的一个重要问题,这也是实验是否成功的关键设计。
时序不正确,必定不能正常显示,有时甚至会损坏显示设备因此,对于时序的设计我们必须遵循 VGA 的工业标准,在设计中使用的分辨率为 640×480,实验采用的实验板提供的时钟频率为 50 MHz,因此必须将系统进行分频设计,即进行二分频的设计50 MHz 的时钟频率经过分频后得到实验所需的 25MHz 频率 ,此频率将为顶层控制模块提供 VGA 控制模块和RA M 读取控制模块的系统时钟9architectureBehavioral of VGA_Module is signal Clk25: std_logic; --时钟分频为 25 MHzsignal Horizontal_Counter: std_logic_vector (9 downto 0); --结构体水平信号定义signal Vertical_Counter: std_logic_vector (9 downto 0); ---结构体垂直信号定义 begin --Generate 25Mhz Clock --形成所需的 25MHz 频率process (clk50_in) --进程时钟频率为 50 MHz 语句执行begin if clk50_in'event and clk50_in='1' then if (Clk25 = '0')then Clk25 = "0010010000" ) and (Horizontal_Counter = "0000100111" ) and (Vertical_Counter = "0。












