基于FPGA的按键弹跳消除模块的研究与应用

发布者:自由思考最新更新时间:2010-08-02 来源: 同济大学微电子中心关键字:FPGA  按键弹跳消除 手机看文章 扫描二维码
随时随地手机看文章

  按键在数字电路设计中经常用到。按键的弹跳现象是数字系统设计中存在的客观问题。按键是机械触点,当接触点断开或闭合时会产生抖动。为使每一次按键只做一次响应,就必须去除抖动。本文对按键的抖动信号进行了分析,并通过计数器的方式完成了消除抖动电路模块的设计。把该模块应用到按键控制LCD显示的系统中,并在Memec代理的Virtex-4 MB系统实验板上实现了该系统。消抖电路的效果良好,按键控制LCD显示结果正常。

  按键开关是电子设备人机交互的主要器件之一。按键大多是机械式开关结构,由于机械式开关的核心部件为弹性金属簧片,因而在开关切换的瞬间会在接触点出现来回弹跳的现象。对于灵敏度比较高的电路,这种弹跳现象引起的信号抖动会造成误动作而影响到系统的正确性。因此,我们需要设计按键弹跳消除电路来去除抖动.。

  1.弹跳消除电路的原理和功能

  按键开关的典型连线分为低电平有效和高电平有效,本文的是低电平有效。

  机械开关的抖动存在三种情况:按下时有抖动,松开时也有抖动;按下时有抖动,松开时无抖动;按下时无抖动,松开时有抖动。机械开关的抖动波形、抖动次数、抖动时间都是随机的,并不是每次都会产生抖动。

  不同开关的最长抖动时间也不同。抖动时间的长短和机械开关特性有关,一般为5ms到10ms。但是,某些开关的抖动时间长达20ms,甚至更长。所以,在具体设计中要具体分析,根据实际情况来调整设计。

  弹跳现象以及弹跳消除如图1 所示,虽然只是按下按键一次后放掉,结果在按键信号稳定先后竟出现了多个段脉冲,如果将这样的信号直接送到计数器之类的时序电路,结果将可能发生计数超过一次以上的误动作,从而误以为键盘按了多次。因此,必须加上弹跳消除电路,除去短脉冲,避免误操作的发生。

弹跳现象以及弹跳消除[page]

  2.按键弹跳消除模块的实现

  为了使按键弹跳消除模块的更加简洁,并且移植性好,在此用计数器的方式实现消除按键抖动的功能。

  2.1 计数器模值的计算

  计数器模值的确定是按键弹跳消除效果的关键问题,如果值过大,即采样时间过长,就会漏掉正确的信号;如果值过小,采样时间过短,则会将毛刺误认为是输入信号。

  计数器的模值n根据抖动信号的脉冲宽度和采样信号clk的周期大小决定。根据一般人按键的速度小于10Hz(每秒小于10次),所以按键时间大于100ms,按占空比50%计算,按下的时间大于50ms。按这种约定,我们认为按下的时间小于50ms的为抖动信号,按下的时间大于50ms的是按键信号。即n=50ms/采样脉冲信号周期,这样就可以把按下的时间小于50ms的抖动信号滤掉。

  在此,根据实验板提供的系统时钟来确定实际需要的模值。实验板提供的系统时钟为100mHz,通过分频后得到25mHz的时钟,50ms*25mHz得到count的模值为21’h1312D0。采用这个模值得到的消抖时间大约为50ms,符合要求。

  2.2 程序设计

  设计一个高脉冲计数器count1和一个低脉冲计数器conut0。引入一个采样脉冲信号clk,对输入信号button_in进行采样,并对clk进行计数。若button_in为高电平,count1做加法计数,直到count1各位全为1,停止计数,归零,使消抖后的输出信号button_out输出1。若button_in为低电平,count0做加法计数,直到count0各位全为1,停止计数归零,并使消抖后的输出信号button_out输出0。

  部分程序如下:

程序

