VGA彩条信号显示电路的设计_第1页
VGA彩条信号显示电路的设计_第2页
VGA彩条信号显示电路的设计_第3页
VGA彩条信号显示电路的设计_第4页
VGA彩条信号显示电路的设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本设计是用FPGA来实现VGA图像控制器,控制显示器显示彩条信号,用VHDL语言,在QuartusII上实现软件仿真。本文首先介绍了VGA显示的基本原理,然后提出了一种VGA图像控制器的设计方案,并用VHDL硬件描述语言和原理图输入的方法完成了该方案的设计,通过显示横彩条、竖彩条、棋盘格,验证了VGA_SYNC同步信号功能模块时序的正确性,软件实验环境为QuartusII6.0开发软件。本系统尝试用FPGA实现VGA图像显示控制器,这一过程通过编程实现,之后通过软件的测试和仿真,当软件验证无误后完成硬件的下载验证,最终在显示器上实现输出,基本原理就是利用FPGA的可编程原理和VGA的时序控制原理,这在产品开发设计中有许多实际应用。例如显示器,电视等的维修,可以期望采用FPGA设计的VGA接口可以将要显示的数据直接送到显示器,就可以可靠的找到故障的大致原因等。从而省掉每次都要接信号源的麻烦,同时也节约了成本。节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。同时亦可将其作为信号源,应用于电视机或计算机等彩色显示器的电路开发,方便彩色显示器驱动控制电路的调试。关键字:EDA,VHDL,VGA,QuartusII绪论我们已经进入数字化和信息化的时代,其特点就是各种数字产品的广泛应用。现代数字产品在性能提高复杂度增大的同时,更新换代的速度也越来越快,实现这种进步的因素在于芯片制造技术和设计技术的进步。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包。VGA图像信号发生器的设计涉及到图像数据的处理,对电路的工作速度和性能要求较高,VGA工业标准要求的时钟频率高达25MHz,使用传统的电子电路设计方法是难以实现的。采用专用的视频处理芯片,其设计技术难度大、开发成本高。本文采用CPLD方案,利用了MAX系列的CPLD高达上百兆的工作频率特性为图像数据处理提供了良好的实时性,其内部集成的数字锁相环为系统的工作时钟提供的良好的稳定性,其内部嵌入的存储器可以存储一定容量的图像信息,丰富的I/O资源可以随即扩展外接大容量存储器的特性,因此由CPLD完成对图像数据的处理及产生行场扫描时序信号。很好地实现了图象数据处理的实时性和稳定性,达到了性能与价格的完美统一。此外,CPLD的电路可重构性,为系统功能更改和升级以及功能扩展提供了很大的设计空间。由微控制器完成功能设置与控制,如键盘扫描,模式选择与显示控制等。本设计采用EDA技术,通过CPLD芯片实现了实现VGA彩条信号的显示的设计,本文采用VHDL硬件描述语言描述VGA彩条信号的显示电路,完成对电路的功能仿真。通过按键来实现横彩条、竖彩条、棋盘式方格图案的选择,并能进一步设计出文字、图像的显示。与传统的设计方式相比,本设计由于采用了CPLD芯片来实现,它将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。1.1课程设计要求1、熟悉掌握常用仿真开发软件,比如:QuartusII或XilinxISE的使用方法。2、能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试;3、学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。4、掌握VGA时序工作要求及特点1.2课程设计目的1、熟悉VGA显示器的实现原理2、加深对VHDL语言的设计编程和设计语言规则的应用3、熟悉集成电路设计的流程,学习使用EDA集成电路设计软件QuartusII进行模拟综合,然后在FPGA上实现。2系统总体方案2.1系统的工作原理和组成框图FPGA是整个系统的核心,通过对其编程可输出RGB三基色信号和HS、VS行场扫描同步信号。当FPGA接受单片机输出的控制信号后,内部的数据选择器模块根据控制信号选通相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过15针D型接口电路送入VGA显示器,在VGA显示器上便可以看到对应的彩色图像。FPGA所需的工作时钟由外部高精度有源晶振提供;单片机控制器分析键盘扫描结果,控制液晶显示模块显示相应的功能,由LCD显示输出图像和按键控制模式,并送出相应控制信号给FPGA,系统原理框图如图2.1电源电源控制按键VGA显示器FPGA时钟电路接口电路图2.1原理框图2.2VGA显示原理工业标准的VGA显示模式为:640×468×16色×60Hz。常见的彩色显示器,一般由CRT(阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。行同步信号HS和场同步信号VS是两个重要的信号。显示过程中,HS和VS的极性可正可负,显示器内可自动转换为正极性逻辑。VGA行同步信号HS和场同步信号VS的时序图如图2.2和图2.3所示,T1为行同步消隐(约为6μs);T2为行显示时间(约为26μs);T3为场同步消隐(两个行周期);T4为场显示时间(480个行周期)。显示器每扫描完一行,再扫描一下行时会花一定时间来准备,因此要满足时序要求,见图2.2图2.2VGA行扫描时序图同样每扫描完一帧,再扫描下一帧行时也会花一定时间来准备,因此也要满足其时序要求,见图3图2.3VGA场扫描时序图对于VGA显示器的时序驱动要严格遵循“VGA工业标准”,即640×480×60HZ模式,否则无法显示正确地图像。VGA工业标准要求的频率:时钟频率:25.175MHz(像素输出的频率)行频:31469Hz场频:59.94Hz(每秒图像刷新频率)行扫描时序要求如表1行同步头行像素行周期对应位置TfTaTbTcTdTeTg时间(像素)8964086408800表1行扫描时序图场扫描时序要求如表2场同步头场图像场周期对应位置TfTaTbTcTdTeTg时间(行)222584808525表2场扫描时序图从以上图可以看出,显示一行数据需要处理两件事情。第一:产生行同步HS。不难看出,HS是一个脉冲信号,此信号的周期为:Te=Ta+Tb+Tc+Td,低电平时间为Ta。其中Ta、Tb、Tc、Td均为时间信号,这些信号根据需要显示的分辨率不同而不同。第二:产生显示的数据(DATA)信号,此信号为模拟信号,当在显示有效数据(Activevideo)内,DATA信号为0~0.714Vpp的模拟电压(R、G、B),根据分辨率的不同,DATA的采样率、点数也皆不相同。帧数据时序与行时序类似,也就是显示一屏数据的时序。只是这里的基本单位为每行数据,而行数据里面的最基本单位为每个点不同的分辨率,时序上的时间是不一样的。在水平时序中,包括以下几个时序参数:水平同步脉冲宽度;水平同步脉冲结束到水平门的开始之间的宽度;一个视频行可视区域的宽度;一个完整的视频行的宽度,从水平同步脉冲的开始到下一个水平同步脉冲的开始。分辨率刷新速率像素频率同步脉冲后沿有效时间前沿帧长640/4806025964564613800640/48072314012564621832800/600563672125806211024800/600604012885806371056800/6007250120611806531040表3常见分辨率行时序分辨率刷新速率行宽同步脉冲后沿有效时间前沿帧长640/48060312304849525640/48072263264847520800/6005628120604-1625800/6006026421604-1628800/600722062160435666表4常见分辨率帧时序图像信号显示的颜色种类与表示R、G、B三基色的二进制数位数有关,表5列出了8种颜色的编码方式颜色白黄青红品绿蓝黑R11110000G11001100B0101010表5颜色编码3VHDL设计与仿真3.1波形仿真通过QuartusII软件,我们进行了仿真,其仿真波形如下图:图3编译成功图图3.1波形仿真图3.2硬件描述语言生成电路在QuartusII软件中利用硬件描述语言描述电路后,用RTLViewers生成的对应的电路图如下:图3.2RTLViewers电路图在QuartusII软件中利用硬件描述语言描述电路后,用technologymapviewer生成的对应的电路图如下图3.2.1电路图technologymapviewer电路图4EDA硬件调试与实现4.1硬件调试⑴打开QuartusⅡ9.0软件,建立进程,进程的名字和程序的名字相同;⑵打开新建选择VHDLFile,然后把程序输入进去;⑶保存文件点击软件页面上方的编译按键进行编译;⑷编译成功后,进行软件仿真,点击File选择VectorWaveformFile,然后点击鼠标右键选insetnodeorbus键,把脚码输入进去,再进行脚码设定;⑸然后保存,点击Assigment中的settings选择时序仿真,进行程序的时序仿真;⑹时序仿真成功后,点击上方AssigmentEditor键进行脚码锁定;脚码锁定中选用模式5。图4.1引脚锁定图4.2硬件实现硬件实现选用实验箱模式5方式下完成,在实验过程中clk的引脚选择clock0即外接频率源PIN_L1,频率选择为10MHZ。复位信号clr引脚用按键1进行控制锁定为PIN_G20,其余数码管的使能端引脚分配见上图。选择编译按钮,重新编译,编程下载。在quartusⅡ软件中,选择tools/programmer,选择HardwareSettings,然后添加USB_Blaster。点击”addfile”按钮添加需要配置的caideng.sof文件,点击start按钮下载代码到芯片,即可观察到硬件实验结果。5下载下载电路设计AlteraFPGA芯片支持JTAG在线下载方式和AS下载方式。JTAG下载方式,程序之际烧写到FPGA芯片,JTAG下载完成后直接运行。AS下载方式,可以执行代码直接烧写到FPGA配置芯片。在上电初始后,FPGA芯片直接从配置芯片读写可以执行代码配置FPGA芯片,然后运行5.1JTAG下载电路JTAG也是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。现今多数的高级器件都支持JTAG协议,如DSP、FPGA、ARM、部分单片机器件等。JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(TestAccessPort测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现今,JTAG接口还常用于实现ISP(In-SystemProgrammable;在线编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程后再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对DSP芯片内部的所有部件进行编程。在硬件结构上,JTAG接口包括两部分:JTAG端口和控制器。与JTAG接口兼容的器件可以是微处理器(MPU)、微控制器(MCU)、PLD、CPL、FPGA、DSP、ASIC或其它符合IEEE1149.1规范的芯片。IEEE1149.1标准中规定对应于数字集成电路芯片的每个引脚都设有一个移位寄存单元,称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路联系起来,同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描寄存器BSR。边界扫描寄存器电路仅在进行JTAG测试时有效,在集成电路正常工作时无效,不影响集成电路的功能。JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEEStd1149.1联合边界扫描

接口引脚,支持JAMSTAPL标准,可以使用Altera下载电缆或主控器来完成。根据JTAG标准和altera芯片电路实际情况,如果需要JTAG正确工作需要保证以下3点:1.FPGAJTAG下载关键TMS,TCL,TDO,TDI必须定义正确,确保是芯片JTAG管脚;2.JTAG外围管脚上拉或下拉电阻必须正确配置,参考芯片手册,应如下图配置:3.如果是BGA芯片,要保证BGA芯片正确可靠焊接。图5.1JTAG下载电路5.2AS下载电路AS下载:分为两步分进行。第一步,QII下载器把下载代码烧写到配置芯片中。第二步,芯片上电从配置芯片读代码配置芯片。AS下载电路参考ALTERFPGADATASHEET手册,常规串行配置标准电路如下图:图5.2AS下载电路心得体会1、在程序的编写过程中,我们应该首先分析各个端口的优先级顺序,这一点就可以利用if语句首先进行判断。这一点是用VHDL语言进行设计数字逻辑电路的共同点,是我们学习过程中必须掌握的内容。2、而在编写vhdl源文件的过程中,我加深了对信号和变量的延时区别的理解和对process“内部串行外部并行”的理解。3、实验中我进一步熟悉了数字系统VHDL设计和仿真的流程,加深了对QuartusII软件使用的理解。4、在实验中,打开QuartusII软件,建立一个新的工程时在写顶层实体名时,实体名、文件名必须和建立工程时所设定的顶层实体名相同,这样才不会出错,这一点是我们使用QuartusII软件时经常犯的错误之一。5、实验中,需要对每一个端口指定器件的引脚,在引脚指定过程中需要参照开发系统所给的I/O端口映射表,通过开发平台上每个I/O器件附近的I/O编号,在映射表中找到相应的引脚名,填入相应的对话框。这一应该特别小心,也是实验最后成败的最为关键的一步。6、通过这次实验,通过VGA显示实验,我加深了对EDA技术的理解,初步掌握了QuartusII软件图形编辑的使用。我接触了使用VHDL编程的一些基本技术和方法,初步掌握QuartusII软件的使用方法以及硬件编程下载的基本技能,对以后EDA的继续学习奠定了基础。

致谢

通过本次设计,我知道光靠在课堂上所学的知识,我们无法真正的将所学的各个科目的知识融会贯通,学以致用,思想也越来越迟缓,没有创新的思维和活跃的思想。对我们学生来说,理论与实际同样重要,这是我们以后在工作中证明自己能力的一个重要标准。通过了这次设计,我能更好的理解书本知识,相信也能够更好的运用他它。在以后的学习和工作中,我们还会遇到许多类似的设计,但有了这次的经验,我相信我们都会尽自己的力做得更好!我们在对EDA这门技术上有了更深刻的认识,也从实践的例子中去感受到了EDA设计给我们设计带来的改变与进步。我们不仅掌握QuartusII软件的使用,与此同时,我们还对电子设计的思路有了更多的认识。通过对EDA设计中的TOP-DOWN设计方式的运用,体会到了对于一个大型系统的设计方案选取应从顶向下的设计思路,这与传统的至底向上的设计方式有很大改进,且设计效率得到大大提高。在设计中,我深刻感受到了老师对学生的那种诲人不倦的精神,老师不断耐心地指导使我们少走弯路。参考文献[1]阎石.数字电子技术基础[M].高等教育出版社,2007[2]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2002.[3]康华光.电子技术基础第四版[M].北京:高等教育出版社,2001[4]乔庐峰,王志功.VHDL数字电路设计教程[M].电子工业出版社,2005[5]陈明.软件工程学教程.科学出版社,2002

[6]李景华,杜玉远.可编程逻辑器件与EDA技术.东北大学出版社,2000

[7]阎石.数字电子技术基础.高等教育出版社,1998

[8]江国强.现代数字逻辑电路.电子工业出版社,2002附1源程序代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCOLORIS PORT( CLK,MD:INSTD_LOGIC; HS,VS,R,G,B:OUTSTD_LOGIC);ENDCOLOR;ARCHITECTUREbehavOFCOLOR IS SIGNALHS1,VS1,FCLK,CCLK :STD_LOGIC; SIGNALMMD:STD_LOGIC_VECTOR(1DOWNTO0); SIGNALFS:STD_LOGIC_VECTOR(3DOWNTO0); SIGNALCC:STD_LOGIC_VECTOR(4DOWNTO0); SIGNALLL:STD_LOGIC_VECTOR(8DOWNTO0); SIGNALGRBX:STD_LOGIC_VECTOR(3DOWNTO1); SIGNALGRBY:STD_LOGIC_VECTOR(3DOWNTO1); SIGNALGRBP:STD_LOGIC_VECTOR(3DOWNTO1); SIGNALGRB:STD_LOGIC_VECTOR(3DOWNTO1);BEGIN GRB(2)<=(GRBP(2)XORMD)ANDHS1ANDVS1; GRB(3)<=(GRBP(3)XORMD)ANDHS1ANDVS1; GRB(1)<=(GRBP(1)XORMD)ANDHS1ANDVS1; PROCESS(MD)BEGIN IFMD'EVENTANDMD='0'THEN IFMMD="10"THENMMD<="00"; ELSEMMD<=MMD+1;ENDIF;ENDIF; ENDPROCESS; PROCESS(MMD) BEGIN IFMMD="00"THENGRBP<=GRBX; ELSIFMMD="01"THENGRBP<=GRBY; ELSIFMMD="10"THENGRBP<=GRBXXORGRBY; ELSEGRBP<="000";ENDIF; ENDPROCESS; PROCESS(CLK) BEGIN IFCLK'EVENTANDCLK='1'THEN IFFS=10THENFS<="0000"; ELSEFS<=(FS+1);ENDIF;ENDIF; ENDPROCESS; FCLK<=FS(3);CCLK<=CC(4); PROCESS(CCLK) BEGIN IFCCLK'EVENTANDCCLK='0' THEN IFLL=481THENLL<="000000000"; ELSELL<=LL+1;ENDIF; ENDIF; ENDPROCESS;PROCESS(FCLK)BEGIN IFFCLK'EVENTANDFCLK='1'THEN IFCC=26THENCC<="00000"; ELSECC<=CC+1;ENDIF;ENDIF; ENDPROCESS; PROCESS(CC,LL) BEGIN IFLL>479THENVS1<='0';--场同步 ELSEVS1<='1'; ENDIF;IFCC>20 THENHS1<='0';--行同步 ELSEHS1<='1'; ENDIF; ENDPROCESS; PROCESS(CC,LL) BEGIN IFCC<2THENGRBX<="111";--像素点 ELSIFCC<6THENGRBX<="110"; ELSIFCC<9THENGRBX<="101"; ELSIFCC<13THENGRBX<="100"; ELSIFCC<16THENGRBX<="011"; ELSIFCC<19THENGRBX<="010"; ELSIFCC<21THENGRBX<="001"; ELSEGRBX<="000"; ENDIF; IFLL<60THENGRBY<="111";--行间隔 ELSIFLL<130THENGRBY<="110"; ELSIFLL<180THENGRBY<="101"; ELSIFLL<240THENGRBY<="100";ELSIFLL<300THENGRBY<="011";ELSIFLL<360THENGRBY<="010";ELSIFLL<420THENGRBY<="001"; ELSEGRBY<="000"; ENDIF; ENDPROCESS; HS<=HS1;VS<=VS1;R<=GRB(2);G<=GRB(3);B<=GRB(1);ENDb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论