毕业设计基于FPGA和VHDL的点阵电子显示屏设计_第1页
毕业设计基于FPGA和VHDL的点阵电子显示屏设计_第2页
毕业设计基于FPGA和VHDL的点阵电子显示屏设计_第3页
毕业设计基于FPGA和VHDL的点阵电子显示屏设计_第4页
毕业设计基于FPGA和VHDL的点阵电子显示屏设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、点阵电子显示屏设计论文摘要本设计采用Altera公司FLEX10K系列的EPF10K10LC84-4作为电子显示屏的控制核心,硬件描述语言采用VHDL语言,并采用模块化设计,以MAXPLUS II为编程环境,提高了设计效率,设计制作了一个16 *64点阵显示的LED电子显示屏,实现了数字、字母、汉字的显示并且实现了实时时间显示等功能,系统采用矩阵键盘作为主要的人机接口,采用FPGA控制器,保证了系统精度;通过扩展外部存储器可以存储256个汉字,可同时显示4个1616点阵汉字或8个168点阵的汉字字符或数字,显示方式有左移右移替换,显示状态包括移动速度停留时间等,实现了图形的特殊控制。关键词:电

2、子显示屏,VHDL,点阵一、方案论证和选择1.1、 系统总控方案方案一 采用单片机以及一些外部存储器来实现,该方法的优点是器件比较常见,系统规模较小,价格也相对比较便宜,有一定的灵活性,但是对多时钟,复杂信号处理不是很理想。再者本次设计要求有比较精确的数字钟,FPGA在时钟控制方面相对单片机有着很大的优势。因为本次设计会用到16*64的点阵,因为单片机是8位的,每次只能输送8位数据,因此在数据信号处理方面也有些不足。方案二 采用Altera公司FLEX10K系列的EPF10K10LC84-4芯片作为主控芯片,扩展外部EEPROM为数据存储单元,在MAXPLUS II编程环境下采用模块化设计,利

3、用VHDL语言对芯片进行了设计,系统结构紧凑,便于调试,适合实现复杂控制,操作方便,在数字逻辑控制方面有着很大的优点,比第一种方案有着很大的优越性,因此决定采用第二种方案。1.2、键盘输入模块方案 方案一 :采用矩阵式键盘,此类键盘采用矩阵式行列扫描方式,优点是可减少占用I/O口数目,使控制器有足够的资源去处理其他的工作。 方案二 :采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式;缺点为当按键较多时占用存储器的I/O口数目较多。 方案三:采用由8255驱动的PC机键盘。优点:占用控制器的I/O口少。缺点:键盘太大且驱动程序复杂

4、,影响美观。综合考虑以上的方案及题目要求,由于系统需要用到的I/O端口比较多,所以采用了方案一。1.3 键盘消抖方案 方案一:采用将弹跳阶段闪过的思想,一旦检测到按键按下或弹起时,将输入到系统内部的修正后的按键信号置有效(“1”或“0”)并保持一定时间(大于不稳定时间)。keykey1S_clkKEYS-CLK KEY1方案二:在一定时间(大于不稳定时间)内,如果连续两次检测到按键按下或弹起时,则将输入到系统内部的修正后的按键信号置有效(“1”或“0”)KEYS-CLKKKEY1本设计采用第二种方案。1.4、实时数字钟模块设计方案一 基本门电路搭建 用基本门电路来实现数字钟,电路结构复杂,故障

5、系数大,不易调试,且增加了系统的造价。方案二VHDL编程使用软硬件结合的方式,所以电路结构简单、调试也相对方便。与第一种方案比较优点是非常明显的。我们选择了第二种方案1.5、存储模块设计方案方案一:采用FPGA内部集成ROM 此方案设计简便,节省硬件资源,但存储容量有限,不适合存储大容量数据方案二 采用外部扩展ROM ,此方案硬件电路稍显复杂,须用编程器对其进行程序烧写固化,存储容量较大。经实验比较,方案一中ROM容量太小,不能完成题目要求,故本设计采用方案二。1.6、显示模块方案 方案一:静态显示,所谓的静态显示就是对LED电子显示屏中的每一象素点都通过硬件单独控制,整个LED显示屏所有的L

