《基于FPGA的点阵汉字显示.doc》由会员分享,可在线阅读,更多相关《基于FPGA的点阵汉字显示.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于FPGA的点阵汉字显示.精品文档.基于FPGA的点阵汉字显示摘要:本课程设计主要研究基于FPGA的点阵汉字动态显示。首先介绍了LED点阵显示汉字的原理,然后通过编程控制可以显示中英文字符、图形及视频动态图形。LED显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、运动场馆及各种室内外显示场合得到广泛的应用。本实验结合实例运用基于FPGA的VHDL语言编程使其循环显示“武汉理工大学信息工程学院庞锦”这几个字。论文描述了基于现场可编程门阵(FPGA)的硬件电路,以及点阵显示汉字的原理;然后介绍在单个16X16 LED点阵上滚动汉字
2、的原理;最后给出了描述其功能的VHDL语言程序设计方法。通过编程、调试、仿真、下载正确地实现了汉字滚动显示扫描结果,其硬件系统的实验验证也获得了与软件模拟仿真结论相吻合的结果。关键词:FPGA VHDL语言 点阵汉字显示The dot matrix characters display based on FPGAAbstract: This course design is primary research based on VHDL of the dot-matrix characters displayed. Firstly introduces the principle of LED
3、dot-matrix display characters, Then through the programming control can show Chinese and English characters, graphics and video dynamic graphics. LED displaywith itsgroupstructureflexible,high brightness,mature technologyand low cost characteristics widely used in thesecurities,sports venuesand a va
4、riety ofindoor and outdoorshow occasion. In this study,with examplesusingVHDL language programmingof FPGA-based make the cyclic display wu han university of science and technology information engineering college Pang Jin” the words. The papers first described based on field programmable gate array (
5、FPGA) hardware circuit, as well as the principle character dot matrix display; and then in a single 16X16 LED scrolling LED dot matrix on the principles of Chinese characters; Finally, the VHDL description language program of its functions design. Through programming, debugging, simulation, download
6、 the correct character scroll achieved scan results, the experimental verification of its hardware and software are also obtained findings consistent with simulation results.Keywords: FPGA; VHDL language; Dot matrix characters display;一、引言随着世界和我国经济的高速发展,在公共场所动态显示信息已相当显眼,利用LED点阵滚动显示汉字的出现正好适应了这一市场需求,已
7、经成为信息传播的一种重要手段。采用传统方法设计的汉字滚动显示器尽管有单片机软件的支持较为灵活,但是由于受硬件资源的限制,未来对设计的变更和升级,总是难以避免要付出较多研发经费和较长投放市场周期的代价。随着电子设计自动化技术的进展,可编程FPGA器件进行系统芯片集成的新设计方法,也正在快速地取代基于PCB板的传统设计方式。因此,本文主要阐述 VHDL语言实现在16*16点阵上的汉字滚动显示问题。目前,国内从事LED显示屏生产的企业众多,同时,受到外资企业LED显示屏价格过高的影响,在中国LED显示屏市场上多以本土企业为主。目前,本土LED显示屏生产企业除供应国内需求外,还不断把产品出口到国外市场
8、。因此,本设计的研究是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度,并且采用编写灵活的VHDL语言编写主程序。二、FPGA与Quartus软件的简介1、可编程门阵列FPGAFPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。 FPGA具有掩
9、膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IRInterconnect Resource)。FPGA 的主要特点是: 寄存器数目多, 采用查找表计数,适合时序逻辑设计。 但是互连复杂, 由于互连采用开关矩阵,因而使得延时估计往往不十分准确。FPGA 也有其自身的局限性, 其一就是器件规模的限制,其二就是单元
10、延迟比较大。 所以, 在设计者选定某一FPGA器件后, 要求设计者对器件的结构、性能作深入的了解, 在体系结构设计时, 就必须考虑到器件本身的结构及性能, 尽可能使设计的结构满足器件本身的要求. 这样就增加了设计的难度。2、Quartus软件的简介QuartusII 是Altera 公司的第四代可编程逻辑器件开发软件, 它除承接原来MAX+ PLUSII 软件的全部设计功能和器件对象外, 还增加了许多新功能和新的FPGA 器件系列。QuartusII 软件提供了一种与结构无关的全集成化环境, 将设计、综合、布局和布线、系统的验证都整合到一个无缝的环境中, 使设计者能方便地对Altera 公司的
11、PLD 系列产品进行设计输入、快速处理和器件编程。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。三、点阵汉字显示的设计1、系统设计思路根据系统设计的要求,设计主要由:时钟模块、分频器模块、计数器模块、并置模块、存储器模块等构成(如图3.1所示)。其中时钟模块主要用于提供时钟信号,让电路工作。分频器主要将时钟进行分频,产生比原来时钟小得多的另一信号。 计数器模块主要在时钟的驱动下为存储器提供扫描
12、地址,实现对点阵模块的控制。并置模块主要用于将两个时钟信号并置,从而实现汉字间的循环显示。存储器模块主要用存储汉字的字型码,可通过改变字型码实现不同汉字的显示。图3.1 系统模块图2、点阵汉字的存储和显示模块用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像画在一个如图3-2所示的被分成1616共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩
13、形框上的分布,再将此分布关系以3216的数据结构组成64个字节的数据,并保存在只读存贮器ROM中。以这种方式将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。 如图3.2所示为点阵模块的实例,3.3所示为整体的点阵显示模块。图3.2 点阵仿真模块实例图3.3 整体的点阵显示模块3、分频电路模块因为本试验箱使用的时钟频率20MHZ,而我们的设计显示汉字时需要分频,这样才能完整的把所需要的汉字显示出来,也就是将20MHz时钟信号分频出1KHz, 1Hz的二种时钟信号;(1)1Hz的时钟信号主要作为所有汉字显示的扫描调变频率。(2)1KHz主要用作于每一个汉字所显示的扫描频率。1Hz的
14、分频模块如图3.4所示,1KHz的分频模块如图3.5所示:图3.4 1Hz分频模块 图3.5 1KHz分频模块4、VHDL语言程序软件设计4.1扫描频率控制的部分关键程序p1:process( clk )-分频器variable count1:integer range 0 to 10000;variable count2:integer range 0 to 20000000;beginif(clkevent and clk=1)thenif(count1=10000)thencount1:=00000;smclk=not smclk;else count1:=count1+1;end if
15、;if(count2=20000000)thencount2:=00000000; if (on_off2=1)then number=number; elsif (on_off1=1)then number=0000; else number=number+1; end if; else count2:=count2+1;end if;end if;end process p1;sel=a;line0_15doutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdo
16、utdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=x2020;end case; end process p3;end ar_dianzhenxin1;4.3 汉字滚动速度控制的部分关键程序p2:process (smclk,on_off)beginif(on_off=1)thena=0000;elsif(smclkeve
17、nt and smclk=1)thenif(a=1111)thena=0000;else a=a+1;end if;end if;end process p2;四、系统调试与仿真1、创建工程在Quartus II 中新建一个VHDL File文件,将VHDL代码输入这个文件,并保存到工作目录,名为dianzhenxin1.vhd。利用new preject wizard 工具创建一个工程,工程名为dianzhenxin1,顶层文件实体名为dianzhenxin1,并将上面创建的dianzhenxin1.vhd文件加入到工程中。2、全程编译设置好前面的内容之后,就可以进行编译了。选择Proces
18、sing菜单中start compilation,在窗口的下方processing栏中显示编译信息。完成后在工程管理窗口左是角显示了工程dianzhenxin1的层次结构和其中结构模块耗用的逻辑宏单元数。此栏的右边是编译处理流程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析等。3、管脚绑定软件仿真实现之后,要进行硬件仿真,即硬件实现。硬件实现简单明了,可以清楚的看到实验的成功与否,而且真实可靠。管脚绑定可以实现硬件和软件的完美结合,使实验清楚明白。图5.1为管脚绑定的大致图形。图5.1管脚绑定对应图4、时序仿真新建一个矢量波形文件,同时打开波形编辑器。设置仿真时间为50us,保存波
19、形文件为dianzhenxin1.vwf。仿真器参数设置。选择菜单Assignment中的Settings,在Settings窗口下选择Simulator,在右侧的simulation mode项下选择timing,即选择时序仿真,并选择仿真激励文件名dianzhenxin1.vwf。选择simulation options栏,确认选定simulation coverage reporting; 检测Glitch detection 为1ns 宽度;选中Run simulation until all vector stimuli 全程仿真。现在所有设置进行完毕,在菜单processing项下
20、选择start simulation,直到出现simulation was successful,仿真结束 。仿真文件simulation report 通常会自动弹出,否则选择processingsimulation report 。仿真图形如下:图5.2 仿真波形输出五、实验总结通过对数字集成电路课程设计的学习,我对VHDL语言有了更加深刻的认识。VHDL是超高速集成电路的硬件描述语言,它能够描述硬件的结构、行为与功能。另外,VHDL具有并发性,采用自上而下的结构式设计方法,适合大型设计工程的分工合作。在编写程序的时候,我才发现能看懂程序和能自己写程序是两个完全不同的概念,自己一开始写程序
21、时,即便是一个很简单的功能模块,在编译时也可能产生很多错误,在不断的改错过程中,自己对VHDL语言的语法结构有了深刻的理解,对编译过程中常见的错误也有了全面的认识。通过这十三周的课程设计,我在熟悉了基于FPGA设计的同时,也学到了很多在学习课本知识时所体会不到的东西。完成此次设计后,我不仅能对Quartus II 开发仿真软件熟练操作,能达到学以致用,同时还掌握了矩阵键盘和1616点阵的工作原理。经过这一过程,我发现平常的学习在注重理论知识的掌握同时,要加强实验环节,只有通过不断地实践,我们才能把知识掌握的更牢固,理解的更透彻。参考文献1综合电子设计与实践,王振红,清华大学出版社,2008年9
22、月第2版2EDA实用技术及应用,刘艳萍,国防工业出版社,2006年第1版3基于QuartusII的FPGA/CPLD数字系统设计实例,张丽敏,电子工业出版社,20074CPLD/FPGA常用模块与综合系统设计实例精讲,罗苑棠,电子工业出版社,20075EDA 工程概论M,曾繁泰,清华大学出版社,2002 年6CPLD/ FPGA 的开发与应用M,徐志军,电子工业出版社,2002 年7FPGA 原理、设计与应用M,赵雅兴,天津大学出版社,1999 年8VHDL 编程与仿真M,王毅平,人民邮电出版社,2000 年9 EDA技术实用教程, 潘松,科学出版社,200610CPLD/FPGA可编程逻辑器件应用与开发,王道宪,国防工业出版社,200411数字逻辑设计与VHDL描述,徐惠民,机械工业出版社,200212可编程逻辑器件与数字系统设计,汤琳宝,上海大学出版社,200013 FPGA设计及应用,褚振勇,西安电子科技大学出版社,200214 FPGA应用开发从实践到提高,袁文波,中国电力出版社,200715数字系统设计与Verilog HDL,王金明,电子工业出版社,200216 CPLD/FPGA的开发与应用,徐志军,电子工业出版社,200217电子设计自动化(EDA)教程,王锁萍,成都电子科技大学出版社,2000