基于FPGA的键盘扫描程序的设计.doc
《基于FPGA的键盘扫描程序的设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的键盘扫描程序的设计.doc(39页珍藏版)》请在三一办公上搜索。
1、X X学院 CHANGSHA UNIVERSITY本科生毕业设计设计(论文)题目: 基于FPGA的键盘扫描程序的设计 系部: 专 业: 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 讲师 XX学院教务处 二一一年二月制(20 13 届)本科生毕业设计说明书基于FPGA的键盘扫描程序的设计系部: 电子与通信工程系 专 业: 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 最终评定成绩 2013 年 6 月摘 要在现代电子工业的控制电路中,键盘扫描和显示电路对系统的调试和设置有着重要的作用。随着EDA技术的发展,基于FPGA的扫描键盘因其结构简单,能有效防止机械键盘按键抖动带来的
2、数据错误等优点在许多电子设备中都得到了广泛的应用。本文主要是设计一个基于FPGA的键盘扫描程序,该设计在EDA工具Quarutus II9.0上开发完成,以Creat-SOPC2000实验箱上的4*4矩阵键盘为硬件实体,设计键盘扫描程序,将程序划分为时序产生模块、键盘扫描模块、弹跳消除模块、键值译码模块四个模块,时序产生模块为键盘扫描和弹跳消除模块产生时钟信号,键盘扫描模块采用行扫描法对4*4矩阵键盘进行扫描,键值译码模块将所按键值译码为共阳极8位7段数码管的显示码,几个模块组合起来实现键盘扫描的设计要求。最后对程序进行仿真分析和硬件验证。仿真结果表明,该系统具有集成度高、稳定性好、设计灵活和
3、设计效率高等优点。关键词: FPGA,Quartus II,VHDL,键盘扫描ABSTRACTIn the modern electronics industry controlling-circuit, the keyboard scanning and display circuit plays an important role in debugging and setting the system. With the development of EDA technology, FPGA-based scanning keyboard have been widely used in
4、many electronic devices because of its simple structure, and it also can effectively prevent mechanical keyboard jitter caused by data errors. This article primarily designed an FPGA-based keyboard scan procedures, this design is developed on the EDA tools Quarutus II9.0 and designed the keyboard sc
5、an program, using the Creat-SOPC2000 experimental box 4 * 4 matrix keyboard as the hardware entity .the program is divided into four modules as the timing generation module, a keyboard scanning module, bounce cancellation module and the decoding module. The timing generation module generates the clo
6、ck signal for the keyboard scanning and bounce elimination module, the keyboard scanning module using the line scanning method to sweep the 4* 4 matrix keyboard, key decoder module decodes the key value for the common anode eight 7-segment display code. Several modules assembles together to meet the
7、 keyboard scanning design requirements. Finally, conducting simulation analysis by the program and verifying the hardware.Simulation results show that the system has many advantages such as high integration, good stability, high efficiency, flexible design and high design efficiency. Keywords: FPGA,
8、Quartus II,VHDL,keyboard scanning目 录摘 要IABSTRACTII第1章 绪论11.1 课题的研究背景11.2 课题的研究意义21.3 本文的主要工作2第2章 FPGA开发工具简介32.1 FPGA概述32.2 VHDL语言以及Quartus II应用32.3 本章小结4第3章 基于FPGA的键盘扫描程序的设计33.1 键盘扫描程序的总体电路设计53.1.1 矩阵式键盘扫描的工作原理63.1.2 数码管的显示原理73.2 键盘扫描电路各主要功能模块的设计83.2.1 时序产生模块83.2.2 键盘扫描模块93.2.3 弹跳消除模块113.2.4 键盘译码电路1
9、33.2.5 键盘扫描程序的顶层文件设计153.3本章小结16第4章 键盘扫描程序的波形仿真及硬件验证174.1 系统仿真174.1.1 消抖电路仿真174.1.2 键盘时钟信号仿真184.1.3 键盘扫描信号仿真184.1.4 键盘译码电路仿真194.1.5 键盘扫描总体电路仿真214.2引脚的锁定224.3硬件验证234.4本章小结25结 论26参考文献27附 录 28致 谢32第1章 绪论 1.1 课题的研究背景在现代计算机与电子系统中,一般都采用通用式的标准键盘将所需的数据和指令等信息通过键盘输入到计算机和电子系统,以此来实现人机之间的接口交互。但是,在各种嵌入式系统(如微波炉、手机、
10、电风扇等)中的键盘按键个数有限,一般为几个到十几个左右,而标准键盘则一般在一百多个左右,并且每个按键都有其各自的功能含义。所以针对每一种电子设备对其键盘进行扫描程序的设计时,必须结合工程的实际情况以及设备自身的各种资源,使所设计的键盘能够很好地融合到系统中,成为其重要的组成部分。在数字电路中,如果将每个按键的输出信号连接到编码器对应的输入端,通过编码逻辑在编码器的输出端得到每个按键对应的键值,利用编码器实现按键键值的直接编码,这种键盘在早期称为编码键盘。但是,这类键盘有许多缺点如按键数量较多时编码逻辑的成本就会相对变高直接编码的方法也具有很大的局限性,编码逻辑一旦固定就难以改变。现代数字电路中
11、,一般当按键数量较多时,我们采用扫描的方式来产生键值。用矩阵的形式连接按键,使每个按键位于行、列的相交点上,通过输入扫描信号确定所按按键的行值和列值,即位置码也称扫描码,再通过查表或译码的方式将位置码转换为按键码值,采用这类方式扫描的,我们习惯称其为“非编码键盘”。在执行键盘扫描的过程中,因大多数键盘采用的都是机械开关,所以按键在闭合时往往会出现一些难以避免的机械性抖动,输出信号随之也发生跳变,其跳变宽度一般在10 ms一20 ms之间。若不对其进行处理,则系统很有可能会将其误认为多次按键。因此在系统中须设置硬件延时电路,按键输入在经过一定时间的延迟后方可读取键值,即键盘系统中常出现的去抖电路
12、。还有一种情况是当前面按键键值还没输出但已近有新的按键按下时,后按的键值就会覆盖前面的键值,造成数据的丢失。这时可以在系统中设置一个控制信号,确保前一按键的键值输出后才允许后一键值的产生,又或设置一组寄存器来保存按键的键值,然后系统依序对其进行处理。这类扫描键盘的优点在于不需要主机担负扫描任务,而是由软件程序完成,其次也可通过更改程序来改变按键的功能定义。基于FPGA的键盘扫描程序,由芯片中的键盘扫描程序对键盘进行扫描,按键时,系统通过时钟模块启动扫描程序,依次对每行键值赋值来扫描每行,再通过键盘每列的输出来确定按键位置,这种扫描方法被称为逐行扫描法,当有键按下时首先获得此键的列值,然后逐行扫
13、描就可以判断按键所在的行值,由行、列的值可以得出按键的键值。此外,还需在键盘扫描程序的中加入延时程序,以消除机械键盘按键抖动所带来的影响。如果键盘的扫描频率设置过低,则在扫描显示的过程中,会出现按键显示迟缓,甚至乱码等现象。因此在实际的设计中,需根据设计要求及系统的硬件规格选择合适的扫描平率。现代数字设备中的键盘大多采用这样的键盘扫描方法。1.2 课题的研究意义从计算机时代开始以来,数字系统设计就存在两个大的分类,即系统硬件设计和系统软件设计。早期的数字系统设计人员也因此被分为两个族群:硬件设计人员和软件设计人员,他们都只从事自己的工作领域,很少涉足对方的领域,尤其是软件设计人员。但是,随着数
14、字技术和硬件系统的发展,这两个领域开始互相有所合作。在硬件描述语言HDL(Hardware Description Language)出现后,数字系统的设计已无软硬件之分。设计人员可以用HDL语言来描述系统的硬件构成及其行为,并通过仿真确定其运用到系统硬件上时是否可行,设计出符合要求的硬件系统。不仅如此,利用HDL语言来设计系统硬件同传统的硬件设计方法相比,具有其独特的优势,它为系统的硬件设计带来了深远的影响,是硬件设计领域的一次重要的变革。传统的键盘扫描是以硬件电路来确定键盘的变化,特定的硬件电路只能应用于特定的键盘,因此它存在这样一些缺点:不能根据实际应用的改变而变化,形式固定。本文所采用
15、的技术方案能克服上述所讲的技术缺点,该键盘扫描程序是由软件控制完成,不需要改变硬件电路,就可以适用于多种不同类型的键盘。整个系统设计是自动化过程,减少了工作量,主要把精力放在创造性的方案和概念构思上,提高了工作效率,缩短了产品的研制周期。1.3 本文的主要工作本设计主要是以计算机为设计平台,综合运用EDA软件工具开发环境,使用硬件描述语言VHDL,采用自顶而下的设计方法,把系统由上至下的分成几个模块设计,最后达到系统的要求,然后在Quartus II9.0上通过编程、调试、编译、仿真,从而实现键盘扫描的设计。第二章介绍了键盘扫描的基本特点和工作原理,查找有关可编程逻辑器件、VHDL语言的相关资
16、料,掌握一定的理论知识,熟悉Quartus II软件的使用。第三章先对键盘扫描做出总体的设计方案,然后对键盘扫描进行分模块设计,再对每个模块做出详细的分析。第四章根据第三章所做的工作,对程序编译,然后进行仿真,对仿真出的结果进行详细的分析,仿真完把程序下载到实验箱上进行测试。最后对设计做出总结。第2章 FPGA开发工具简介2.1 FPGA概述FPGA现在已经取代ASIC,实现其功能。通常ASIC包含三种:全定制,半定制(包括标准单元和阵列),和可编程器件。对于前面两种,您需要支付的费用项目不能重复使用的NRE,主要用于芯片流片,在分析工程开销,成本一般是10000美元以上,数以万计的。如果不成
17、功,返工,甚至多次返工的成本,成本将上升。高成本,高风险,但通常的需求,各种ASIC的成本,NRE费用分配给每一个产品的价格太高,用户通常是不能接受的。然而可编程逻辑器件PLD是可以解决上述问题的可编程逻辑器件,是一种新型的ASIC,它有着操作灵活,易于使用,投资风险小和开发迅速的突出优势,非常适合产品的前期开发,研究样本开发或小批量的产品。FPGA是一种新型的PLD,有着PLD所具有的优点,而且其规模比一般的PLD规模要大。FPGA主要特点有:用户不需要投片生产,就能得到合用的芯片;FPGA可做其它全定制或半定制ASIC电路的中试样片;其内部有丰富的触发器和I/O引脚;是ASIC电路中设计周
18、期最短、开发费用最低、风险最小的器件之一; FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功
19、能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。2.2 VHDL语言以及Quartus II应用 VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982 年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工
20、程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。一个完整的VHDL程序通常包括实体(Entity)、结构体(Architecture)、配置 (Configuration)、程序包集合(Package)和库(Library)5个部分。前4部分是可分别编译的源设计单元。库用来存放已经编译的实体、结构体、配置和程序包集合。 Quartus II
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 键盘 扫描 程序 设计
链接地址:https://www.31ppt.com/p-4148167.html