EDA——3×3键盘扫描电路设计.doc_第1页
EDA——3×3键盘扫描电路设计.doc_第2页
EDA——3×3键盘扫描电路设计.doc_第3页
EDA——3×3键盘扫描电路设计.doc_第4页
EDA——3×3键盘扫描电路设计.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

武汉理工大学能力拓展训练课程设计说明书能力拓展训练任务书学生姓名: 专业班级: 自动化 指导教师: 徐腊梅 工作单位: 自动化学院 题 目: 33键盘扫描电路设计 初始条件:1. Quartus4.1以上版本软件;2. 能力拓展训练辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术与VHDL”、“EDA与数字系统设计”等;3. 先修课程:电路、电子设计EDA、电子技术基础等。4. 主要涉及的知识点: 门电路、组合逻辑电路、时序逻辑电路等。要求完成的主要任务: (包括能力拓展训练工作量及其技术要求,以及说明书撰写等具体要求)1. 能力拓展训练时间:1周;2. 能力拓展训练内容:根据指导老师给定的题目,按规定选择其中1套完成; 3. 本次能力拓展训练统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。具体设计要求包括: 复习EDA的相关技术与方法; 掌握VHDL或者Verilog语言,并要求能编写程序。 Quartus软件的使用:掌握程序编辑、编译、调试、仿真方法。 设计相关简单的电路,完成既定的功能。4. 能力拓展训练说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: 目录; 33键盘扫描电路相关的理论分析、归纳和总结; 33键盘扫描电路的结构组成、原理分析及真值表。 程序设计框图、程序代码(含注释); 给出程序中主要函数或者语句的功能说明和使用说明; 给出程序仿真运行结果和图表、以及实验结果分析和总结; 能力拓展训练的心得体会(至少500字); 参考文献; 其它必要内容等。时间安排:具体时间设计内容9月1日指导老师就课程设计内容、设计要求、进度安排、评分标准等做具体介绍。学生确定选题,明确设计要求9月2日开始查阅资料,完成相关电路原理分析、代码或原理图设计。9月3日采用VHDL或Verilog语言编程,上机调试,得出实验结果9月4日撰写能力拓展训练说明书9月7日上交能力拓展训练说明书,并进行答辩 指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 目录摘要 1题目分析 12相关EDA知识简介 12.1EDA简介 12.2VHDL语言的简介 22.3Quartus软件平台简介 33设计原理 44扫描电路设计 54.1电路符号 54.2程序设计 54.3程序流程图 85仿真及结果 96心得体会 107参考文献 11摘要本次能力拓展训练通过进一步学习EDA方面的知识,用运VHDL硬件描述语言和图形设计综合方法,实现了33键盘扫描电路的程序设计,通过运用Quartus软件平台生成电路符号,建立波形文件,设置输入端口,实现模拟仿真,得到仿真波形图。关键词:键盘扫描;EDA;VHDL;Quartus33键盘扫描电路设计1题目分析本强化训练题目为33键盘扫描电路的设计。要求通过查阅相关书籍资料,熟悉和初步掌握VHDL语言的语法及其功能,根据要求首先进行理论上的分析,深入分析33键盘扫描电路的原理,然后根据分析结果设计程序,画出程序相关流程图,最后进行上机的调试,通过Quartus4.1以上软件进行仿真,并记录仿真的结果。2相关EDA知识简介2.1 EDA简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成,因此可以大大的减轻设计者的劳动强度,故而应用十分广泛。2.2 VHDL语言的简介VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)就是超高速集成电路硬件描述语言,是一种通用的硬件描述语言,它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。与其他硬件描述语言相比,VHDL具有以下特点:VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。2.3 Quartus软件平台简介QuartusII是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。QuartusII提供完善的timing closure和Logic Lock基于块的设计流程。QuartusII是唯一一个包括以timing closure和基于块的设计流为基本特征的programmable logic device (PLD)的软件。Quartus II设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programm ed devices开发的统一工作流程。 QuartusII(3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能Hardcopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对Stratix FPGA进行功能验证和原型设计,又可以设计Hardcopy Stratix器件用于批量成品。系统设计者现在能够用Quartus II软件评估Hardcopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Altera 的Quartus II作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、Exemplar Logic、Mentor Graphics、Synopsis和Synplicity等EDA供应商的开发工具相兼容。改进了软件的Logic Lock模块设计功 能,增添 了Fast Fit编译选项,推进了网络编辑性能,而且提升了调试能力。 3设计原理矩阵键盘是一种常见的输入装置,作为系统是输入模块,在数字系统设计中应用十分广泛。键盘上的每一个按键实际上是一个开关电路,当某键被按下时,电路导通,该按键节点上呈现逻辑1状态,反之则呈现逻辑0状态。本设计采用扫描的方法来实现对键盘上每个键的识别,其基本原理如图1示。当进行行扫描时,扫描信号由行引脚进入键盘,以“100”、“010”、“001”的顺序每次扫描不同的一行。之后,读取列引脚的电平信号,判断到底是哪个键按下。举例说明:扫描信号为“010”,表示正在扫描“8、5、2”这一行,如果没有键被按下,则读取的列信号为“000”,继续扫描下一行“001”行。如果有键按下,如按键“2”被按下,则行信号读出值为“001”。图1键盘扫描基本原理4扫描电路设计4.1电路符号33键盘扫描电路的电路符号如图2所示。其中clk为时钟信号输入端,start为开始信号输入端,kbcol2.0为行扫描信号输入端,kbrow 2.0为列扫描信号输出端,seg7-out6.0为七段显示控制信号输出端,scan7.0为数码管地址选择控制信号输出端。图2 33键盘扫描电路的电路符号图4.2程序设计33键盘扫描电路用VHDL语言描述,其代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jp isport(clk:in std_logic; start:in std_logic; kbcol:in std_logic_vector(2 downto 0); kbrow:out std_logic_vector(2 downto 0); seg7_out:out std_logic_vector(6 downto 0); scan:out std_logic_vector(7 downto 0);end;architecture one of jp is signal count:std_logic_vector(1 downto 0); signal sta:std_logic_vector(1 downto 0); signal seg7:std_logic_vector(6 downto 0); signal dat:std_logic_vector(3 downto 0); signal fn:std_logic;begin scancountcountcountcountkbrow=001;stakbrow=010;stakbrow=100;stakbrow=111; end case;end if;end process;process(clk,start)beginif start=0 then seg7 case kbcol is when 001=seg7=1101111;datseg7=1111101;datseg7=1001111;datseg7=0000000;dat case kbcol is when 001=seg7=1111111;datseg7=1101101;datseg7=1011011;datseg7=0000000;dat case kbcol is when 001=seg7=0000111;datseg7=1100110;datseg7=0000110;datseg7=0000000;datseg7=0000000; end case;end if;end process;fn=not(dat(0)and dat(1)and dat(2)and dat(3);process(fn)begin if fnevent and fn=1then seg7_out=seg7; end if ;end process;end;4.3程序流程图图3程序流程图5仿真及结果用Quartus软件平台对设计进行模拟仿真,得到33键盘扫描电路功能仿真结果如图4所示,时序仿真结果如图5所示。观察波形可知,行扫描信号kbcol在时钟控制下循环扫描,当有键按下时,列扫描信号kbrow读入相应的行信号来判断按键,seg7-out输出按键对应的数据,直到下一个按键被按下时才更新数据。图4 33键盘扫描电路的功能仿真结果图5 33键盘扫描电路的时序仿真结果6心得体会本次暑期能力拓展训练主要做的是ED

温馨提示

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

最新文档

评论

0/150

提交评论