《fpga矩阵键盘课程设计大学论文.doc》由会员分享,可在线阅读,更多相关《fpga矩阵键盘课程设计大学论文.doc(22页珍藏版)》请在金锄头文库上搜索。
1、通信 (基于FPGA的4*4矩阵键盘的设计)FPGA课程设计报告项目名称 基于FPGA的4*4矩阵键盘的设计 专业班级 通信1 学生姓名 张 指导教师 2016年 7 月 10 日字号的设置。字体的设置。西文字体的设置。如果没有特殊说明,就选图上的这个。说明:字体设置指下图。I摘 要本课程设计提出了基于FPGA的4*4矩阵键盘的设计,主要是在软件Quartus II 9.0这个环境中,以硬件描述语言Verilog进行编写程序,从而完成矩阵键盘的相关设计。主要由矩阵式键盘电路、显示电路等组成,实现过程是通过行扫描输入随机信号,列扫描判断哪一个键被按下,并最后由数码管显示该按键。此次课程设计完成了
2、4*4矩阵键盘控制LED数码管显示系统的设计,该设计具有灵活性强,易于操作,可靠性高,广泛应用于各种场合的特点,是进行按键操作管理的有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身的要求,并能正确、实时、高效地显示按键信息,以提高工作效率和资源换利用率的意义。关键词:数码管; 矩阵键盘;按键;显示电路 AbstractThis course is designed based on FPGA is proposed 4 * 4 matrix keyboard design, mainly in the Quartus II software 9.0 this environm
3、ent, with the Verilog hardware description language program, so as to complete the related design of matrix keyboard. Main matrix keyboard circuit, display circuit and so on, complete the 4 * 4 matrix keyboard control LED digital tube display system design, the design has strong flexibility, easy op
4、eration, high reliability, widely used in various occasions. Into 4 * 4 matrix keyboard control LED digital tube display system design, design flexibility is strong, easy to operate, high reliability, widely used in various occasions. Matrix keyboard control system, can improve efficiency, and is an
5、 effective method to manage the keystrokes, it can improve the system accuracy, and is conducive to resource saving and reduce the requirement of the operator itself, and correctly, real-time and efficient to show the key information, in order to improve the work efficiency and the utilization ratio
6、 of resources in meaning.Keywords: Digital tube; Matrix keyboard; The key; Disply circuit目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.2 国内外发展现状11.3 本文主要研究内容1第2章 软件及语言简介22.1 Quartus软件简介32.2 Verilog语言简介42.2.1 Verilog语言的主要功能42.2.2 Verilog语言设计数字系统的特点4第3章 4*4矩阵键盘的原理63.1 4*4矩阵式键盘63.2 总体结构63.2.1 LED数码管83.2.2 键盘结构93.
7、3 键盘扫描93.4 矩阵键盘接口电路的原理9第4章 程序调试114.1 流程图114.2 程序结果讨论11第5章 波形仿真及讨论135.1 波形结果135.2 结果讨论14结论15参考文献16附录程序17致谢19第1章 绪论1.1 课题背景在现代的个人计算机系统中,一般都采用通用的标准键盘如标准键盘(如:标准101/102键盘或Microsoft自然PS/2键盘)来实现人与计算机之间的接口交互, 从而将需要的各种数据和指令等信息都通过键盘来输人计算机。但是, 各种嵌人式系统(如:手机、微波炉、电风扇等)所需的键盘的按键个数非常有限, 通常为几个到十几个不等(而标准键盘通常为:一百多个按键并且
8、每个按键所代表的功能含义也各不相同。所以, 每一种嵌入式系统都应对键盘(包括键盘扫描模块和相关控制信号等)进行专门设计, 以便结合工程实际情况充分利用该系统已有的各种资源, 使所设计的键盘很好地融合到嵌人式系统中1。在现代个人计算机系统中, 一般都采用通用的标准键盘( 如: 标准101/102 键盘或Microsoft自然PS/2 键盘) 来实现人与计算机之间的接口交互, 所需要的各种数据和指令等信息都通过键盘来输入计算机。但是, 在各种嵌入式系统( 如手机、微波炉、电风扇等) 中, 所需要的键盘按键个数非常有限, 通常为几个到十几个不等( 而标准键盘通常为一百多个按键) , 并且每个按键所代
9、表的功能含义也各不相同。所以, 针对每一种嵌入式系统都应对键盘( 包括键盘扫描模块和相关控制信号等) 进行专门设计, 结合工程实际情况充分利用该系统已有的各种资源, 使所设计的键盘恰如其分地融合到嵌入式系统中, 成为其不可分割的一部分2。在数字电路中, 可以利用编码器实现按键键值的直接编码。将每个按键的输出信号对应连接到编码器的每个输入端, 通过编码逻辑就可以在编码器的输出端得到对应每个按键的码值, 早期称这种键盘为编码键盘。但是,当按键较多时数码逻辑的成本较高, 直接编码的方法也不够灵活, 一旦编码逻辑固定就难以更改。在通用键盘上或当按键数量较多时, 普遍采用扫描方式产生键值。将按键连接成矩
10、阵, 每个按键位于某行、某列的交点上, 如图1 所示, 先通过扫描方式确定按下键的行和列位, 即位置码或扫描码。再查表将位置码转换为按键码值或者直接使用扫描码,有些参考书称此为“非编码键盘”。但这种名称容易让人误解为没有对应的键值, 因此又称为扫描式键盘3。1.2 国内外发展现状近年来EDA技术在电子领域引发的技术革命,推动着电子技术的迅猛发展,为世人所瞩目,而FPGA为代表的可编程逻辑器件的应用,更是受到业内人士的普遍关注。伴随着大规模集成电路和计算机技术的高速发展,在设计工业自动化,仪器仪表,计算机设计与应用、通信、国防等领域的电子系统中,FPGA技术的含量正以惊人的速度提升。将尽可能大的
11、完整的电子系统在单一FPGA芯片中实现已成为现实,电子类新技术项目的开发也更多地依赖于FPGA技术的应用4。作为FPGA研究课题之一的矩阵键盘控制接口电路的设计,在FPGA设计中是一个经常被提到的话题,就像是利用PFGA设计数字中一样,虽然简单,但是却是一个很有研究意义的话题,涉及到怎么样才能是FPGA资源更加充分利用,现在很多电子产品都涉及到按键,小的有独立按键,大的有N*N的矩阵键盘,独立按键由于案件的个数少,也就没必要考虑资源的利用问题了。而矩阵键盘,由于按键多,对整个系统的影响大,所以肯定要考虑资源的利用问题,而且还要考虑一下电路里面的时序问题。1.3 本文主要研究内容本次设计要求设计
12、一个4*4矩阵键盘,也就是行为4,列为4,一共可以设计16个按键。其中设计方法为:一般判断键盘中有没有按键按下是通过航线送入扫描信号,然后从列线中读取状态得到的,其方法是依次给行线送入低电平,检查列线的输入。如果列线信号趣味高电平,则代表低电平信号所在的行中无按键按下,反之,则有,则在低电平信号所在的行和出现低电平的交叉处有按键按下。第2章 软件及语言简介2.1 QuartusII软件简介QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入
13、形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度5。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II通过和DSP Builder工具与Matlab/Si
14、mulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用6。目前Altera已经停止了对Maxplus II的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了M
15、axplus II 友好的图形界面及简便的使用方法7。Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件