基于FPGA的滚字屏的显示设计说明

上传人:枫** 文档编号:431397938 上传时间:2022-12-10 格式:DOC 页数:30 大小:558KB
返回 下载 相关 举报
基于FPGA的滚字屏的显示设计说明_第1页
第1页 / 共30页
基于FPGA的滚字屏的显示设计说明_第2页
第2页 / 共30页
基于FPGA的滚字屏的显示设计说明_第3页
第3页 / 共30页
基于FPGA的滚字屏的显示设计说明_第4页
第4页 / 共30页
基于FPGA的滚字屏的显示设计说明_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于FPGA的滚字屏的显示设计说明》由会员分享,可在线阅读,更多相关《基于FPGA的滚字屏的显示设计说明(30页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的滚字屏显示设计涵学院2006级电子科学与技术专业 365004摘要:本文对基于FPGA控制的LED汉字滚动显示器的设计方法进行了探讨。提出了两个实现方案。并对其中一个方案作了详细说明。文中首先介绍了LED发光二极管点阵的控制原理;然后研究了在LED发光二极管点阵上滚动显示汉字的方法;最后,用VHDL语言程序设计了一个完整的LED汉字滚动显示器。本系统由扫描控制模块、只读存储器ROM和FPGA外面的LED点阵显示模块、一个反相器和两个4-16译码器构成。其中:扫描控制模块和只读存储器ROM集成在FPGA芯片部。两个4-16译码器和一个反相器配合FPGA中的列扫描控制模块共同完成了两

2、块1616点阵显示模块的32列的扫描控制。FPGA定义的只读存储器ROM中保存了要显示的汉字的数据,并以16位的数据宽度输出到LED阵显示模块的行端,配合列扫描控制共同完成汉字的滚动显示。本系统利用数字系统设计自动化技术实现了全硬件方式的LED点阵显示。利用FPGA部的物理资源,将只读存储器ROM和主要功能模块设计在FPGA部。充分显示了EDA技术设计的灵活性,同时也大大提高了系统的集成度和稳定性。关键词:FPGALEDEDA 动态扫描第1章 绪 论1.1 本设计的研究背景和研究目的受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国 LED显示屏应用逐步增多。目前,LED已经广泛应用在

3、银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。20XX,中国LED显示屏市场需求额为49.5亿元,比20XX增长22.2%,这其中全彩显示屏需求额达到21.1亿元,占整体市场的42.6%,双色显示屏的需求额位于第二位,需求额为18.3亿元,占整体市场的40%,单色显示屏需求额为10.1亿元。图1.1 2006-20XX中国LED显示屏市场规模20XX奥运会的召开将会直接推动体育场用屏幕数量的快速增加,同时,由于奥运会用屏对LED显示屏的质量要求也较高,因此,高端屏幕的使用比例也将

4、会增加,数量和质量的提高带动LED显示屏市场的增长。除了体育场馆之外,奥运会和世博会等重大活动召开的另一直接推动领域就是广告领域国外的广告公司必然会看好奥运会和世博会带来的商机,因此必然会增加广告用屏的数量来提高自身收入,从而促进了广告用屏市场的发展。奥运会和世博会等重大活动的召开必然会伴随着很多大型活动,政府、新闻媒体和各种组织都可能会在奥运会和世博会之间举办各种相关活动,某些活动可能需要大屏LED,这些需求直接带动显示屏市场。目前,国从事LED显示屏生产的企业众多,同时,受到外资企业LED显示屏价格过高的影响,在中国LED显示屏市场上多以本土企业为主。目前,本土LED显示屏生产企业除供应国

5、需求外,还不断把产品出口到国外市场。而近年来,受到成本压力的影响,国际上一些知名的LED显示屏企业也逐步把 生产基地移到了中国,如巴可在设立了显示屏生产基地,Lighthouse在也拥有生产基地,Daktronics、莱茵堡都在国设立了生产工厂。随着国际LED显示屏生产大厂不断把生产基地转移至国, 加之国众多的LED显示屏本土企业,中国正在成为全球LED显示屏的主要生产基地。因此研究研究LED汉字滚动显示屏的设计方法具有重要的理论和现实意义。1.2 研究容及方法采用传统方法设计的汉字滚动显示器,通常需要使用单片机、存储器和制约逻辑电路来进行PCB印制电路板板级的系统集成。尽管这种方案有单片机软

6、件的支持较为灵活,但是由于受硬件资源的限制,未来对设计的变更和升级,总是难以避免要付出较多研发经费和较长投放市场周期的代价。随着电子设计自动化EDA技术的进展,基于可编程ASIC器件的数字电子系统设计的完整方案越来越受到人们的重视,并且以EDA技术为核心、的能在可编程ASIC器件上进行系统芯片集成的新设计方法,也正在快速地取代基于PCB板的传统设计方式。如何使用EDA工具设计电子系统是人们普遍关心的问题。在EDA工具软件QuartusII的支持下,本设计通过了编译、适配和软件仿真验证。最后载入硬件系统证明了它的正确性。1.3 设计的主要工作 本设计需要利用EDA工具软件QuartusII编写并

7、调试系统的VHDL程序。并且每一个模块都在这个软件下进行了仿真。系统的VHDL程序编好过后先在实验室的EDA实验箱上下载调试,成功过后再根据电路焊接相应的电路板。最好将程序下载到制好的电路上验证。第2章 设计方案本文系统的LED点阵模块,共由1632=512个LED发光二极管组成。如何在该点阵模块上显示汉字是本文设计的关键技术。本文系统设计是采用一种32路动态分时扫描技术来实现的。具体方法是,将8个88数组的显示模块组合成两个16行16列的扫描结构并将其串联如图2.1所示。其行输入端与FPGA的只读存储器ROM的16位数据输出端口相连;32个列控制端与两个4-16译码器A、B的输出相连;而译码

8、器A、B的输入端和片选信号又与FPGA的列扫描控制模块的输出端口scan4-scan0相连。图2.1为方案的结构框图。图2.1 系统的结构框图第3章 扫描控制模块3.1 LED点阵原理以下为88点阵LED外观及引脚图及其等效电路,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。图3.1 88点阵LED外观图图3.2 88点阵LED等效图点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:1点扫描2行扫描3列扫描若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即

9、可。若使用第二和第三种方式,则频率必须大于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行8颗LED时需外加驱动电路提高电流,否则LED亮度会不足。3.2 汉字的存储用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像画在一个如图3.3所示的被分成1616共256个小方格的矩形框中,再在有笔划下落处的小方格里填上1,无笔划处填上0,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再

10、将此分布关系以3216的数据结构组成64个字节的数据,并保存在只读存贮器ROM中。以这种方式将若干个汉字的数据贮存在存贮器,就完成了图像数据库的建立工作。图3.3 1616LED点阵模块然后,依次对多汉字抽取像素信息,并按序排队存放起来,便可得到一个待显示数据序列。将这个序列存到ROM中进一步通过寻址的方法来控制该数据序列的释放过程,就可实现在LED 发光二极管点阵上滚动显示多汉字信息的目的。由图3.4可知,某一时刻能在显示数据序列中定位待显示数据的地址指针可用下式计算:addr=n+m图3.4 滚动显示多汉字信息的原理示意图3.3 汉字的显示第二步工作的步骤是:先在扫描模块的控制下,由地址线

11、确定每次由ROM送出某一列的16个LED所要显示的汉字的控制字节数据,同时由扫描模块输出的5位扫描码经两个4-16译码器解码后决定相应的某一列可以被点亮,而另外31列都不能被点亮。该状态持续约0.4毫秒后,就接着进行下一行的扫描。当完成了一次32行的扫描后,也就完成了一帧画面的显示。重复上述过程不断修改ROM的地址区间的起始地址,转向下一幅画面的数据传送和显示。如此进行,就可以在LED点阵模块上滚动显示ROM中存储的汉字。关键部分VHDL程序:process -扫描信号的输出beginifthencnt=31;elsifrising_edgethenifthencnt=0;elsecnt=cn

12、t+1;end if;ifthenflag_scan=1;elseflag_scan=0;end if;end if;end process;processbeginifthenscan=ZZZZZ;elsifrising_edgethencaset iswhen 0 = scan scan scan scan scan = ZZZZZ;end case;end if;end process;-process -列数据的输出variable index:integer range 0 to L_SZ;beginifthendata=00000;elsifrising_edgethenindex

13、:= mod L_SZ;data=ledsj;end if;end process;3.4 滚动速度的控制将LED点阵看成一个滑窗。通过这个滑窗每次能看到32个存储单元2个汉字长度的信息。只读存储器ROM中链式的存放了若干个汉字的点阵信息,滑窗在这若干个汉字点阵信息上面滑动,我们通过滑窗看到的就是汉字的滚动显示。在用VHDL编程的时候,可以定义一个变量x作为滑窗在ROM上的起始地址,设计一个进程按一定的频率对x进行累加,再设计一个进程将以x为起始地址的长度为32的ROM中的区域动态显示在LED点阵中。显然x累加的速度决定了汉字的滚动速度。关键部分的VHDL程序:process -x的控制进程variabletx:integer range 0 to 50;beginifthencntx:=0;x=0;elsifrising_edgethenifthenifcntx=n8 ortx=cntxhigh

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号