按键去抖专业课程设计.doc

上传人:满*** 文档编号:97976502 上传时间:2024-07-08 格式:DOC 页数:14 大小:144.54KB
返回 下载 相关 举报
按键去抖专业课程设计.doc_第1页
第1页 / 共14页
按键去抖专业课程设计.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《按键去抖专业课程设计.doc》由会员分享,可在线阅读,更多相关《按键去抖专业课程设计.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目 录摘 要2第一章 EDA技术简介3第二章 按键去抖设计规定4第三章 按键去抖分析4第四章 按键去抖设计方案5第五章 按键去抖模块65.1 去抖动电路模块65.2 去抖动电路模块程序65.3 按键扫描模块85.4 按键扫描程序8第六章 按键去抖顶层原理图设计96.1 顶层原理图源文献96.2顶层原理图时序仿真图10第七章 学习心得11课程设计评分表12摘 要为理解决 FPGA/ CPLD 系统按键抖动问题,用 VH DL 语言有限状态机办法,在 S0 状态下检测到有按键操作则转入延时状态 S1 ,延时结束后,用状态 S2 ,S3 ,S4 对按键进行持续三次取样,如果三次取样均为低电平,则转入

2、状态 S5并输出按键确认信号,否则,返回状态 S0。电路经仿真分析,并下载到,EPM7128ATC100 芯片进行了验证,可以保证每次按键操作,产生一次按键确认,有较好按键消抖效果,性能稳定。重要创新点是用VHDL语言有限状态机设计按键消抖。核心词:按键消抖;电路仿真;VH DL;状态机第一章 EDA技术简介随着电子技术和计算机技术飞速发展,电子线路设计工作也日益显得重要。通过人工设计、制作实验板、调试再修改多次循环才定型老式产品设计办法必然被计算机辅助设计所取代,由于这种费时费力又费资源设计调试办法既增长了产品开发成本,又受到实验工作场地及仪器设备限制。为了克服上述困难,加拿大Interac

3、tive Image Technologies公司推出基于Windows 9598NT操作系统EDA软件(Electronics Workbench“电子工作台”,EWB)。她可以将不同类型电路组合成混合电路进行仿真。EWB是用在计算机上作为电子线路设计模仿和仿真新软件包,是一种具备很高实用价值计算机辅助设计工具。当前已在电子工程设计等领域得到了广泛地应用。与当前流行电路仿真软件相比较,EWB具备界面直观、操作以便等长处。她变化了有些电路仿真软件输入电路采用文本方式不便之处,该软件在创立电路、选用元器件测试仪器等均可以直接从屏幕图形中选用,并且测试仪器图形与实物外形基本相似,从而大大提高了电子

4、设计工作效率。此外,从另一角度来看,随着计算机技术和集成电路技术发展,当代电子与电工设计,已经步入了电子设计自动化(EDA)时代,采用虚拟仿真手段对电子产品进行前期工作调试,已成为一种发展必然趋势。通过对实际电子线路仿真分析,从而提高对电路分析、设计和创新能力。第二章 按键去抖设计规定按键开关是电子设备实现人机对话重要器件之一。由于大某些按键是机械触点,在触点闭合和断开时都会产生抖动。为避免抖动引起误动作导致系统不稳定,就规定消除按键抖动,保证按键每按一次只做一次响应 1,2 。随着可编程逻辑器件综合性能不断提高,它已经象单片机同样,广泛应用在各种数字逻辑领域。用可编程逻辑器件直接获取键盘信息

5、也得到广泛应用。这里提出用VHDL 语言编程有限状态机设计办法来实现按键消抖,经仿真分析和下载实现,这种办法设计消抖电路可以较好地实现电路功能,进行迅速按键时都能保证每按一次做一次响应,且性能稳定。本课程设计详细规定如下: (1) 设计一种4路独立键盘输入电路,读取键盘键值并通过发光二极管显示出来。(2) 输入为时钟信号CLK(50MHz),按键状态KEY1,KEY2,KEY3,KEY4。(3) 输出为D1,D2,D3,D4。依照按键状态控制发光二极管亮灭。第三章 按键去抖分析按键消抖核心是提取稳定低电平(或高电平) 状态,滤除按键稳定先后抖动脉冲。在用基于VHDL 语言时序逻辑电路设计按键消

6、抖电路时,可以用一种时钟脉冲信号对按键状态进行取样,当第一次采样到低电平时,启动延时电路,延时结束后,再对按键信号进行持续三次取样,如果三次取样都为低电平,则可以以为按键已经处在稳定状态,这时输出一种低电平按键确认信号,如果持续三次取样中,至少有一次是高电平,则以为按键仍处在抖动状态,此时不进行按键确认,按键输出信号为高电平。第四章 按键去抖设计方案按键消抖普通采用硬件和软件消抖两种办法。硬件消抖是运用电路滤波原理实现,软件消抖是通过按键延时来实现。在微机系统中普通都采用软件延时消抖办法。在用可编程逻辑器件FPGA/ CPLD 设计数字系统中,也可以用 VHDL 语言设计相应时序和逻辑电路,对

