2、8-8-点阵汉字滚动显示

  • 格式:doc
  • 大小:268.00 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VHDL/EDA实习报告

设计题目:基于FPGA的8*8点阵汉字滚动显示

目录

FPGA设计的特点 (2)

设计任务与要求 (3)

设计原理 (3)

LED点阵原理 (3)

汉字的存储 (5)

字符样式设计 (7)

开发环境介绍 (13)

FPGA设计的特点

FPGA 通常被认为是ASIC 实现的一种替代手段. 一般ASIC 包括三种, 既全定制、半定制(含标准单元和门阵列) 以及可编程器件。对于前两种, 需要支付不可重复使用的工程费用NRE (Non recurring Engineering) , 主要用于芯片的流片、中测、分析的工程开销, 一次费用一般在 1 万至数万美元以上。如果一次不成功、返工、甚至多次返工,NRE 费用将要上升。成本高、风险大, 而通常对每个ASIC 品种的需求量往往不大,NRE 费用分摊到每个产品上价太高, 用户无法接受。而对于可编程器件PLD (Programmable Logic Device) 正是可以解决上述问题的新型ASIC, PLD 以其操作灵活、使用方便、开发迅速、投资风险小等突出优点, 特别适合于产品开发初期、科研样品研制或小批量的产品. FPGA 是一种新型的PLD, 其除了具有PLD 的优点外, 其规模比一般的PLD 的规模大。目前,Xilinx 推出的XC4025 可以达到25000 门的规模,Altera 公司的FLEX10K100 系列芯片可达到十万门的规模,完全可以满足用户的一般设计需要。

FPGA 的主要特点是: 寄存器数目多, 采用查找表计数,适合时序逻辑设计。但是互连复杂, 由于互连采用开关矩阵,因而使得延时估计往往不十分准确。

FPGA 也有其自身的局限性, 其一就是器件规模的限制,其二就是单元延迟比较大。所以, 在设计者选定某一FPGA器件后, 要求设计者对器件的结构、性能作深入的了解, 在体系结构设计时, 就必须考虑到器件本身的结构及性能, 尽可能使设计的结构满足器件本身的要求. 这样就增加了设计的难度。

离开对FPGA 结构的详细了解, 设计人员就不可能优化设计。因而设计人员必须了解FPGA 器件的特性和限制, 熟悉FPGA 的结构。

在了解FPGA 结构特点的基础上, 就可以利用VHDL 语言描写出高效的电路描述实现性能优化的电路。

设计的主要工作

本设计需要利用EDA工具软件QuartusII编写并调试系统的VHDL程序。并且每一个模块都在这个软件下进行了仿真。系统的VHDL程序编好过后先在实验室的EDA实验箱上下载调试,成功过后再根据电路焊接相应的电路板。最好将程序下载到制好的电路上验证。

设计任务与要求

(1)在8*8LED发光二极管点阵上由右至左的方向滚动显示多个汉字

(2)使用FPGA芯片实现硬件设计,并提供后置配置方案

(3)建立描述滚动显示多汉字信息原理的数学模型。

输出预定义“北华电子”

设计原理

LED点阵原理

以下为8×8点阵LED外观及引脚图及其等效电路,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。

图3.1 8×8点阵LED外观图

图3.2 8×8点阵LED等效图

点阵LED扫描法介绍

点阵LED一般采用扫描式显示,实际运用分为三种方式:

(1)点扫描

(2)行扫描

(3)列扫描

若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms 即可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms 即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。

8×8扫描LED点阵的工作原理同8位扫描数码管类似。它有8个共阴极输出端口,每个共阴极对应有8个LED显示灯,所以其扫描译码地址需3位信号线(SEL0-SEL2),其汉字扫描码由16位段地址(0-8)输入。通过时钟的每列扫描显示完整汉字。

设计方案

方案一

8×8扫描LED点阵只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X 轴或Y轴。它有8个共阴极输出端口,每个共阴极对应有8个LED显示灯。本实验就是要通过芯片产生读时序,将字形从寄存器中读出,然后产生写时序,写入8×8的点阵,使其扫描显示输出。为了显示整个汉字,首先分布好汉字的排列,以列给出汉字信息(从8个Y轴线输入字模信息);然后以128HZ的时序逐个点亮每一行(行扫描),即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。

LED点阵每个点都有一个红色的发光二极管。点阵内的二极管间的连接都是行共阳,列共阴(要点亮的二极管给出低电平字模信息)。本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。本实验采取行扫描方式,用列给文字信息,利用周期为1s的脉冲来控制所显示的字。

汉字的存储

用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像分成8×8共64个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以32×16的数据结构组成64个字节的数据,并保存在只读存贮器ROM中。以这种方式将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。