6、ED的同时显示。此方式最大优点是程序设计简单,且画面无闪烁。但这种设计存在致命的缺点:电路复杂,硬件利用率低,成本巨大。所以此方式一般不被采用。方案二:采用动态扫描实现显示过程。所谓的动态扫描法是利用人眼的视觉暂留特点而实现的一种显示方法,即当刷新速率足够高时,人眼就察觉不出显示屏画面更迭的闪烁。若要显示一帧画面,先送出第一行的数据,然后选通并点亮第一行,延时;此后送出第二行的数据,同样选通、点亮并延时;依次将所有行扫描完,即给出了一帧的画面。在此次设计中我们采用方案二。二、电路设计与实现下图为系统的主控图:2.1 主控制模块本设计控制模块由FPGA实现,由键盘作为系统输入,经过扫描电路处理,

7、确定出按键,并将信号输入到主控制器中,由数据选择器输出来确定信号是对外部EEPROM控制,还是数字钟模块的运行。数字钟部分显示部分由外部扩展E2PROM实现,数字钟直接在FPGA内集成,由于采用点阵动态显示,每次显示汉字或字母个数固定,故在编写程序时要考虑到每组字的首地址,并由E2PROM的高三位地址确定,即只须改变其地址线高三位数据便可实现数组切换。数字钟部分首先设计了一个输出二进制的基本时钟,然后在FPGA内存储了09个数字的字模,用一个数据选择器来实现输出译码。为了不使输出冲突,我们制作了一个二路选择器来输出数字钟内数据或E2PROM中数据,选择信号由键盘控制。系统主控制模块原理图2.2

8、 键盘模块:矩阵式键盘的原理:给各行一个循环扫描电路,然后读取列的状态,从而确定按键。具体先用时钟信号产生一用来产生键盘扫描信号,使扫描输出端KY3、KY2、KY1、KY0 输出的4位扫描信号的变化顺序依次为10000100001000011000;当扫描信号为1000时,就扫描KY0这一排按键,并检查是否有键按下,如果列信号有高电平输出,说明有键按下,反之则没有。 2.3 外部存储控制模块此设计中我们采用E2PROM HM2864 作为外部扩展ROM,以存储设计要求中固定显示的句子。2864(A)是一种采用NMOSCMOS工艺制成的8K8位28引脚的可用电接除可编程只读存储器。其读写像SRA

9、M操作一样,不需要外加任何元器件。读访问时间可为45ns一450ns,在写入之前自动擦除。有部分芯片具有两种写入方式,一种是像28(c)17一样的字节写入方式还有另一种页写入方式。允许在一个写周期内同时对1个字节到一页的若干字节进行编程写入 我们将需要显示的汉字、字母以及数字的字模用TOP851通用编程器烧写进2864,然后在FPGA中编写控制程序以读取存储器的数据,然后通过点阵显示出来。2.4 掉电保护模块本系统采用一片EPC2LC20来防止掉电后数据的丢失,EPC2LC20和主控制器焊接在同一块实验板上。2.5 驱动模块驱动电路作为驱动模块中的基本电路,包括输出数据的驱动和行选驱动(即行、

10、列驱动),其设计要求应满足给定的LED阵列的显示亮度。我们采用9个3/8译码器组合,构成一个6位输入64输出的64位译码器,为了加大驱动能力,译码器后面加了32个SN75451驱动器;由于人眼的视觉暂留现象,一个发光管LED如果在一秒钟内亮20次以上的话,人眼就感觉不到闪烁。由此,一屏画面连续循环显示次每秒时给人的感觉是稳定的。因为我们实现的是16*64点阵显示屏,所以一条列线上要带动16行的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,需要16*20=320mA电流, 如果直接从3-8译码器输出端接列线,则电流太小不能是LED正常发光。SN75451的输出电流能够

11、充分满足我们的需要,所以我们选择SN75451对16行LED进行驱动。下面是SN75451的电路图。SN75451电路图由3-8译码器构成的6-64译码器2.6、显示模块对于点阵型LED显示可以采用共阴极或共阳极,本系统采用共阴极,其硬件电路如图1所示。点阵型LED显示(图1)当列上有一负脉冲选通信号时,行端数据为1者发光二极管导通点亮,这样只需要将图形或文字的显示码作为列信号且对应于行信号的1逐行扫描,就可以逐行点亮点阵。一般来说,LED的扫描频率大于20HZ,肉眼所看到的显示效果是同时点亮LED,该系统应该采用的最低扫描时钟为 20 x 64=1280HZ ,本设计采用的扫描时钟为1500

