8-8 点阵汉字滚动显示

上传人:豆浆 文档编号:11385516 上传时间:2017-10-13 格式:DOC 页数:14 大小:272.50KB
返回 下载 相关 举报
8-8 点阵汉字滚动显示_第1页
第1页 / 共14页
8-8 点阵汉字滚动显示_第2页
第2页 / 共14页
8-8 点阵汉字滚动显示_第3页
第3页 / 共14页
8-8 点阵汉字滚动显示_第4页
第4页 / 共14页
8-8 点阵汉字滚动显示_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《8-8 点阵汉字滚动显示》由会员分享,可在线阅读,更多相关《8-8 点阵汉字滚动显示(14页珍藏版)》请在金锄头文库上搜索。

1、VHDL/EDA 实习报告设计题目:基于 FPGA 的 8*8 点阵汉字滚动显示 设 计 者: 孙建章学 号: 15 号班 级: 电子 10-1指导老师: 赵玉刚实习时间: 2013/3/1121 FPGA 设计的特点FPGA 通常被认为是 ASIC 实现的一种替代手段. 一般 ASIC 包括三种, 既全定制、半定制(含标准单元和门阵列) 以及可编程器件。对于前两种, 需要支付不可重复使用的工程费用 NRE (Non recurring Engineering) , 主要用于芯片的流片、中测、分析的工程开销, 一次费用一般在 1 万至数万美元以上。如果一次不成功、返工、甚至多次返工,NRE 费

2、用将要上升。成本高、风险大, 而通常对每个 ASIC 品种的需求量往往不大,NRE 费用分摊到每个产品上价太高, 用户无法接受。而对于可编程器件 PLD (Programmable Logic Device) 正是可以解决上述问题的新型 ASIC, PLD 以其操作灵活、使用方便、开发迅速、投资风险小等突出优点, 特别适合于产品开发初期、科研样品研制或小批量的产品. FPGA 是一种新型的 PLD, 其除了具有 PLD 的优点外, 其规模比一般的 PLD 的规模大。目前,Xilinx 推出的 XC4025 可以达到 25000 门的规模,Altera 公司的 FLEX10K100 系列芯片可达

3、到十万门的规模,完全可以满足用户的一般设计需要。FPGA 的主要特点是: 寄存器数目多, 采用查找表计数,适合时序逻辑设计。但是互连复杂, 由于互连采用开关矩阵,因而使得延时估计往往不十分准确。FPGA 也有其自身的局限性, 其一就是器件规模的限制,其二就是单元延迟比较大。 所以, 在设计者选定某一 FPGA 器件后, 要求设计者对器件的结构、性能作深入的了解, 在体系结构设计时, 就必须考虑到器件本身的结构及性能, 尽可能使设计的结构满足器件本身的要求. 这样就增加了设计的难度。离开对 FPGA 结构的详细了解, 设计人员就不可能优化设计。因而设计人员必须了解 FPGA 器件的特性和限制,

4、熟悉 FPGA 的结构。在了解 FPGA 结构特点的基础上, 就可以利用 VHDL 语言描写出高效的电路描述实现性能优化的电路。设计的主要工作本设计需要利用 EDA 工具软件 QuartusII 编写并调试系统的 VHDL 程序。并且每一个模块都在这个软件下进行了仿真。系统的 VHDL 程序编好过后先在实验室的 EDA 实验箱上下载调试,成功过后再根据电路焊接相应的电路板。最好将程序下载到制好的电路上验证。设计任务与要求(1)在 8*8LED 发光二极管点阵上由右至左的方向滚动显示多个汉字(2)使用 FPGA 芯片实现硬件设计,并提供后置配置方案(3)建立描述滚动显示多汉字信息原理的数学模型。

