第二章 系统方案设计
第二章 系统方案设计
2.1设计任务与要求
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位向量SEL[3..0]控制;行选信号为H0~H15,是由16个行信号组成的,每一行由一个单独的位来控制,高电平有效。例如“0000”表示第0列,“0000000000000001”表示第一行的点亮。由于列是由一个向量决定,而每一时刻的值只能有一个固定的值,因而只能使某一列的若干个点亮,因此就决定了只能用逐列扫描的方法。例如要使第一列的2,4,6,8,行亮,则列为“0001”、行为“0000000010101010”就可以实现了。
方案二:VHDL程序设计的是硬件,他和编程语言的最大区别是它可以“并发执行”。本设计可以将LED显示屏要的显示内容抽象成一个二维数组(数组中的‘1’对映点阵显示屏上面的亮点),用VHDL语言设计一个进程将这个数组动态显示在LED显示屏上,再利用另一个进程对这个数组按一定频率进行数据更新,更新的方式可以有多种。因为两个进程是同时进行的(并发执行),如果对数组中的汉字数据按滚动的方式更新,则可实现汉字的滚动显示。如图2-1为该方案原理图。
更更更更更更更更更更
图2-1方案原理图
更更更更2.2.2方案比较
方案一很容易实现,而且占用 FPGA 的资源较少。但是由于其实现方式的局限性,该方案只能实现汉字的滚动显示。方案二中将 LED 点阵抽象成了一
5
淮安信息职业技术学院毕业设计论文
个二维数组。可以设计一些比较复杂的算法来控制这个数组,使设计的系统不但可以滚动显示汉字,还可以扩展一些其它的显示效果。但是方案二中对数组的处理部分对 FPGA 芯片的资源消耗太大学校实验室里的 EPF10K10LC84-4 芯片只有 576个逻辑单元远远不够设计要求。所以最终选择方案一。
2.3扫描控制模块
2.3.1 LED的显示原理
16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个 LED显示灯,所以其扫描译码地址需4位信号线(SEL0-SEL3),其汉字扫描码由16位段地址(0-15)输入。 通过时钟的每列扫描显示完整汉字。
图2-2 LED灯信号
6
第二章 系统方案设计
图2-3LED等效电路
2.3.2 LED点阵的显示方式
点阵LED一般采用扫描式显示,实际运用分为三种方式: (1)点扫描 (2)行扫描 (3)列扫描
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
2.4 LED点阵汉字的存储
用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像画在一个如图2-4所示的被分成16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以32×16的数据结构组成64个字节的数据,并保存在只读存贮器ROM中。以这种方式将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。
7
淮安信息职业技术学院毕业设计论文
图2-4 16×16 LED 点阵模块
2.5 本章小结
本章主要讲述设计任务与要求,方案的设计与比较。并对扫描控制模块和LED点阵汉字的存储做了进一步介绍,分析了LED点阵的工作原理。
8
第三章 硬件设计
第三章 硬件设计
3.1功能要求
设计一个室内用16×16 点阵 LED 图文显示屏,要求在目测条件下LED 显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
3.2硬件说明
FPGA芯片采用ALTERA公司的CYCLONE系列EPlC3T144C8。
EPlC3T144C8内部包含2910个逻辑单元,104个I/O引脚,13块128*36bit的RAM共52K,适合设计双DRAM、ROM和FIFO等器件,还有一个可编程触发器和一个给进位和层叠功能专用的信号通道。为了提高FPGA的工作速度,ALTERA的FPGA芯片普遍采用了锁相环技术。时钟可以通过FPGA内建的锁相环进行倍频,使得较慢的外部时钟在FPGAI为部驱动高速电路工作。
单片机采用深圳宏晶科技的STC89C52RC。STC89LE52RC是一款低功耗、高速且抗干扰能力强的单片机。指令代码完全兼容传统的8051单片机,它不但具有普通51核单片机的特点,而且增加了新的功能。在5V电压工作下,提供最高80MHz的时钟频率。内部RAM加大到了512字节,FLASH存储器为8K,EEPROM为2K,增加了P4口,可进行双倍速设定,增加了看门狗,防止死机功能。抗干扰与防解密方面都比普通的51单片机强。在程序下载方面,无需使用专门的编程器和下载线,只要一根9针的串口线就可以实现程序的在线烧写。
数模转换器采用转换速率为10M的双通道并行电流输出型DA转换器TLC7528。双路的DA输出都已经用运放TL082进行电流到电压的转换,并且双路输出都可以用跳线帽设置成单极性输出,双极性输出。也可以将两个通道结合起来,实现幅度程控输出。数据采集同样使用德州仪器的TLC5510,最高采样率为20M。用于数据采集,任意信号的输入。
存储器使用64K的,2C总线控制的FLASH存储器,和512K'8的高速IS61LV5128的静态存储器,它拥有64MB的存储空间,满足数据的存储要求。
另外设计有丰富的人机界面。4*4的行列式键盘输入,有AS配置模式和JTAG配置模式的接口,另有液晶显示器的接口,便于数据的获取。
3.3硬件设计
3.3.1 串行通信模块
输入接口模块提供PC上位机到FPGA核心板传输数据的接口。输入接口是通过串口即RS232以及JTAG下载线来实现从PC上位机传输数据至下位机。上位机使用字模提取工具将待显示的数据发送至下位机, JTAG下载线实现PCNiosⅡ系统间的通信。FPGA核心板与LED显示模块之间的通信也是通过RS232
9