2022年FPGA的滚字屏的显示设计李涵

上传人:资**** 文档编号:269169634 上传时间:2022-03-22 格式:DOCX 页数:28 大小:160.23KB
返回 下载 相关 举报
2022年FPGA的滚字屏的显示设计李涵_第1页
第1页 / 共28页
2022年FPGA的滚字屏的显示设计李涵_第2页
第2页 / 共28页
2022年FPGA的滚字屏的显示设计李涵_第3页
第3页 / 共28页
2022年FPGA的滚字屏的显示设计李涵_第4页
第4页 / 共28页
2022年FPGA的滚字屏的显示设计李涵_第5页
第5页 / 共28页
点击查看更多>>
资源描述

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

1、精品学习资源封面欢迎下载精品学习资源作者: PanHongliang仅供个人学习基于 FPGA的滚字屏显示设计李涵三明学院 2006 级电子科学与技术专业福建三明365004 摘要: 本文对基于 FPGA 把握的 LED 汉字滚动显示器的设计方法进行了探讨;提出了两个实现方案;并对其中一个方案作了详细说明;文中第一介绍了LED 发光二极管点阵的控欢迎下载精品学习资源制原理;然后争辩了在LED 发光二极管点阵上滚动显示汉字的方法;最终,用VHDL 语言程序设计了一个完整的LED 汉字滚动显示器;本系统由扫描把握模块、只读储备器ROM和 FPGA 外面的 LED 点阵显示模块、一个反相器和两个4-

2、16译码器构成;其中:扫描把握模块和只读储备器ROM集成在 FPGA 芯片内部;两个 4-16 译码器 74LS154 和一个反相器协作FPGA 中的列扫描把握模块共同完成了两块 16 16 点阵显示模块的 32 列的扫描把握; FPGA 定义的只读储备器ROM中储存了要显示的汉字的数据,并以16 位的数据宽度输出到LED 阵显示模块的行端,协作列扫描把握共同完成汉字的滚动显示;本系统利用数字系统设计自动化EDA 技术实现了全硬件方式的LED 点阵显示;利用FPGA 内部的物理资源,将只读储备器ROM 和主要功能模块设计在FPGA 内部;充分显示了 EDA 技术设计的灵敏性,同时也大大提高了系

3、统的集成度和稳固性; 关键词 :FPGALEDEDA动态扫描第 1 章 绪 论1.1 本设计的争辩背景和争辩目的受到体育场馆用 LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多;目前, LED已经广泛应用在银行、火车站、广告、体育场馆之中;而随着奥运会、世博会的接近, LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将显现快速增长;2007 年,中国 LED显示屏市场需求额为49.5 亿元,比 2006 年增长 22.2%,这其中全彩显示屏需求额达到21.1 亿元,占整体市场的42.6%,双色显示屏的需求额位于其次位, 需求额为 18.

4、3 亿元,占整体市场的40%,单色显示屏需求额为10.1 亿元;2021 年奥运会的召开将会直接推动体育场用屏幕数量的快速增加,同时,由于奥运会用屏对 LED 显示屏的质量要求也较高,因此,高端屏幕的使用比例也将会增加,数量和质量的提高带动LED 显示屏市场的增长;除了体育场馆之外,奥运会和世博会等重大活动召开的另始终接推动领域就是广告领域国内外的广告公司必定会看好奥运会和世博会带来的 商机,因此必定会增加广告用屏的数量来提高自身收入,从而促进了广告用屏市场的发展;图 1.1 2006-2021年中国 LED显示屏市场规模奥运会和世博会等重大活动的召开必定会相伴着许多大型活动,政府、新闻媒体和

5、各种组织都可能会在奥运会和世博会之间举办各种相关活动,某些活动可能需要大屏LED, 这些需求直接带动显示屏市场;欢迎下载精品学习资源目前,国内从事 LED 显示屏生产的企业众多,同时,受到外资企业 LED显示屏价格过高的影响,在中国 LED 显示屏市场上多以本土企业为主;目前,本土 LED 显示屏生产企业除供应国内需求外,仍不断把产品出口到国外市场;而近年来,受到成本压力的影响,国际上一些知名的LED显示屏企业也逐步把生产基地移到了中国,如巴可在北京设立了显示屏生产基地,Lighthouse在惠州也拥有生产基地, Daktronics、莱茵堡都在国内设立了生产工厂;随着国际LED 显示屏生产大

6、厂不断把生产基地转移至国内,加之国内众多的 LED显示屏本土企业,中国正在成为全球LED显示屏的主要生产基地;因此争辩争辩 LED汉字滚动显示屏的设计方法具有重要的理论和现实意义;1.2 争辩内容及方法接受传统方法设计的汉字滚动显示器,通常需要使用单片机、储备器和制约规律电路来进行 PCB(印制电路板)板级的系统集成;尽管这种方案有单片机软件的支持较为灵敏,但是由于受硬件资源的限制,将来对设计的变更和升级,总是难以防止要付出较多研发经费和较长投放市场周期的代价;随着电子设计自动化 EDA)技术的进展,基于可编程ASIC 器件的数字电子系统设计的完整方案越来越受到人们的重视,并且以EDA技术为核