5、输出预定义“北华电子”设计原理LED 点阵原理以下为 88 点阵 LED 外观及引脚图及其等效电路,只要其对应的 X、Y轴顺向偏压,即可使 LED 发亮。例如如果想使左上角 LED 点亮,则Y0=1, X0=0 即可。应用时限流电阻可以放在 X 轴或 Y 轴。图 3.1 88 点阵 LED 外观图点阵 LED 扫描法介绍点阵 LED 一般采用扫描式显示,实际运用分为三种方式: (1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于 1664=1024Hz,周期小于 1ms即可。若使用第二和第三种方式,则频率必须大于 168=128Hz,周期小于7.8ms 即可符合视觉暂留要求

6、。此外一次驱动一列或一行(8 颗 LED)时需外加驱动电路提高电流,否则 LED 亮度会不足。88 扫描 LED 点阵的工作原理同 8 位扫描数码管类似。它有 8 个共阴极输出端口,每个共阴极对应有 8 个 LED 显示灯,所以其扫描译码地址需 3 位信号线(SEL0-SEL2) ,其汉字扫描码由 16 位段地址(0-8)输入。 通过时钟的每列扫描显示完整汉字。图 3.2 88 点阵 LED 等效图设计方案方案一88 扫描 LED 点阵只要其对应的 X、Y 轴顺向偏压,即可使 LED 发亮。例如如果想使左上角 LED 点亮,则 Y0=1,X0=0 即可。应用时限流电阻可以放在X 轴或 Y 轴。

7、它有 8 个共阴极输出端口,每个共阴极对应有 8 个 LED 显示灯。本实验就是要通过芯片产生读时序,将字形从寄存器中读出,然后产生写时序,写入88 的点阵,使其扫描显示输出。为了显示整个汉字,首先分布好汉字的排列,以列给出汉字信息(从 8 个 Y 轴线输入字模信息);然后以 128HZ 的时序逐个点亮每一行(行扫描),即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。LED 点阵每个点都有一个红色的发光二极管。点阵内的二极管间的连接都是行共阳,列共阴(要点亮的二极管给出低电平字模信息)。本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态

8、,不放光。本实验采取行扫描方式,用列给文字信息,利用周期为 1s 的脉冲来控制所显示的字。汉字的存储用动态分时扫描技术使 LED 点阵模块显示图像,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像分成 88 共 64 个小方格的矩形框中,再在有笔划下落处的小方格里填上“1” ,无笔划处填上“0” ,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以 3216 的数据结构组成 64 个字节的数据,并保存在只读存贮器 ROM 中。以这种方式将若

9、干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。 汉字显示汉字显示使用的是 88 的点阵,EDA 实验箱上有其接口电路,列选信号为SEL0,SEL1,SEL2 经 4 线 8 线译码器输出 8 列,从左起为第一列,列选信号是由一个 3 位向量 SEL2.0控制;行选信号为 H0H7,是由 8 个行信号组成的,每一行由一个单独的位来控制,高电平有效。例如“0000”表示第 0 列, “ 00000001”表示第一行的点亮。由于列是由一个向量决定,而每一时刻的值只能有一个固定的值,因而只能使某一列的若干个点亮,因此就决定了只能用逐列扫描的方法。例如要使第一列的 2,4,6,8,行亮,则

10、列为“001” 、行为“10101010”就可以实现了。下面是各个部分的程序设计列循环扫描通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉。因此要控制扫描的频率,不能太低,否则,就会造成视觉上的不连续,本设计的扫描频率不得低于 50Hz,扫描程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity dz_xs isPort(enable,clk:in std_logic; -端口定义 输入信号Sel:out std_logic_vector(2 dow

11、nto 0); -端口定义 输出信号End dz_xs;Architecture count of dz_xs is Signal lie:std_logic_vector(2 downto 0);BeginProcess(clk,enable) -脉冲、使能信号beginIf clkevent and clk=1thenIf enable=1 thenIf lie000 thenLieCase lie is -“北”字设计When 000=h0h0h0h0h0h0h0h0Case lie is -“华”字设计When000=h0h0h0h0h0h0h0h0h00);ELSE Qdata da

12、ta data data data data data data null ;end case ;end if ;end process P1;-P2 : process(clk)beginif clkevent and clk =1 then cnt8 = cnt8+1;end if ;end process P2;-process(cont)beginif cont=00000 then d0= 00010100; -北 0d1= 00010100; -北 1d2= 01111110; -北 2d3= 00000000; -北 3d4= 01111110; -北 4d5= 01010000

13、; -北 5d6= 01010000; -北 6d7= 01100000; -北 7。 。 。 。 。 。elsif cont=11011 then d0= 00001001; -子 0d1= 00001001; -子 1d2= 01001001; -子 2d3= 11111001; -子 3d4= 00001101; -子 4d5= 00001011; -子 5d6= 00001001; -子 6d7= 00000000; -子 7end if;end process;end behave;程序电路图:clk_1khzclk_1hzred2.0com7.0led_dianzhenginst1

14、仿真波形图:方案二总结:由于方案二相比较方案一来说在结构上要简单些,所以在小组成员的共同努力下,方案二顺利完成,最终成功滚动显示汉字:北华电子。开发环境介绍Quartus II 是 Altera 公司的综合性 PLD 开发软件,支持原理图、VHDL、Veril-ogHDL 以及 AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。Quartus II 支 持 Altera 的 IP 核 , 包 含 了 LPM/MegaFunction 宏 功 能模 块 库 ,

15、使 用 户 可 以 充 分 利 用 成 熟 的 模 块 , 简 化 了 设 计 的 复 杂 性 、 加 快 了 设计 速 度 。 对 第 三 方 EDA 工 具 的 良 好 支 持 也 使 用 户 可 以 在 设 计 流 程 的 各 个 阶 段使 用 熟 悉 的 第 三 方 EDA 工 具 。此 外 , Quartus II 通 过 和 DSP Builder 工 具 与 Matlab/Simulink 相 结合 , 可 以 方 便 地 实 现 各 种 DSP 应 用 系 统 ; 支 持 Altera 的 片 上 可 编 程 系 统( SOPC) 开 发 , 集 系 统 级 设 计 、 嵌 入 式 软 件 开 发 、 可 编 程 逻 辑 设 计 于 一 体 ,是 一 种 综 合 性 的 开 发 平 台 。实习总结:通过这一周

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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