12、HZ,完全可以满足本系统的频率要求。2.7 FPGA与PC机的通信要实现FPGA与PC机的通信,我们利用FPGA的特点,可以在FPGA中建立一个下位机UART,然后通过RS-232电平转换芯片与PC机进行通讯。用VHDL语言编写的程序具有波特率高、传输准确等优点。FPGA(复杂可编程逻辑器件)设计乃至仿真、验证、所以开发周期很短,且I/O口随意设定,故用FPGA设计专用芯片是大势所趋。FPGA与PC机的通信应该采用串行通信的方式。发送串行数据一般是:1个起始位、n个数据位,1个或多个停止位。这样,发送起始位以后表明传输开始。传送与接收的双方设定好同样的传输位数,直到n个数据位送完以后,送停止位

13、。上位机和下位机的电平标准不同,它们通过RS-232电平标准转换,在两者之间接入RS-232电平转换芯片即可。上位机和下位机的传输是异步传输,这样就需要有一个参考脉冲代表传输速度即波特率。因为常用的单片机MCU的软件是过程语言,以其作为下位机,无法提供这么高的波特率,即使是较低的波特率也可能产生误差。所以在传输距离较近而设备也可提供时,使用最高的传输速度也可以。FPGA的软件是非过程语言,也就是说其逻辑段定义的所有动作是同时进行的而不是串行的,所以完全可以提供这样的高速下位机UART。加上时间紧迫和元器件的不足,所以本设计没有对FPGA和PC机通讯模块进行制作和仿真,只是提出了一些方案和想法。

14、三、软件设计与功能实现3.1 键盘控制模块键盘控制模块输入时钟经2分频后送入计数器,使其产生“1000”“0100”“0010”“0001”循环扫描信号,此信号输出至键盘行线,键盘列线作为此模块的输入部分,与行线信号并置后输出8位键盘码,从而确定按键,为防止机械抖动引起的误操作,控制部分加入了按键消抖程序,以加强读键的准确性。键盘控制模块顶层设计图键盘控制模块的打包文件键盘控制模块仿真图3.2、存储器控制模块本模块主要由三部分组成,字符组选择部分,扫描部分和数据读取部分。字符组选择部分作用是由按键状态来选择所要显示的字符组,其实质是对所要显示的字符组进行编码,然后将编码信号与扫描部分的输出并置

15、起来作为片外E2PROM的寻址信号。扫描部分作用是产生扫描信号,用来对E2PROM进行寻址,并将此信号输出到点阵的列选择端,以选择该列。数据读取部分的作用是从E2PROM中读取数据,送至点阵行选择端,用来选择该行。存储器控制模块顶层设计图存储器控制模块的打包文件3.3 数字钟模块时钟设计钟的核心模块是两个60进制计数器和一个24进制计数器,以进位和使能键级连。能够实现简单的跑表功能,此数字钟具有校时功能,当pstfen或者pstshi键按下时,分钟和小时以秒的频率递增,从而达到校时目的。数字钟模块顶层设计图数字钟模块的打包文件 数字钟单独模块波形仿真图(1) 数字钟单独模块波形仿真图(2)数字

16、钟点阵显示仿真3.4、 系统顶层模块图系统顶层模块图四、 操作方法:按键实现四组汉字、英文或数字以及数字钟显示的切换选择,同时,通过按键操作实现文字显示的特别效果。各键的定义如下:键1键4: 汉字显示 键5键8:英文及数字显示 键9:数字钟显示 键10:数字钟调分按键 键11:数字钟调时按键 键12:左右移动键13:显示动画五、测试结果与成果报告通过检测,系统显示稳定、字符清晰,动画栩栩如生,所有的按键均反应灵敏无差错,电子钟能够准确显示时间,完全达到性能指标。结束语本设计基本完成了题目的要求,实现点阵扫描功能,汉字、数字、字母显示。并在题目要求的基础上有所发挥,亲手制作并调试了电路板。但是由于器件的不足,导致硬件部分浪费时间过多,在PC机与FPGA模块通讯方面只是提出了想法和设计方案。参考文献:1 褚振勇、翁木云 FPGA设计及应用 西安电子科技大学出版社 2002年7月2 侯伯亨、顾新 VHDL硬件描述语言与数字逻辑电路设计电子工程是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论