7、心、的能在可编程ASIC 器件上进行系统芯片集成的新设计方法,也正在快速地取代基于PCB板的传统设计方式;如何使用EDA工具设计电子系统是人们普遍关怀的问题;在EDA工具软件 QuartusII的支持下,本设计通过了编译、适配和软件仿真验证;最终载入硬件系统证明白它的正确性;1.3 设计的主要工作本设计需要利用EDA工具软件 QuartusII编写并调试系统的VHDL程序;并且每一个模块都在这个软件下进行了仿真;系统的VHDL程序编好过后先在试验室的EDA试验箱上下载调试,成功过后再依据电路焊接相应的电路板;最好将程序下载到制好的电路上验证;第 2 章 设计方案本文系统的 LED点阵模块,共由

8、 16 32=512 个 LED发光二极管组成;如何在该点阵模块上显示汉字是本文设计的关键技术;本文系统设计是接受一种 32 路动态分时扫描技术来实现的;详细方法是,将 8 个 8 8 数组的显示模块组合成两个 16 行 16 列的扫描结构并将其串联(如图 2.1 所示);其行输入端与 FPGA内的只读储备器 ROM的 16 位数据输出端口相连; 32 个列把握端与两个 4-16 译码器 A、B 的输出相连;而译码器 A、B 的输入端和片欢迎下载精品学习资源选信号又与 FPGA内的列扫描把握模块的输出端口scan4-scan0相连;图 2.1 为方案的结构框图;第 3 章 扫描把握模块3.1

9、LED 点阵原理以下为 88 点阵 LED 外观及引脚图及其等效电路,只要其对应的X、Y 轴顺向偏压, 即可使 LED发亮;例如假如想使左上角LED点亮,就 Y0=1, X0=0 即可;应用时限流电阻可以放在 X 轴或 Y 轴;点阵 LED扫描法介绍点阵 LED一般接受扫描式显示,实际运用分为三种方式:( 1)点扫描( 2)行扫描( 3)列扫描如使用第一种方式,其扫描频率必需图大于2.1系统16的结6构4=框10图24Hz,周期小于 1ms 即可;如使用其次和第三种方式,就频率必需大于16 8=128Hz,周期小于 7.8ms即可符合视觉暂留要求;此外一次驱动一列或一行(8 颗 LED)时需外

10、加驱动电路提高图 3.1 8 8 点阵 LED 外观图欢迎下载精品学习资源电流,否就 LED亮度会不足;3.2 汉字的储备图 3.2 8 8 点阵 LED 等效欢迎下载精品学习资源用动态分时扫描技术使LED 点阵模块显示图像,需要进行两步工作;第一步是获得数据并储存,即在存贮器中建立汉字数据库;其次步是在扫描模块的把握下,协作行扫描的次序正确地输出这些数据;获得图像数据的步骤是,先将要显示的每一幅图像画在一个如图 3.3 所示的被分成 1616 共 256 个小方格的矩形框中,再在有笔划下落处的小方格里填上“ 1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布

11、,再将此分布关系以32 16 的数据结构组成64 个字节的数据,并储存在只读存贮器 ROM中;以这种方式将如干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作;然后,依次对多汉字抽取像素信息,并按序排队存放起来,便可得到一个待显示数据 序列;将这个序列存到ROM中进一步通过寻址的方法来把握该数据序列的释放过程,就可实现在 LED 发光二极管点阵上滚动显示多汉字信息的目的;欢迎下载精品学习资源由图 3.4 可知,某一时刻能在显示数据序列中定位待显示数据的地址指针可用下式计算:addr=n+m 式 3.13.3 汉字的显示其次步工作的步骤是:先在扫描模块的把握下,由地址线确定每次由ROM送

12、出某一列的 16 个 LED 所要显示的汉字的把握字节数据,同时由扫描模块输出的5 位扫描码经两个4-16译码器解码后准备相应的某一列可以被点亮,而另外31 列都不能被点亮;该状态持续约 0.4 毫秒后,就接着进行下一行的扫描;当完成了一次32 行的扫描后,也就完成了一帧画面的显示;重复上述过程不断修改ROM的地址区间的起始地址,转向下一幅画面的数图 3.4滚动显示多汉字信息的原理示意图据传送和显示;如此进行,就可以在LED点阵模块上滚动显示ROM中储备的汉字;关键部分 VHDL程序:processreset_n, clk_scan-扫描信号的输出beginifreset_n=0thencnt

13、=31 ;elsifrising_edgeclk_scanthen ifcnt=cnthighthencnt=0 ;elsecnt=cnt+1 ;end if;ifcnt =cnthigh-1thenflag_scan=1;elseflag_scan=0;end if;end if;end process;processreset_n, clk_scan , cnt beginifreset_n=0then欢迎下载精品学习资源scan scan scan scan scan scan = ZZZZZ;end case ;end if;end process;processreset_n, clk_scan , cnt , x-列数据的输出variable index: integer range 0 to L_SZbegin;ifreset_n=0thendata=0000000000000000;elsifrising_edgeclk_scantheni

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

最新文档


当前位置:首页 > 中学教育 > 高中教育

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