弹跳消除模块的仿真波形[page]

  3 按键弹跳消除模块的实际应用

  利用Memec virtex-4 开发板,通过开发板上的按钮输入8位的01控制代码,用开发板上的开关输入状态控制位,从而控制板上的1602 C型字符型液晶模块的显示模式和内容。

  LCD控制信号生成模块:根据按钮输入,产生控制显示模块的8位控制信号。对按钮送入该模块的1位(0/1)信号进行保存并进行转换,使每8次输入形成一个8位的信号。如果输入不满8位或需重新输入,则取消上次结果;如果确定输入结果正确,则将8位信号保存并输出。

  LCD显示控制模块:完成1602 C型字符型液晶模块的初始化,并根据控制信号完成状态转换。

LCD 初始化仿真波形

  总系统设计如图4:

总系统设计图

  结束语

  本文进行性模块化设计,实现了弹跳消除电路模块、LCD控制信号生成模块和LCD显示控制模块组成的系统的具体功能,在Memec实验板上运行效果良好。并且在用FPGA进行电路调试的时候,可以将该系统嵌入其它电路中,增加需要的测试点和观察点,通过按钮控制显示,可以动态的对电路进行测试,找出问题,使调试更加直观,从而提高的FPGA的内部信号的可观察性,提高验证效率。

关键字:FPGA  按键弹跳消除 引用地址:基于FPGA的按键弹跳消除模块的研究与应用

上一篇:基于FPGA和DDS技术的正弦信号发生器设计
下一篇:基于FPGA的数字视频转换接口的设计与实现

推荐阅读最新更新时间:2024-05-02 21:06

利用FPGA解决TMS320C54x与SDRAM的接口问题
摘要:介绍了如何利用FPGA设计TMS320C54x系列芯片与TMS62812A SDRAM之间的接口。这种接口方法适合于需要外扩大容量存储器的应用场合。 关键词:FPGA TMS320C54x SDRM 接口 在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸多图片或图像暂存下来,需要将DSP处理后的数据转移到外存中以备后用。从目前的存储器市场看,SDRAM由于其性能价格比的优势,而被DSP开发者所青睐。DSP与SDRAM直接接口是不可能的。FPGA(现场可编程门阵列)由于其具有使用灵活、执行速度快、开发工具丰富的特点而越来越多地出现在现场电路设计中。本文用FPGA作为接口芯
[应用]
AES算法中S-box和列混合单元的优化及FPGA实现
  美国国家标准与技术局(National Institute of Standard and Technology,NIST)于1997年1月提出发展AES(Advanced Encryption Standard)加密算法,并于同年9月12日推出AES的早期基本算法。在研究了一系列早期算法之后,Rijndael算法被确定为先进加密标准(Advanced Encryption Standard,AES)。由于其较高的保密级别,AES算法被用来替代DES和3-DES,以适应更为严苛的数据加密需要。   与此同时,市场迫切需要AES的FPGA和ASIC的硬件解决方案,因为其与用软件实现相比更安全而且更省电。在一些应用,如:信用卡,
