《2022年FPGA的LED×点阵汉字显示设计方案.docx》由会员分享,可在线阅读,更多相关《2022年FPGA的LED×点阵汉字显示设计方案.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源毕业设计(论文)任务书专业 班级 姓名一、课题名称:基于 FPGA 的 LED 16 16 点阵汉字显示设计二、主要技术指标:1. 本系统利用数字系统设计自动化EDA 技术实现了全硬件方式的LED 点阵显示;利用 EDA 工具软件 Muxplus 编写 VHDL程序;2. 实现任意汉字显示;3. 实现任意汉字的滚动显示;4. 进行下载仿真 ;三、工作内容和要求:1. 懂得并确认毕业设计任务书;2. 撰写完成毕业设计开题报告并经指导老师审核通过;3. 学习并把握 FPGA 的程序设计;4. 确定并完成方案论证;5. VHDL程序的编写;6. EDA 试验箱上进行调试;7. 实现汉字滚
2、动显示;四、主要参考文献 :1. 综合电子设计与实践,王振红,清华高校出版社,2021 年 9 月第 2 版;2. EDA 有用技术及应用,刘艳萍,国防工业出版社,2006 年第 1 版;学生(签名)年月 日指 导 老师(签名)年月 日教研室主任(签名)年月日系 主 任(签名)年月 日毕业设计(论文)开题报告欢迎下载精品学习资源设计 ( 论 文) 题目基于 FPGA 的 LED 16 16 点阵汉字显示设计欢迎下载精品学习资源一、选题的背景和意义:LED 点阵显示屏是集微电子技术、运算机技术、信息处理技术于一体的大型显示屏系统;它以其颜色艳丽,动态范畴广,亮度高,寿命长,工作稳固牢靠等优点而成
3、为众多显示媒体以及户外作业显示的理想选择;受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国LED显示屏应用逐步增多;目前,LED 已经广泛应用在银行、火车站、广告、体育场馆之中;而随着奥运会、世博会的接近,LED 显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将显现快速增长;因此,本设计是很有必要的,之所以基于FPGA 设计是由于现场可编程门阵列(FPGA )设计周期小,灵敏度高,适合用于小批量系统,提高系统的牢靠性和集成度;并且接受编写灵敏的VHDL 语言编写主程序;本设计可以便利的应用到各类广告宣扬中;二、课题争论的主要内容:1. 实现 1616
4、点阵的汉字显示;2. 实现有限汉字显示;4. 实现汉字的滚动显示;5. 完成方案论证;三、主要争论(设计)方法论述:通过去图书馆查阅书籍收集资料,同时在搜寻引擎上检索资料,分析借鉴已有类似产品、设计方案与成功体会,选择几种可行方案比对,最终确定最切实可行的方案开放设计;通过 Multisim 或 Quartus 软件对系统进行模拟仿真,对电路功能进行改进与完善;在 EDA 试验箱上进行调试;四、设计(论文)进度支配:时间(迄止日期)工作内 容欢迎下载精品学习资源2021.5.17-5.23(第 1 周)2021.5.24-5.30(第 2 周)懂得并确认毕业设计任务书,撰写完成毕业设计开题报告
5、完成调研与资料收集、整理欢迎下载精品学习资源2021.5.31-6.6(第 3 周)2021.6.7-7.4(第 4、 5、6、7周)2021.7.5-7.18(第 8、9 周) 2021.19-8.1(第 10、11 周)四、.8.2-8.8(第 12 周)2021.8.9-8.16设计方案及原理框图确定电路资料收集,单元电路设计电路仿真与改进、完善资料整理书写毕业设计报告欢迎下载精品学习资源(第 13 周)修改毕业设计报告并整理装订五、指导老师看法:指导老师签名:年 月日欢迎下载精品学习资源六、系部看法:系主任签名:年月日目录欢迎下载精品学习资源摘要ABSTRACT第一章前言 11.1 本
6、设计的争论背景和争论目的 11.2 LED点阵显示特点 11.3 FPGA设计的特点 1欢迎下载精品学习资源2.1 设计任务与要求 32.1.1 设计任务 32.1.2 设计要求 32.2 设计原理 32.2.1 总体设计方案 32.2.2 方案的比较 42.3 扫描把握模块 42.3.1 LED 的显示原理 42.3.2 汉字的储备 42.4 汉字显示 52.4.1 列循环扫描 52.4.2 字符样式设计 62.4.3 字母循环扫描及期间的延时环节2.5 整个完整的程序第三章系统调试与仿真3.1 开发环境介绍 143.2 调试与仿真 149错误!未定义书签;3.2.1 创建工程 143.2.
7、2 编译前设置 143.2.3 全程编译 163.2.4 时序仿真 16第四章终止语 错误!未定义书签;答谢辞 18参考文献 18其次章系统设计 错误!未定义书签;9摘要主要争论基于 VHDL的 Led 点阵汉字滚动显示;第一描述了基于现场可编程门阵( FPGA)的硬件电路,以及点阵显示汉字的原理;然后在单个16X16 LED 发光二极管点阵上滚动汉字的原理;最终给出了描述其功能的VHDL语言程序设计方法;通过编程、调试、仿真、下载正确地实现了汉字滚动显示扫描结果,其硬件系统的试验验证也获得了与软件模拟仿真结论相吻合的结果;关键词:LED点阵; FPGA;VHDL语言;汉字滚动显示Abstra
8、ctPrimary research is based on VHDL, Led Scrolling dot matrix characters. First described based on field programmable gate array FPGA hardware circuit, as well as the principle欢迎下载精品学习资源character dot matrix display; and then in a single 16X16 LED scrolling LED dot matrix onthe principles of Chinese
9、character;sFinally, the VHDL description language program of itsfunctions design. Through programming, debugging, simulation, download the correct character scroll achieved scan results, the experimental verification of its hardware and software are also obtained findings consistent with simulation
10、results.Keywords: LED dot-matrix ; FPGA; VHDL language; character scrolling displa欢迎下载精品学习资源第一章 前言1.1 本设计的争论背景和争论目的受到体育场馆用 LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多;目前, LED已经广泛应用在银行、火车站、广告、体育场馆之中;而随着世博会的接近, LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将显现快速增长;目前,国内从事 LED 显示屏生产的企业众多,同时,受到外资企业LED显示屏价格过高的影响,在中国
11、 LED 显示屏市场上多以本土企业为主;目前,本土LED 显示屏生产企业除供应国内需求外,仍不断把产品出口到国外市场;而近年来,受到成本压力的影响,国际上一些知名的LED 显示屏企业也逐步把生产基地移到了中国,如巴可在北京设立了显示屏生产基地, Lighthouse在惠州也拥有生产基地, Daktronics、莱茵堡都在国内设立了生产工厂;随着国际LED 显示屏生产大厂不断把生产基地转移至国内,加之国内众多的 LED 显示屏本土企业,中国正在成为全球LED 显示屏的主要生产基地;因此争论 LED汉字滚动显示屏的设计方法具有重要的理论和现实意义;随着我国经济的高速进展 , 对公共场合发布信息的需
12、求日益增长,利用LED点阵滚动显示汉字的显现正好适应了这一市场需求,已经成为信息传播的一种重要手段;接受传统方法设计的汉字滚动显示器,通常需要使用单片机、储备器和制约规律电路来进行 PCB板级的系统集成;尽管这种方案有单片机软件的支持较为灵敏,但是由于受硬件资源的限制,将来对设计的变更和升级,总是难以防止要付出较多研发经费和较长投放市场周期的代价;随着电子设计自动化(EDA)技术的进展,基于可编程 FPGA器件进行系统芯片集成的新设计方法,也正在快速地到代基于PCB板的传统设计方式;因此,本设计的争论是很有必要的,之所以基于FPGA设计是由于现场可编程门阵列( FPGA)设计周期小,灵敏度高,
13、适合用于小批量系统,提高系统的牢靠性和集成度;并且接受编写灵敏的 VHDL语言编写主程序;1.2 LED 点阵显示特点(1) 可以显示各种数字、文字、图表、曲线、图形;(2) 接受纯红、高绿作双基色发光器件,发光亮度高,颜色艳丽、丰富;(3) 显示成效清晰、稳固、功耗低、寿命长;(4) 优质铝合金结构,磨沙、银镜或钛金不锈钢包边;尺寸和规格可依据需要灵敏组合;(5) 支持各种运算机网络,编辑软件丰富、易用;(6) 适用于室内、外全部信息发布及广告宣扬场所;如:银行、证券交易所、商场、市场、宾馆、洒楼、电信、邮政、医院、车站、机场等;1.3 FPGA 设计的特点FPGA通常被认为是ASIC 实现
14、的一种替代手段 .一般 ASIC 包括三种 ,既全定欢迎下载精品学习资源制、半定制 含标准单元和门阵列 以及可编程器件;对于前两种,需要支付不行重复使用的工程费用 NRE Non recurring Engineering ,主要用于芯片的流片、中测、 分析的工程开销 ,一次费用一般在 1 万至数万美元以上;假如一次不成功、返工、甚至多次返工 ,NRE 费用将要上升;成本高、风险大 ,而通常对每个 ASIC 品种的需求量往往不大 ,NRE 费用分摊到每个产品上价太高,用户无法接受;而对于可编程器件PLD Programmable Logic Device正是可以解决上述问题的新型ASIC, P
15、LD 以其操作灵敏、使用便利、开发快速、投资风险小等突出优点,特别适合于产品开发初期、科研 样品研制或小批量的产品 . FPGA 是一种新型的 PLD, 其除了具有 PLD 的优点外 ,其规模比一般的PLD 的规模大;目前,Xilinx推出的 XC4025 可以达到 25000 门的规模,Altera公司的 FLEX10K100系列芯片可达到十万门的规模 , 完全可以中意用户的一 般设计需要;FPGA 的主要特点是 :寄存器数目多 ,接受查找表计数 , 适合时序规律设计;但 是互连复 杂,由 于互 连接受开 关矩 阵, 因而使 得延 时估 计 往往 不特别准 确;FPGA 也有其自身的局限性
16、,其一就是器件规模的限制 , 其二就是单元推迟比较大; 所以,在设计者选定某一 FPGA器件后 ,要求设计者对器件的结构、性能作深化 的明白 ,在体系结构设计时 ,就必需考虑到器件本身的结构及性能,尽可能使设计的结 构 满 足 器 件 本 身 的 要 求 .这 样 就 增 加 了 设 计 的 难 度 ;离开对 FPGA结构的详细明白 ,设计人员就不行能优化设计;因而设计人员必 须 了 解FPGA器 件 的 特 性 和 限 制 ,熟 悉FPGA的 结 构 ;在明白 FPGA结构特点的基础上 ,就可以利用VHDL语言描写出高效的电路描述实现性能优化的电路;欢迎下载精品学习资源其次章 系统设计2.1
17、 设计任务与要求2.1.1 设计任务(1) 设计一个 16 16 的 LED点阵显示器;(2) 在设计过程中, EDA试验箱进行仿真调试;2.1.2 设计要求(1) 输出预定义“王、日、田、口”四个汉字;(2) 输出汉字循环显示;(3) 操作便利、可爱护性高;(4) 程序简捷,便于修改;2.2 设计原理2.2.1 总体设计方案方案一: 本设计所使用的 16 16 的点阵, EDA试验箱上有其接口电路,列选信号为 SEL0,SEL1, SEL2,SEL3,经 4 线 16 线译码器输出 16 列,从左起为第一列,列选信号是由一个 4 位向量 SEL3.0把握;行选信号为 H0H15,是由 16
18、个行信号组成的, 每 一行 由一 个单 独 的位 来 控 制 , 高 电平 有 效 ; 例 如“ 0000 ” 表 示第 0 列 , “ 0000000000000001”表示第一行的点亮;由于列是由一个向量准备,而每一时刻的值只能有一个固定的值,因而只能使某一列的如干个点亮,因此就准备了只能用逐列扫描的 方 法 ; 例 如 要 使 第 一 列 的2,4,6,8, 行 亮 , 就 列 为 “ 0001 ” 、 行 为“0000000010101010”就可以实现了;方案二: VHDL程序设计的是硬件,他和编程语言的最大区分是它可以“并发执行”;本设计可以将 LED 显示屏要的显示内容抽象成一个
19、二维数组(数组中的 1对映点阵显示屏上面的亮点),用 VHDL语言设计一个进程将这个数组动态显示在 LED 显示屏上更新,数再组利数用据另一个进程对这个数组按二一维定数频组率进行数据更新,更新的方式动可态以显有示多种;由于两个进程是同时进行的(并发执行),假如对数组中的汉字数据按滚动的方式更新,就可实现汉字的滚动显示;如图2-1 为该方案原理图;图 2-1方案二原理图欢迎下载精品学习资源2.2.2 方案的比较方案一很简洁实现,而且占用FPGA的资源较少;但是由于其实现方式的局限性, 该方案只能实现汉字的滚动显示;方案二中将LED 点阵抽象成了一个二维数组;可以设计一些比较复杂的算法来把握这个数
20、组,使设计的系统不但可以滚动显示汉字,仍可以扩展一些其它的显示成效;但是方案二中对数组的处理部分对FPGA芯片的资源消耗太高校校试验室里的 EPF10K10LC84-4芯片只有 576 个规律单元远远不够设计要求;所以最终选择方案一;2.3 扫描把握模块2.3.1 LED 的显示原理1616 扫描 LED点阵的工作原理同 8 位扫描数码管类似;它有 16 个共阴极输出端口, 每个共阴极对应有 16 个 LED 显示灯,所以其扫描译码地址需4 位信号线( SEL0- SEL3),其汉字扫描码由16 位段地址( 0-15 )输入; 通过时钟的每列扫描显示完整汉字;图 2-2 LED灯红绿信号图 2
21、-3 1616 点阵 LED 等效电路点阵 LED一般接受扫描式显示,实际运用分为三种方式:(1) 点扫描(2) 行扫描(3) 列扫描如使用第一种方式,其扫描频率必需大于1664=1024Hz,周期小于 1ms 即可;如使用其次和第三种方式,就频率必需大于168=128Hz,周期小于 7.8ms 即可符合视觉暂留要求;此外一次驱动一列或一行(8 颗 LED)时需外加驱动电路提高电流,否就LED亮度会不足;2.3.2 汉字的储备用动态分时扫描技术使LED 点阵模块显示图像,需要进行两步工作;第一步是获得数据并储存,即在存贮器中建立汉字数据库;其次步是在扫描模块的把握下,协作 行扫描的次序正确地输
22、出这些数据;获得图像数据的步骤是,先将要显示的每一幅图像画在一个如图 3.3 所示的被分成 1616 共 256 个小方格的矩形框中,再在有笔划下落处的小方格里填上“ 1”,无笔划处填上“ 0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以3216 的数据结构组成 64 个字节的数据,并储存在只读存贮器ROM中;以这种方式将如干个汉字的数据贮存在存贮 器内,就完成了图像数据库的建立工作;欢迎下载精品学习资源2.4 汉字显示汉字显示使用的是16 16 的点阵, EDA 试验箱上有其接口电路,列选信号为SEL0,SEL1,SEL2,SEL3,经 4 线 16 线译码
23、器输出 16 列,从左起为第一列,列选信号是由一个 4 位向量 SEL3.0把握;行选信号为 H0H15,是由 16 个行信号组成的,每一行 由 一 个 单 独 的 位 来 控 制 , 高 电 平 有 效 ; 例 如 “ 0000 ” 表 示 第 0列 , “ 0000000000000001”表示第一行的点亮;由于列是由一个向量准备,而每一时刻的值只能有一个固定的值,因而只能使某一列的如干个点亮,因此就准备了只能用逐列扫描的 方 法 ; 例 如 要 使 第 一 列 的2,4,6,8, 行 亮 , 就 列 为 “ 0001 ” 、 行 为“0000000010101010”就可以实现了;下面是
24、各个部分的程序设计:2.4.1 列循环扫描列循环扫描通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉;因此要把握扫描的频率,不能太低,否就,就会造成视觉上的不连续,本设计的扫 描 频率不 得 低于50Hz,扫描 程序如下 :欢迎下载精品学习资源Library ieee;use ieee.std_logic_1164.a;ll use ieee.std_logic_unsigned.a;ll Entity dz_xs isPortenable,clk:in std_logic;- 端口定义 输入信号Sel:out std_logic_vector3 downto
25、0;- 端口定义 输出信号End dz_xs;Architecture count of dz_xs isSignal lie:std_logic_vector3 downto 0;BeginProcessclk,enable- 脉冲、使能信号begin欢迎下载精品学习资源End if ;If clkevent and clk=1then If enable=1 thenIf lie0000 then Lie=lie-0001 ;ElseLie=1111;End if;欢迎下载精品学习资源End if ;SelCase lie is- “王”字设计When 0011=h0=00010001;h
26、8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00000000;h8Case lie is- “日”字设计When0101=h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00000000;h8Case
27、lie is- “田”字设计When0100=h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00000000;h8Case lie is- “口”字设计When0101=h0=00011111;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00011111;h8h0=00000000
28、;h8h0=00000000;h8=00000000;欢迎下载精品学习资源End case; End if;End if ;End process;2.4.3 字母循环扫描及期间的延时环节为使字母不断地循环显示,并且使每个字母之间有停顿,就需要在中间加确定的延时和循环环节;在这一环节中,可以通过修改其数值来把握每个字母的显示时间;其程序如下:processclkvariable int: integer range 0 to 10000;beginif clk event and clk= 1 then if int10000 thenint:=int+1 ;elseint:=0 ;if ne
29、xt1=” 11” thennext1= ” 00;”欢迎下载精品学习资源end if;end if;end process;elseend if;next10000 then Lie=lie-0001 ;ElseLie=1111;End if;欢迎下载精品学习资源End if ;SelCase lie isWhen 0011=h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=000100
30、01;h8h0=00010001;h8h0=00000000;h8 Case lie isWhen0101=h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00000000;h8Case lie is When0100=h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h
31、0=00011111;h8h0=00000000;h8 Case lie isWhen0101=h0=00011111;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00011111;h8h0=00000000;h8h0=00000000;h8=00000000;End case; End if;End if ;End process;a3:processclkvariable int: integer range 0 to 10000;beginif clk event and clk=
32、1 then if int10000 thenint:=int+1 ;欢迎下载精品学习资源elseint:=0 ;if next1=” 11” thennext1= ” 00;”欢迎下载精品学习资源欢迎下载精品学习资源end if;end if;end process;elseend if;next1= next1+;1欢迎下载精品学习资源endcount;欢迎下载精品学习资源第三章系统调试与仿真3.1 开发环境介绍Quartus II是 Altera公司的综合性 PLD开发软件,支持原理图、 VHDL、Veril- ogHDL 以及 AHDL(Altera Hardware Descript
33、ion Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程;Quartus II支持 Altera的 IP 核,包含了 LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度;对第三方 EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟识的第三方EDA工具;此外, Quartus II通过和 DSP Builder工具与 Matlab/Simulink相结合,可以便利地实现各种 DSP应用系统;支持 Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程规律设计于一体,是一种综合性的开发平台;3.2 调试与仿真3.2.1 创建工程在 Quartus II中新建一个 VHDL File文件,将 VHDL代码输入这个文件,并储存到工作目录,名为yz_ok.vhd ;利用 new preject wizard工具创建一个工程,工程名为y