7、按键信号进行解决,同样可以达到消抖目。本文运用Altera公司可编程逻辑器件CPLD 和Quartus,设计性能可靠按键消抖电路。该控制电路采用VH DL 语言有限状态机设计法来描述和实现,其状态转换图如图1所示。图1 按键去状态转换图电路复位信号 Reset 有效时,电路进入复位状态S0 ,在S0 状态下时钟信号CLK 以一定频率采样按键输入信号Key in,如果采样到Key in= 1 则停留在S0状态,并继续采样按键输入信号状态,一旦采样到输入信号是低电平,即Key in= 0 ,则转入S1 延时状态,进行消抖延时,当延时结束时Delay end= 1 ,则转入在S2 状态,在此状态下时

8、钟信号 CLK 以一定频率采样按键输入Key in 状态,如果采样到 Key in 为高电平即Key in= 1 则转回状态 S0 ,表达按键仍处在抖动状态,如果采样到Key in= 0 ,则转入状态 S3 ;状态S3 ,S4 转换过程和条件跟 S2 相似,在 S4 状态下,如果Key in= 0则转入 S5 状态,当到达状态S5 时,表达通过S2 ,S3 ,S4 三个持续状态检测按键输入 Key in状态都为0 ,则以为按键处在稳定状态,并在 S5 输出按键确认信号 Key conf i rm= 1 。同步在状态 S5下时钟信号CLK 检测按键输入状态,当检测到按键输入Key in= 0 ,

9、表达按键仍未释放,则停留在S5 继续检测按键输入信号状态,如果检测到Key in= 1 ,表达按键已经释放,则转回状态 S0 ,等待下一次按键操作。第五章 按键去抖模块5.1 去抖动电路模块clk:时钟,reset:复位信号,din:按键信号输入,dout:按键去抖动信号输出。由于按键抖动时间普通为5到10ms,因而输入时钟clk使用200Hz时钟脉冲(周期为5ms),即5ms采样一次按键信号,当持续两次采样到按键信号都为低电平时,以为按键稳定按下。在按键稳定按下后,采样到按键为高电平时,以为按键释放5.2 去抖动电路模块程序library ieee;use ieee.std_logic_11

10、64.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity debounce is port( clk,reset:IN std_logic; din:IN std_logic; dout:OUT std_logic ); end debounce; architecture a of debounce is type state is (s0,s1,s2); signal current:state; begin process(clk,reset,din) begin if(reset=1) then

11、 current = s0; dout dout = 1; if(din=0) then current =s1; else current dout =1; if(din=0) then current = s2; else current dout =0; if(din=0) then current = s2; else current dout =1; current =s0; end case; end if; end process; end a;5.3 按键扫描模块输入信号:clk:时钟,50MHz;reset:复位信号;key1,key2,key3,key4:按键信号输入。输出

12、信号:led1,led2,led3,led4:发光二极管信号输出。5.4 按键扫描程序第六章 按键去抖顶层原理图设计6.1 顶层原理图源文献6.2顶层原理图时序仿真图消抖电路仿真图如上图所示。当复位信号Reset= 0 时,状态机Key 处在S0 状态,同步以 CLK时钟频率采样按键输入信号 Din 状态,当 CLK第一次采样到Din 为低电平时,此时也许发生了按键操作,随后状态机Key 进入 S1 消抖延时状态,当延时结束时delay end= 1 (延时结束信号) ,跟接着状态机KEY S2 ,S3 ,S4 持续三个状态对按键输入信号Din进行采样,当三个状态下采样到Din 信号都是低电平

13、,则转入S5 状态,并产生按键确认信号Key conf irm=1 ,同步在 S5 状态下等待按键释放,在此状态下当CLK 时钟信号检测到Din 为高电平时转回状态S0。因按键释放瞬间也会发生抖动,因此由波形图可以看出当按键释放瞬间由状态 S5 转回状态S0 ,在S0 状态下因按键抖动CLK 时钟又检测到Din 为低电平,随后转入S1 进行消抖延时,通过 S1 消抖延时后,按键已经稳定,Din 为稳定高电平,因此在状态S2 检测到Din为高电平,则转入 S0 状态,到此时完毕一次按键操作,等待下一次按键操作,如果没有按键操作,即按键没按下,则始终保持在状态 S0。第七章 学习心得本次EDA课程设计历时一种星期,时间虽短,但通过一种星期实践,使我对EDA技术有了更进一步理解。同步,大体懂得了一种课题制作详细流程和实行办法。此外,课程设计对Quartus软件使用规定较高,从而使我能较为纯熟运用此软件。在设计时,采用模块化设计思路使得问题变简朴明了,大大缩短了时间,减少了发生错误机侓,也便于修改和更新。课程设计中,需要找诸多资料,在当今信息化环境中,虽然资料诸多,但需要仔细斟酌才干找到所要。这次课程设计较好锻炼了这种能力。此外,与同窗和教师交流必不可少,我从中也学到了不少东西。课程设计是一次较好锻炼机会,我从中学诸多知识对将来学习和工作均有很大协助,十分感谢学校能提供这样一种机会。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