[嵌入式]
AES算法中S-box和列混合单元的优化及<font color='red'>FPGA</font>实现
基于FPGA的数字闭环光纤陀螺仪模拟表头设计
光纤陀螺是激光陀螺的一种,是惯性技术和光电子技术紧密结合的产物。它利用Sagnac干涉效应,用光纤构成环形光路,并检测出随光纤环的转动而产生的两路超辐射光束之间的相位差,由此计算出光纤环旋转的角速度。光纤陀螺仪主要由两个部分组成。伺服于表头的调制解调电路根据输入的电信号,经过相应的变换后形成反馈信号送至表头的相位调制器中。在实际的应用过程中,相应的调制解调电路应该根据温度、振动等情况做出相应的改变,才能最大限度地保证陀螺的精度要求。本文设计了一种基于FPGA的测试系统,模拟光纤陀螺仪的表头,并检测调制解调电路的性能。 模拟表头的基本原理及结构 表头的主要功能是将Sagnac效应产生的光程差所引起的相位变化通过回路耦合器转换为
[嵌入式]
啃下硬骨头实现市场突破,安路科技怎样用FPGA突围工业4.0
8月27日,在2020世界半导体论坛上,安路科技获评2019年度中国IC独角兽。 这是安路科技蝉联FPGA 独角兽荣誉的第二年。 伴随新一代信息技术的发展,全球进入空前的创新密集和产业变革时代。基于此,以物联网和智能制造为主导的工业4.0悄然来袭。 变革带来更多的想象空间与市场机遇,打开局面的“最先一公里“尤为重要。面对工业4.0如何破局、如何抢占先机,如何在国外巨头的垄断下”涉险滩“?安路科技选择的利器为FPGA。 在本次世界半导体大会的IC独角兽分论坛上,安路科技联合创始人陈利光博士发表了题为《FPGA在工业4.0中应用与挑战》的演讲。 工业4.0时代对FPGA催生出哪些新的需求,陈利光从工业革命的角度阐述了这个问题。
[手机便携]
莱迪思全新FPGA赋予3D新含义
“3D这个‘D’是Defense、防卫,不是‘三维’这个意思。全新的防卫功能是通过硬件和信任来增加安全性的。”莱迪思半导体公司近日宣布推出MachXO3D FPGA,用于在各类应用中保障系统安全。莱迪思半导体亚太区业务发展(BD)总监陈英仁先生,在发布会上对3D进行了解释。 搭配硬件可信根极大提升安全性 不安全的系统会导致数据和设计盗窃、产品克隆和过度构建以及设备篡改或劫持等问题。OEM可以使用MachXO3D轻松实现可靠、全面、灵活的基于硬件的安全机制,保障所有系统固件的安全。MachXO3D可以在系统生命周期的各个阶段(从生产到系统报废),组件固件遭到未经授权的访问时,对其保护、检测和恢复。 “我们的方式
[嵌入式]
莱迪思全新<font color='red'>FPGA</font>赋予3D新含义
基于SOPC的分布式干扰系统嵌入式网关设计
0 引言     分布式干扰系统是一种综合化、一体化、小型化、网络化和智能化系统,是将众多体积小,重量轻,廉价的小功率侦察干扰机装置在易于投放的小型平台上,撒布在接近被干扰目标空域地,通过指令启动,自主组网,并根据控制对敌方雷达网、通信网、制导网和预警机等电子信息系统实施接近式侦察和干扰,这将在未来的电子对抗中发挥重要作用。分布式干扰系统采用逼近的分布式网络化结构,形成一种“面对面”的电子战系统,共同完成对敌信号的探测、定位、干扰任务。因此,嵌入式网关是分布式干扰系统研究的关键技术之一。目前国内对分布式干扰系统的研究还停留在理论基础上,而对其关键技术的研究不多。本文首次在现场可编程门阵列(Field Programmable Gat
[嵌入式]
FPGA单片机带你领略如何实现多机串行通信网络
随着电子技术和EDA技术的发展,FPGA技术以其独有的优势,在电子设计领域得到越来越广泛的应用。 FPGA 具有集成度高、体积小和功耗低等优点,而且还具有用户可编程能力。采用FPGA器件可以大大缩短开发周期,减少资金投入,实现片上可编程系统(SOPC)的设计。同时,测控系统中使用串行扩展通信的趋势越来越突出,但是传统总线拓扑结构较低的响应效率已经不能满足复杂系统的要求。本文的主要目的是基于FPGA设计一个集成16个简单UART(通用异步接收发送设备)的模块,该模块采用VHDL语言描述。主单片机通过并口与FPGA相连,FPGA通过16个UART分别与16个从单片机相连,实现 单片机 串行通信网络系统。 1 系统硬件总体设计 系统
[电源管理]
<font color='red'>FPGA</font>单片机带你领略如何实现多机串行通信网络
一种并行存储器系统的FPGA实现
   摘 要: 介绍一种可在现代小卫星上应用的高(低)位交叉并行存储系统,并给出了该存储系统控制器的FPGA实现。该系统的应用将极大地增强星上计算机的数据通信和图象处理的能力,并提高整个系统的可靠性。     关键词: 现代小卫星 星载计算机 并行存储系统 FPGA 硬件描述语言     现代小卫星,通常指80年代以后发展起来的小卫星。它建立在微电子技术,计算机(包括软件)、微型光学和机械、轻型复合材料及高精机械加工的基础上,是航天高技术发展的产物。虽然现代小卫星的体积和重量很小,成本和风险都很低,但由于选用了高新技术,整个小卫星的容量和性能,即小卫星的功能密度是很高的。而且小卫星组成星座可拓宽全新的应用领
[缓冲存储]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved