




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘 要1Abstract2前 言3第1章 绪论4第11节 应用背景4第12节 设计思路4第13节 设计工作5第2章 硬件电路设计6第21节 系统总体结构框架6第22节 主控制器硬件模块7第23节 电源模块10第24节 D/A转换电路模块10第25节 VGA显示模块14第26节 本章小结16第3章 软件设计17第31节 Quartus II及VHDL语言介绍17第32节 程序设计18第33节 本章小结22第4章 软件调试23第41节 编译仿真23第42节 配置加载23第43节 实验结果24第5章 结论与展望25参 考 文 献26致 谢27附 录28摘 要本文设计了一个基于VHDL的VGA显示控制模块,通过FPGA控制图像信号与时序信号,软件的开发环境是ALTERA公司的Quartus II 6.0。设计运用VHDL语言编程,配置加载FPGA芯片,经FPGA处理,信号通过D/A转换器(电阻分压与ADV7123视频D/A转换两套方案),由VGA接口输出。设计的主控制器采用ALTERA公司的ACEX EP1K30TC144-3芯片,通过GW48系列SOPC/EDA实验箱调试,完成整个系统实验。关键词: FPGA; VHDL; VGAAbstractThis paper describes the design of VGA display and control module which based on VHDL. Image signal and schedule signal were controlled by FPGA. Software development environment is Alteras Quartus II 6.0. This design using VHDL language programming, loading FPGA configuration, the FPGA, signal through D/A Converter (resistance pressure and ADV7123 video DAC two options), then output from the VGA interface. ACEX EP1K30TC144-3 chip of ALTERA Company has been adapted in the design of the main controller. Debugging program through GW48 Series SOPC/EDA Experiment Box, the whole system will be completed experiment. .Keywords:FPGA; VHDL; VGA前 言随着大规模集成电路技术的发展及电子产品市场运作节奏的进一步加快,现代电子设计技术已迈入一个全新的阶段。电子器件及其技术的发展将更多地趋向于支持EDA(Electronic Design Automation),借助VHDL语言,硬件设计与软件设计技术得到了有机的融合。可编程逻辑器件FPGA(Field Programmable Gate Array)和CPLD(Complex Programmable Logic Device)由于具有开发简单、静态可重复编程和动态在系统编程的特点,已经成为当今应用最广泛的两类可编程专用集成电路(ASIC)。随着电子技术的迅猛发展,速度更快、集成度更高的FPGA不断出现,随着结构和工艺的改进,FPGA芯片上包含的资源越来越丰富,可实现的功能越来越强,这使得FPGA在电子电路设计中扮演的角色越来越重要。本文描述了基于VHDL的VGA显示控制模块的设计,具体内容如下:1第一章绪论介绍了FPGA的特点及设计所做的工作。2第二章介绍了硬件电路的设计,包含4个功能模块。3第三章讲解了软件的设计,简单介绍了Quartus II及VHDL语言,着重讲解了程序设计方案。4第四章介绍了软件调试的方法。5第五章是本次设计的结论与展望。由于时间仓促,加之水平有限,文中的缺点和不足之处在所难免,敬请批评指正。第1章 绪论第11节 应用背景图像处理是信号与信息处理学科的一个重要组成部分,也是诸多计算机领域中最为活跃的领域之一。随着计算机、集成电路等技术的飞速发展,数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的ASIC设计技术。ASIC具有高集成度、高性能、高可靠性、高保密性及成本低、开发工具先进等优点,基于它们的优点,可编程 ASIC,特别是高密度可编程ASIC近年来发展迅速,已经在国内外计算机硬件、工业控制、智能仪表、数字电路系统、航空航天设备等领域得到了广泛应用。大规模可编程逻辑器件CPLD是将多个可编程阵列逻辑器件集成到一个芯片,具有类似PAL的结构;FPGA具有类似门阵列的结构,这两类器件都具有用户可编程特性。CPLD和 FPGA在图像领域有着广泛的应用,他们的功能有:形成图像处理器的外围接口与控制,形成图像的通道,完成数字图像的编码,产生专用的图形等。第12节 设计思路在许多图像处理系统中,需要将经过处理的图像显示出来,如果采用传统的办法将图像数据传回电脑并通过显示器显示出来,那么在传输的过程中就需要嵌入式系统的CPU不断的对所传输的图像数据信号进行控制,这样就造成了CPU资源的浪费,同样系统还需要依赖电脑,降低了系统的灵活性。如果采用FPGA对显示器的VGA接口进行设计,数据流只需要在整个系统的内部流动,而不需要依靠计算机,实现了系统的最小化,大大减少了电路板的尺寸,增强了系统的可靠性和设计的灵活性。VGA是计算机显示器常见的显示标准,VGA接口是LCD液晶显示器、CRT显示器的标准接口,通过VGA控制LCD、CRT可以使整个系统变得小巧和便携,使得应用的范围大大扩展。在这次的设计实验中,正是需要把预设的图像实时地直接地显示出来,以验证设计的正确性,从而满足各种不同应用设计的需要。第13节 设计工作本设计主要采用软硬件结合的方式,实现将预置的图像或动画在VGA(640*480)显示器上正确显示的功能。主要工作有:1软件设计,在Quartus 环境下,运用VHDL硬件描述语言编程,包括初始化模块设计,控制器模块设计,VGA时序模块设计。2程序设计完成后,进行测试,所有的硬件测试先在GW48系列SOPC/EDA实验箱上完成,使其能够满足设计要求。3在实验箱调试正确,满足要求后,进行拓展的硬件设计,包括:系统的整体结构设计,电路原理图设计和PCB电路板设计三大部分。第2章 硬件电路设计第21节 系统总体结构框架一、系统的硬件电路在GW48系列SOPC/EDA实验箱上完成,实现FPGA对VGA显示器的控制,实现8位色输出。结构示意图如下:ClockInputHsyncRGBVsyncEP1K30TC144-3D/A转换VGA接口图2.1 实验箱实现的硬件结构示意图实验箱的内部结构是相当复杂的,本系统中用到的是:一块FPGA核心板,板上有ACEX EP1K30TC144-3芯片及其外围电路;D/A转换电路;VGA接口电路。通过计算机编程,将图像数据与时序信号一同下载进入FPGA,经过FPGA的处理,再通过D/A转换电路,完成数字信号向模拟信号的转换,最后由VGA接口输出,在CRT显示器上显示图像。二、在实验箱上完成设计后,我又设计制作了电路板加以拓展,以代替实验箱。专用电路板设计的目的是丰富图像显示的色彩,增强图像的还原能力,使系统的功能更加强大。系统由FPGA主控制器,电源模块,D/A转换模块(分两套方案),显示接口模块组成。其结构示意图如下:方案二2方案一RGBRGBVsyncHsyncEP1K30TC144-3VGA接口ADV7123clockinputEEPROM电阻分压网络4bit10bit图2.2 拓展电路硬件结构示意图输入部分:(1)由计算机进行软件编程,设计专门的图像数据,将其与时序信号一同下载送入FPGA。(2)在第一种方案实现的情况下,我们还构想了另一种方案,就是将图像数据事先用烧写器存入EEPROM,当系统工作时,根据时序将存储器中的数据送入FPGA,这种方法可以使图像信息更加丰富。这个方案还处于构思阶段,还没有实施,有待今后进一步拓展。输出部分:在FPGA里将通过软件的方法构造的行、场同步信号和点时钟信号送到地址发生器中,产生所需要的控制帧存储器的地址信号,同时把采集处理后的数字图像信息输入到实验箱上的D/A转换电路,经数模转换后从VGA接口输出。以下两套拓展方案是分开工作的,通过连接到VGA接口的插针进行选择。(1)方案一将4位图像数据信号送入电阻分压网络,它起到一个D/A转换的作用,最终将数字图像信号送入VGA接口。(2)方案二以同样的方法将R、G、B三基色10位信号送入ADV7123,ADV7123把数字图像信号D/A转换后送入VGA接口。第22节 主控制器硬件模块一、ACEX1K系列芯片介绍图像处理系统往往需要庞大的处理器阵列、存储器模块和通讯网络,大规模集成电路正好可以解决这些问题。因此,本设计选用ALTERA公司的ACEX1K系列芯片,此系列的产品不但具有高性能、高密度和非常大的灵活性,还具有改进的结构、先进的处理技术、现代化的开发工具以及多个宏功能模块可选用等优点。ACEX1K是2000年推出的2.5V低价格SRAM工艺PLD(FPGA),其结构中带嵌入式存储块EAB,部分型号带PLL,且每个嵌入式存储块EAB的容量均为4KB。ACEX1K器件的特点是将查找表LUT和EAB相结合,提供了效率高而又廉价的结构。基于LUT的逻辑对数据路径管理、寄存器强度、数学计算或数字信号处理DSP的设计提供优化的性能和效率,而EAB可实现RAM、ROM、双口RAM或FIFO功能。这使得ACEX1K适合于复杂逻辑及存储器功能,如数字信号处理、数据路径管理、数据变换和微处理器等各种高性能通信应用。基于可重构CMOS SRAM单元,ACEX1K结构具有实现一般门阵列宏功能需要的所有特征,相应的多引脚提供与系统元器件的有效接口。先进的处理功能和2.5V低电压要求,使得ACEX1K器件满足廉价、高容量的应用需要。每个ACEXIK器件包含一个实现存储器及特殊逻辑功能的增强型嵌入式阵列和一个实现一般逻辑的逻辑阵列。嵌入式阵列由一系列EAB组成,每个EAB 提供4096位。逻辑阵列由逻辑阵列块LAB组成,八个可编程逻辑块,如八位计数器、地址译码器或状态机,或跨LAB进行组合以建立更大的逻辑块。每个LAB代表大约96个可用逻辑门。图2.3 EP1K30TC144-3芯片本系统就是选用了ALTERA公司的ACEX1K系列的EP1K30TC144-3 芯片,它具有144个引脚,其中102个I/O通信口。在本次的基于VHDL的VGA显示控制模块设计中,电阻分压网络共用12个I/O通信口,ADV7123 D/A转换器共用30个I/O通信口,存储器模块共用26个I/O通信口。引脚的配置及功能分配情况如下:引脚号引脚名称功能10,13,18,20PIO2,4,6,8电阻网络 R0R322,26,28,30PIO10,12,14,16电阻网络 G0G332,36,38,41PIO18,20,22,24电阻网络 B0B387,89,91,95,97,110,112,114,117,119PIO40,42,44,46,48,78,74,72,70,68ADV7123 R9R09,12,17,19,21,23,27,29,31,33PIO1,3,5,7,9,11,13,15,17,19ADV7123 G9G037,39,42,65,68,70,73,79,81,83PIO21,23,25,26,28,30,32,34,36,38ADV7123 B9B072,67,111,116,14,141,8,11,113,109,78,69,143,118,138,140,137,7PIO31,27,75,71,77,63,0,76,73,79,33,29,66,69,61,62,60,67W27C02-70 地址线A0A1782,88,92,98,96,90,86,80PIO37,41,45,49,47,43,39,35W27C02-70 数据线Q7Q0142PIO64行同步信号HS143PIO65场同步信号VS126CLOCK0外部时钟信号表2.1 引脚配置功能表另外,EP1K30TC144-3 芯片中的TCK、TDO、TMS、nSTA、TDI信号是与JTAG下载口相连的,在JTAG下载模式下,Quartus 可以对EP1K30TC144-3进行编程、配置。 二、外部时钟本系统需接一个外部晶振作为时钟信号,晶振的频率需要在规定范围内选择,尽可能选择符合程序要求,兼顾各芯片参数,能够简单的分频出所需频率的晶振。本次设计中,我们选择的是50MHz的有源晶振。图2.4 引脚结构为:1脚悬空,2脚接地,3脚输出,4脚接电源VCC50MHz的有源晶振可以方便的分频出25MHz的频率作为全局时钟,25MHz是VGA显示的点扫描频率,即是我们所需要的。第23节 电源模块本系统中由外部提供5V电源,5V电源使用圆头插座的封装,可以直接用5V的电源变压器插上使用。在电路中,由于涉及芯片的参考电压较多,FPGA的I/O口电压为3.3V,核心电压为2.5V,以及一个内部参考电平1.8V,所以我用到了3个线型稳压器。一个LM1117-3.3将5V电压转为3.3V,LM1117-2.5将5V电压转为2.5V, LM1117-1.8将5V电压转为1.8V。系统中其他外设的电源有5V供电和3.3V供电,这样4个电压可以满足整个电路板的要求。电源的外围加上一些滤波电容,对FPGA电源进行滤波,电源指示灯用来显示电源工作是否正常。下图为电源滤波部分的硬件电路图:图2.5 电源滤波原理图第24节 D/A转换电路模块由于FPGA中处理的信号为数字信号,而我们这次设计的目标是在CRT显示器上完成对图像的显示控制,所以本系统中D/A转换电路模块是必须的。一、实验箱D/A转换电路根据运用VHDL语言软件设计的要求,实验箱中的D/A转换模块是一片74LS245(八同向三态总线收发器),实现了8种颜色显示的功能。D/A转换电路从FPGA获得R、G、B三基色信号,根据R、G、B信号的二元化值0和1的不同组合,显示出黑、蓝、绿、青、红、品、黄、白八种颜色。利用实验箱对程序进行验证,我设计了一个白色的小圆球,半径为30个像素点,使其能够在整个CRT显示器上水平运动,一行运动结束后进入下一行,循环往复。这个设计方案在实验箱上已经得到了实现。二、电阻分压网络在拓展系统中,方案一在D/A转换电路部分设计了一个以电阻进行分压的网络,将输入的数字信号转换为模拟信号,并复合行、场同步信号,一起送入VGA接口电路输出。电阻分压网络的作用是模拟D/A转换器,下图就是电阻分压网络的结构原理图:图2.6 电阻分压网络原理图在图中,我们可以看出,用电阻分压网络对信号进行D/A转换,其结构是比较简单的。此方案中,三路R、G、B数字信号各对应一组电阻,每组电阻由4个2K电阻,4个1K电阻组成。每路数字信号都是4位的,由FPGA直接输入。每组分压网络的等效电路是相同的,下图为R信号的等效电路图:图2.7 分压网络R信号等效电路G、B信号的等效电路与R信号相同,三路数字信号分压情况见下表:000001111100018/1511107/1500104/15110111/15001112/1511003/1501002/15101113/15010110/1510105/1501106/1510019/15011114/1510001/15表2.2 4位输入信号分压结果表根据原理图的典型接法,将三路R0.3、G0.3、B0.3数字信号共12位接入电阻分压网络,最终将R、G、B送入VGA的1、2、3接口。三、ADV7123视频D/A转换器方案二采用AD公司生产的D/A转换芯片ADV7123。它是美国ANALOG DEVICES公司生产的一种可以产生视频的数字/模拟转换器件。是专门为解决彩色图像和包括高清晰度电视(HDTV)的视频系统而设计的芯片。它的输入由3个高速的10位标准TTL电平的RGB信号,输出为高抗阻的模拟信号,具有330MHz的最大采样速度。ADV7123有3个独立的10位像素输入端口,分别表示红、绿、蓝,5V电源,1.23V的参考电压,像素时钟,还包括/SYNC与/BLANK信号,ADV7123产生的RGB信号与RS-343A、RS-170及大多数使用的高清晰度的电视系统产生的信号是兼容的,与TTL兼容信号输入,5V的CMOS整体结构,应用领域为高质量的电视系统,高质量的彩色图像系统。下图是VGA显示终端接口硬件设计原理图,通过ADV7123产生三路模拟信号输出,同时结合行、场同步信号完成图像的显示。图2.8 VGA显示终端接口设计电路图本系统设计的输入数据有30位图像数据信号,两位控制信号,一位时钟信号。其中数据信号由R、G、B三部分组成,每部分各用10位数据,Pclk为时钟输入端,在上升沿锁存R0R9、G0G9、B0B9 三个10位数字信号,以及/SYNC和/BLANK信号。/PSAVE为节能控制管脚引入FPGA,在调试时接逻辑高电平,令不使能。/SYNC是ADV7123独立的视频同步控制输入端,不会影响其它控制信号或数据输入信号,只能在消隐期间使用。/BLANK信号接逻辑高电平,使在每一个CLOCK时钟上升沿,都能锁定R0R9、G0G9、B0B9 三个10位数字信号。ADV7123使用方便,IOR、IOG、IOB 信号分别为红色、绿色、蓝色通道的电流正向输出端,IOR、IOB、IOG信号输出的电流值可以通过公式算得: IOR、IOB = 7. 9896 VREF / Rset (mA) ,当使用/SYNC信号时IOG= 11. 445VREF/ Rset (mA) ,如果未使用/SYNC信号,计算公式同IOR 、IOB的计算公式。在点时钟脉冲Pclk的作用下三个10位的R、G、B信号送入数据寄存器,而后送到三个DAC模块,复合消隐信号和复合同步信号加到红、绿、蓝模拟信号送到输出端。四、小结本系统的硬件测试已经在GW48系列SOPC/EDA实验箱上完成。它是一个最简单的D/A转换系统,每路图像信号只有1位,只存在0和1的取值,因此最多只显示8种颜色,结构简单,容易实现。而在拓展电路部分,电阻分压网络与ADV7123视频D/A转换器相比较,实现起来相对简单,但在色彩的还原表现上要欠缺一些。电阻分压网络是三路共12位的,其能表现出的色彩最多为4K色,ADV7123视频D/A转换器为三路共30位的,其每路基色信号都有个色阶。ADV7123作为专门的视频转换芯片,在功能上肯定比电阻分压网络先进,在成像方面具有较大的优势。对于两种方案,我们可以根据要求以及实际的需要选择。第25节 VGA显示模块一、VGA接口计算机显示器的显示有许多标准,最常见的是VGA。VGA 是Video Graphics Array (视频图形阵列)的缩写,VGA工业标准为640Hz*480 Hz *60 Hz模式,信号类型为模拟类型,显示卡端的接口为15针插座。接口如图所示:图2.9 VGA接口示意图VGA接口的1、2、3脚分别接D/A转换器输出的R、G、B三色数字信号,13脚接行同步信号,14脚接场同步信号,5、6、7、8、10脚接地,其余引脚均悬空。二、VGA显示原理CRT显示器所用的显示器件是阴极射线管。CRT显示器主要由电子枪、视频放大电路系统、扫描系统、荧光屏等几部分组成。人们之所以能在CRT荧光屏上看见所显示的字符或图形,是因为阴极射线管的电子枪发射的电子流经过聚焦后形成电子束,轰击荧光屏,使屏幕上涂的荧光粉发出可见光。要在屏幕上指定的位置进行显示,需要通过扫描偏转系统产生两个互相垂直的电磁场,控制电子束在水平方向和在垂直方向偏转,从而将电子束引向屏幕的相应位置。图2.10 显示器成像原理图CRT显示器可以采用多种扫描方式,主要包括随机扫描和光栅扫描。在随机扫描方式中,电子束没有固定的扫描路径,只在显示字符或图形的地方扫描。因此,扫描控制信号随显示内容的不同而有所不同,这就使扫描电路比较复杂。光栅扫描有固定的格式,不管屏幕上需要显示或不需要显示的地方,都按统一路径全屏幕扫描。因此扫描控制信号不随显示画面变化,便得扫描电路比较简单。因此,光栅扫描被广泛用于字符显示和图形显示器中。对于VGA显示器,其引出线共含5个信号:R、G、B(3基色信号)、HS(行同步信号)、VS(场同步信号)。由R、G、B三种基色可以组合出任意所需要的颜色。在实验的验证阶段可以仅利用 R、G、B 三种基色的二元化值(0和1)的不同组合来验证设计的正确性。其不同组合所能成的颜色如表所示:颜色黑蓝绿青红品黄白 蓝色(B)01010101绿色(G)00110011红色(R)00001111表2.3 VGA显示器成色表VGA显示器在一行图像显示完成后,用行同步信号进行行同步,并进行行消隐,行同步信号为低电平有效。当扫描完所有行时,用场同步信号进行场同步。并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。场同步信号也同样为低电平有效。行和场扫描时序图如图所示:图2.11 VGA行、场扫描时序图图中,T1为行同步消隐时间,约为6s;T2为行显示时间,约为26s ;T3为场同步消隐,为两个行周期;T4为场显示时间,为480个行周期。VGA工业标准要求的频率:时钟频率(clock frequency):25.175MHz(像素输出的频率)行频(line frequency):31469Hz场频(field frequency):59.94Hz(每秒图像刷新频率)在本系统中,我们用50MHz的有源晶振作二分频,得到25MHz的频率给FPGA提供时钟信号,因为25MHz约等于像素的输出频率,符合VGA显示的工业标准要求。第26节 本章小结整个设计的硬件电路首先通过实验箱进行调试,将实验箱电源线、并口下载线、十芯线和VGA接口线都正确的连入电路,选择对应的芯片配置引脚、加载,即可完成整个系统实验。拓展电路板设计的硬件模块包括电源、滤波电路、外部晶振、电阻分压网络D/A转换器、ADV7123视频D/A转换器以及VGA接口电路。电路板上的两种D/A转换方案是通过跳线选择分开使用的。FPGA主控制器核心板通过两组排针与拓展电路板相连,即连接对应的EP1K30TC144-3芯片的I/O通信口与时钟信号,进行信号传输。在拓展系统中,要将实验箱、核心板、拓展电路板三者连接使用。第3章 软件设计第31节 Quartus II及VHDL语言介绍在本设计系统中,软件的开发平台是ALTERA公司的Quartus II,Quartus II提供了良好的多平台设计环境,它可以轻易满足系统特定的设计需要。Quartus II 软件拥有FPGA和CPLD设计的所有阶段的解决方案。下图为Quartus II设计流程的图示说明:设计输入(系统设计,软件开发)综合布局布线时序分析(时序逼近)仿真调试工程更改管理配置加载图3.1 Quartus II设计流程图设计输入是这次系统设计软件部分的关键,对于Quartus II软件,它的工程由所有设计文件和与设计有关的设置组成。 我们可以使用 Quartus II Block Editor、Text Editor、Mega Wizard Plug-In manager(Tools 菜单)和 EDA 设计输入工具建立包括 ALTERA宏功能模块、参数化模块库 (LPM)函数和知识产权 (IP)函数在内的设计。可以使用Settings对话框(Assignments 菜单)和 Assignment Editor 设定初始设计约束条件。系统设计中,软件的设计是基于VHDL硬件编程语言,VHDL语言非常适用于可编程逻辑器件的应用设计,它具有功能强大的语言结构,可用简洁明确的代码描述来进行复杂控制逻辑的设计。VHDL语言具有很高的灵活性,可移植性,是一种设计、模拟、综合的标准硬件描述语言。第32节 程序设计本次系统设计的目标是:运用VHDL语言设计一个简单的图形(初步定为一个圆形),使其能够在VGA显示器指定的区域内,按照指定的轨迹,在预定的时间间隔下运动。一、VGA显示的时序设计下图为VGA行扫描、场扫描时序示意图,我们需要根据时序的要求来设计显示模块的程序。图3.2 行扫描时序示意图图3.3 场扫描时序示意图对应行扫描、场扫描时序示意图,以及行扫描、场扫描的时序要求,我绘制了下表:行同步头行图像行周期对应位置TfTaTbTcTdTeTg时间(Pixels)8964086408800表3.1 行扫描时序要求(单位:像素,即输出一个像素Pixel的时间间隔)场同步头场图像场周期对应位置TfTaTbTcTdTeTg时间(行周期)222584808525表3.2 场扫描时序要求(单位:行周期,即输出一个行周期的时间间隔)根据行扫描、场扫描时序要求,时序设计的关键在于规定行(场)同步消隐,行(场)显示时间。程序如下: PROCESS(CLK)BEGINIF (RISING_EDGE(CLK) THENIF (HCNT = 640+8+8) AND (HCNT 640+8+8+96) THENHS = 0; /VGA显示的行消隐时间ELSEHS = 480+8+2) AND (VCNT 480+8+2+2) THENVS = 0; /VGA显示的场消隐时间ELSEVS = 1;END IF;END PROCESS; 当显示的点的运动位置在(480+8+2)行与(480+8+2+2)行之间的时候,进行场消隐。PROCESS(CLK)BEGINIF (RISING_EDGE(CLK) THENIF (HCNT 640 AND VCNT 480) THENR = RGBIN(2);G = RGBIN(1);B = RGBIN(0);ELSER = 0;G = 0;B = 0; END IF;END IF;END PROCESS;以上的一个进程说明了图像的点在显示器上能够显示的位置。640480正是VGA显示的工业标准。二、时钟、频率设计本系统采用的是一个50MHz的有源晶振,为了产生25MHz的时钟频率,需对50MHz进行二分频。我们希望图形每隔1秒钟运动一次,所以需要产生一个1Hz的频率来控制电路。分频程序如下:PROCESS(CLK50MHZ)BEGINIF CLK50MHZEVENT AND CLK50MHZ = 1 THEN /50MHz二分频CLK25MHZ = NOT CLK25MHZ; /产生25MHz的工作频率END IF;IF CLK50MHZEVENT AND CLK50MHZ = 1 THEN IF COUNTER = N THEN /N =24999999COUNTER = 0; /产生1Hz频率CLK1HZ = NOT CLK1HZ;ELSECOUNTER HMOV) AND (HPOSVMOV) AND (VPOSVMOV1) AND(HPOS-HMOV2)*(HPOS-HMOV2)+(VPOS-VMOV2)*(VPOS-VMOV2)900OR (HMOV2-HPOS)*(HMOV2-HPOS)+(VPOS-VMOV2)*(VPOS-VMOV2)900OR (HPOS-HMOV2)*(HPOS-HMOV2)+(VMOV2-VPOS)*(VMOV2-VPOS)900OR (HMOV2-HPOS)*(HMOV2-HPOS)+(VMOV2-VPOS)*(VMOV2-VPOS)900) THEN RGB = 111; /111为3路R、G、B信号组合而成的白色ELSE /系统中可以根据需要、喜好选择色彩RGB = 000;END IF;END IF;END PROCESS;根据VHDL语言的规则,一个圆形由4个1/4圆组成,在形成图形时,圆形的周围形成了8条放射线,通过设计了一个正方形与圆形相与将8条放射线去除。四、图像运行轨迹设计我们此次的设计中,图像的运动选择了一种最简单的轨迹,即从左向右逐行扫描,当一行运行结束以后,自动进入下一行继续从左向右运动,直到运动到最后一行最后一列,然后再重新跳转到第一行第一列进入下一个循环。PROCESS(CLK1HZ)BEGINIF CLK1HZEVENT AND CLK1HZ = 1 THENIF (HMOV 580) THENHMOV = HMOV + 60; /每秒钟,图像向前运动60个像素点ELSEHMOV 0);END IF;END IF;END PROCESS;上面的程序定义了在每一行运动的时序,轨迹。HMOV为圆形的最左侧端点,在640480的显示区域内,规定了圆形何时运动到行的最末端跳转。PROCESS(CLK1HZ)BEGINIF CLK1HZEVENT AND CLK1HZ = 1 THENIF (HMOV 580) THENVCLK=0; /图像没有运行完一行,不进入下一行ELSEVCLK=1; /图像运行完一行,使其得到一个信号上升沿END IF;END IF;END PROCESS;上面的程序用来识别图像有无运行结束一个行周期。PROCESS(VCLK)BEGINIF VCLKEVENT AND VCLK = 1 THENIF (VMOV 420) THEN /图像每运行完一行VMOV = VMOV + 60; /就向下运行60个像素点ELSEVMOV 0);END IF;END IF;END PROCESS;上面的程序的作用是,当每得到一个VCLK上升沿信号,如果图像没有运行到最后一行,就向下跳转一行;如果已经运行到最后一行,就全屏幕消隐,过后系统进入下一个程序循环。第33节 本章小结系统的主程序通过例化语句与VGA显示程序相连,完成整个程序的运行。在实验箱上调试的程序,它的R、G、B三基色信号只有0和1的二元化值,当进行拓展实验时,需要将R、G、B信号定义成4位或者10位的位矢量,每一位赋给不同的0和1值,这样就可以显示更加丰富的色彩。第4章 软件调试第41节 编译仿真当程序设计完毕后,选择Quartus II软件Processing菜单下的Start Compilation项,启动全程编译。这里的编译(Compilation),包括以上提到的Quartus II对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件与编程配置文件)生成,以及基于目标器件的工程时序分析等。如果工程文件有错误,在下方的Processing处理栏中会显示出来。双击显示错误的条文,可以弹出对应的VHDL文件。本设计中,经过多次的调试、改正,最终排除了所有的错误,编译通过。对工程编译通过后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。导入VWF格式文件,选择Processing菜单下的Start Simulation,观察仿真结果,波形图如下:图4.1 时序仿真图由于外部时钟频率比较高,所以时序仿真图看上去不是很清晰,但在后面的引脚配置、文件加载后,验证了系统所实现的功能是正确的。第42节 配置加载一、引脚配置为了能对此系统程序进行硬件测试,应将其输入输出信号锁定在芯片确定的引脚上,编译后下载。首先,我们用GW48SOPC系统的实验箱对设计进行验证,连接实验箱电源、并口下载线、10芯Byteblaster下载线、VGA接口,选择电路模式No.5,对应EP1K30TC144-3芯片,引脚配置如下图:图4.2 引脚配置图引脚锁定后,必须再编译(启动Start Compilation)一次,才能将引脚锁定信息编译进编程下载文件中。二、文件加载将编译产生的SOF格式文件配置进FPGA中,进行硬件测试。选择Tool菜单中的Programmer,在Mode栏中选择编程模式为JTAG,并选中打勾下载文件右侧的第一个小方框,注意核对下载文件的路径与文件名。最后单击下载标符Start按钮,对目标器件配置下载。当Progress显示出100,以及在底部的处理栏中出现“Configuration Succeeded”时,编程成功。第43节 实验结果图像能够在VGA显示器上按要求正确显示。即半径为30个像素点的白色小球以1Hz的频率在640480的显示区域内从左向右,逐行运动。当一个场扫描结束后,进入下一个循环。第5章 结论与展望针对基于VHDL的VGA显示控制模块设计的工作,在毕业前已经告一段落。围绕着这一课题,我做了很多相关资料的调研,广泛地收集了文献以及相关论文。从软件的设计、系统电路原理图的设计、印制电路板的设计以及器件焊接等,都做了相应的工作,达到了初期目标。根据设计的要求,通过实验箱的验证,图像已经能够正确的在VGA显示器上得到实现,很好的完成了图像数据从计算机到CRT显示器的传输。对于拓展电路的进一步扩充,电路板已设计完成,但由于后期时间仓促,最终的调试工作还没有完成,有待今后的继续研究。历时一个学期的毕业设计,带我进入了硬件电路系统开发的领域,了解了集成电路的发展状况与趋势,并直接利用FPGA产品进行了研究设计,让我学到许多,感慨也很多。课题的研究提升了我的专业知识,也让我明白自己还有很长的路要走,对于今后的进一步学习,我有几点想法;1对于时钟频率和滤波电容的使用做进一步研究。2更加深入的分析和了解FPGA的内部逻辑,内部各模块的结构、功能及工作原理,了解FPGA的模块间是怎样联系工作的。3深入的研究FPGA的时序控制,以及输入输出信号的测试仿真问题。4深入的了解各D/A转换模块的工作原理,更好的使用D/A转换设备。5熟悉一些常用存储设备的使用,了解其功能,时序要求,读、写、擦除等工作模式的信号要求。参 考 文 献1 潘松、王国栋,VHDL实用教程,2001.7,第二版,电子科技大学出版社2 求是科技,VHDL应用开发技术与工程实践,2005.1,第一版,人民邮电出版社3 潘松、黄继业,EDA技术与VHDL,2005.7,第一版,清华大学出版社4 杜刚,电路设计与制版protel应用教程,2006.6,第一版,清华大学出版社5 董兵、朱齐丹、文睿,基于FPGA的VGA图像控制器的设计与实现,应用科技,2006.10,33卷,10期6 邓春健、王琦、徐秀知、冯永茂、郑喜凤,基于FPGA和ADV7123的VGA显示接口的设计和应用,2006.12,29卷,4期致 谢首先我要向我的导师胡丹峰老师表示感谢。从开始选择毕业设计题目、制定任务书、布置任务进度、指导和帮助完成毕业设计及论文的最终完稿的过程中,胡老师都给我以极大的鼓励和帮助。在胡老师的关心指导下,我才能顺利的完成毕业设计。并且胡老师在学术上的严谨认真,在研究中的执着钻研都深深地影响着我。由于毕业设计时间比较紧,因此胡老师对我非常关心,他总是不断地提出更新更好的方案,力求更好。这种精神在以后的学习、工作中都会让我收益颇深。在这三个月里,我查阅了很多相关的书籍资料。在设计方案时,投入了许多时间和精力。中期进行得比较顺利,但是后期还是遇到一点困难,最后经过努力,完成了毕业设计。在整个毕业设计过程中,我受益匪浅,得到了很多启发,真正学到了很多东西。在这次毕业设计中,瞿亚军同学给了我很大地帮助,遇到困难时,他总是不厌其烦地帮我思考解决方法,在这里对他表示深深的谢意。还有辛勤培育我的老师们,是他们孜孜不倦地教诲使我能够成为一个合格的毕业生。最后,对所有曾经指导和帮助过我的老师和同学表达我最真挚的感谢!附 录1 主程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY IMG ISPORT(CLK50MHZ:IN STD_LOGIC; HS, VS, R, G, B:OUTSTD_LOGIC);END IMG;ARCHITECTURE MODELSTRU OF IMG ISCOMPONENT VGA640480PORT(CLK: IN STD_LOGIC; RGBIN: IN STD_LOGIC_VECTOR(2 DOWNTO 0); HS, VS, R, G, B: OUT STD_LOGIC; HCNTOUT, VCNTOUT: OUT STD_LOGIC_VECTOR(9 DOWNTO 0); END COMPONENT;CONSTANT N : INTEGER := 24999999;SIGNAL COUNTER : INTEGER RANGE 0 TO N;SIGNAL RGB : STD_LOGIC_VECTOR(2 DOWNTO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园户外体能锻炼活动计划范文
- 2025注册电气工程师经典例题及答案详解考点梳理
- 2025年网络安全保护与信息系统管理试题及答案
- 2025年监理工程师水利工程全科考试题库及答案
- 2025注册电气工程师经典例题各地真题附答案详解
- 燃气管网运行工考试技师习题库及答案2025
- 中小学班主任工作职责汇编
- 2025年文物保护与修复能力考核试题及答案
- 物权法形成性评价任务合集
- 企业内部法律风险识别与防控策略
- 尿道狭窄的治疗与护理
- 防水工程质量保证书
- 大额资金使用管理办法
- 业务激励方案61170
- 家电行业售后维修服务管理流程
- 迈克尔杰克逊课件
- 2024年煤炭工业矿井设计规范
- 替莫唑胺耐药机制-深度研究
- 二级中医医院评审专家手册
- 遗产继承案例分析题单选题100道及答案
- DB43∕T 925-2014 保障性苗圃建设规范
评论
0/150
提交评论