按键消抖电路瞬态分析和设计

合集下载

按键消抖电路中可能遇到的问题

按键消抖电路中可能遇到的问题

按键消抖电路的问题及解决方案引言在很多电子设备和系统中,我们经常会遇到按键输入的问题,尤其是当按键被长时间按下或快速频繁按下时,可能会出现按键误触或重复触发的现象。

为了解决这个问题,需要使用按键消抖电路。

按键消抖电路是一种用于解决按键输入中抖动问题的电路,其主要功能是确保每个按键信号只被触发一次。

本文将介绍按键消抖电路可能遇到的问题,并提供相应的解决方案。

问题一:按键抖动按键抖动是指在按键被按下或释放的瞬间,由于机械开关的弹性导致的电气接触不稳定现象。

抖动会导致信号在短时间内多次切换,从而可能引起系统错误触发或功能失效。

解决方案: - 硬件滤波:可以使用外部电容器和电阻器组成的RC电路来进行硬件滤波。

通过适当选择电容和电阻值,可以使抖动信号被滤除,只有稳定的按键信号被传递给后续电路。

- 软件滤波:可以在微控制器或数字逻辑芯片中使用软件滤波算法来处理按键信号。

软件滤波可以通过设置特定的时间窗口,在此期间内检测和记录按键状态变化,并在时间窗口结束时确定按键的最终状态。

这种方式可以有效抑制按键抖动,但需要相应的处理算法支持。

问题二:按键重复触发当按键被长时间按下时,由于机械开关的弹性使得接触点会产生微小的颤动,这可能会导致按键信号以较高频率持续触发,而不是期望的单次触发。

解决方案: - 软件消抖:可以在软件中设置合适的按键触发间隔。

当按键被按下时,记录触发时间,并在下一次检测到按键状态变化时,检查与上次触发时间的间隔是否超过设定的阈值。

如果超过阈值,则认为新的按键触发有效,否则忽略。

这种方式可以防止按键重复触发,但要求相应的处理算法支持。

- 硬件消抖:可以使用SR触发器或者集成了消抖功能的按键开关来进行硬件消抖。

SR触发器可以稳定输入信号,并将其作为触发器的输出,以确保只输出一次触发信号。

问题三:按键失效按键失效是指按键无法产生正确的信号输出。

这可能是由于电路连接不良、开关接触不良或按键磨损等原因导致的。

消抖电路原理及实现

消抖电路原理及实现

实 验 报 告实验日期: 学 号:姓 名:实验名称:消抖电路总 分:一、实验概述运用LPM 原件定制DFF 触发器,并调用LPM 定制的DFF 触发器,用VHDL 语言的元件例化实现消抖电路并了解其工作原理。

二、实验原理 1、触发器原理触发器是一种可存储1位二进制码的逻辑电路,是构成各种时序电路的最基本逻辑单元。

触发器有一对互补输出端,输出状态不仅与当前输入有关,还与前一输出状态有关。

触发器有两个稳定状态,在一定的外界信号作用下会发生状态翻转。

2、消抖电路原理脉冲按键与电平按键通常采用机械式开关结构,其核心部件为弹性金属簧片。

按键信号在开关拨片与触电接触后经多次弹跳才会稳定,而在按键过程中,可能出现了多个脉冲。

因此需要根据实际情况进行按键消抖处理以提取稳定脉冲,在按键过程中提取稳定的电平状态,通过对抖动脉冲多次检测信号按键电平值,并提取一前一后两个信号按键电平值来进行比较,以此来获取开关状态。

输出一个周期的脉冲时,要求前一次检测到的电平信号为低电平,后一次检测到的电平信号为高电平时。

3、结构图:三、实验设计时钟信号 元件记忆当前的按键信号电平 元件记忆上一次按键信号电平 两次按键的电平进行比较 脉冲信号1、LPM元件定制DFF触发器(1)设置lpm_ff元件选择Installed Plug-Ins→Storage→lpm_ff项。

(2)LPM元件定制步骤,设置输入data为1位,clock为时钟信号,类型为D 型。

(3)添加异步清零和异步置1。

(4)aclr异步清零且高电平有效,aset异步置1且高电平有效,二者无效时,q输出由clock上升沿触发更新为data。

(5)调出其vhd文件添加至消抖电路的工程中。

(6)仿真验证并下载。

功能仿真波形分析参数:end time 为2.0ns,grid size为100ns;信号:alcr 异步清零且高电平有效,二进制;aset异步置1且高电平有效,二进制;二者无效,q(二进制)输出由clock(二进制)上升沿触发更新为data(二进制)。

实用可控的按键抖动消除电路

实用可控的按键抖动消除电路

实用可控的按键抖动消除电路1 问题的提出研制测量仪表及仪器的过程中,经常碰到按键颤动的问题,即虽然只是按下按键一次然后放掉,结果在按键信号稳定前后,竟浮现了一些不该存在的噪声,这样就会引起的误动作。

在无数应用按键的场合,要求具有消抖措施,即对于噪声信号消抖电路输出信号为零(消抖电路屏蔽了噪声信号,表示按键没有动作),惟独当按键信号K稳定下来甚至经过一定的时光消抖电路才产生输出信号Y。

按键信号K消退,消抖电路输出信号Y随之消逝。

笔者按照某用户的详细要求设计了具有高抗噪声特性的、延时时光精密可控的消颤动电路,其按键信号K、输出信号Y之间的关系1所示。

2 电路组成及工作原理延时时光精密可控的消颤动电路的原理图2所示。

该电路由4块集成芯片和若干、组成。

其中定时器组成多谐用来给计数器提供时钟脉冲;1块CC40161型四位同步二进制计数器用来设定消颤动电路输出信号Y的延迟脉冲个数。

1块CC4043四R/S锁存器(只用了1组,其余3组未用)和1块CC4011四2输入与非门用来实现信号的锁存和控制。

当按键信号K由低电平变为高电平常,电阻尺3和电容C3组成的微分电路使V点产生一个正脉冲,该正脉冲一路经与非门G2反相后加到计数器CC40161的CR端使其清零;另一路加到锁存器CC4043的1R端(此时因为计数器没有进位输出,CO端为低电平,即lS端为低电平),使锁存器输出端1Q为低电子。

与此同时,按键信号K已加到了与非门G1的输入端使G1门开门,那么,由555定时器组成的时钟3端输出的时钟脉冲通过与非门G1加到计数器的CP端,计数器开头计数。

计到15个脉冲,计数器产生进位信号,其CO端输出高电平,使锁存器的1Q端变为高电平,该信号加到与非门G3的一个输入端(与非门G3的另一个输入端为K,已为高电平),则与非门G4的输出Y端为高电平;惟独当按键信号K由高电平为低电平常,Y端才随之变为低电平。

另一方面,因为按键信号K变为低电平,封锁了G1门,时钟脉冲不能通过G1门到达计数器的CP端,计数停止。

按键消抖的原理和基于fpga的消抖设计

按键消抖的原理和基于fpga的消抖设计

按键消抖1功能概述按键开关是各种电子设备不可或缺的人机接口,如电脑的键盘等。

实际应用中,按键开关通常为机械式弹性开关。

当机械点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定接通,断开时也不会马上断开,在闭合和断开的瞬间均伴随有一连串的抖动。

为保证系统及时正确识别,必须对这种情况作出相应处理。

我们称之为按键消抖。

按键消抖可分为硬件消抖和软件消抖。

硬件消抖的原理是在信号输入系统之前消除抖动干扰,在按键较少的情况下比较适宜。

如果按键较多,则使用软件消抖。

软件消抖的实质在于降低键盘输入端口的采样频率,将高频抖动略去。

需要注意的是,软件消抖需要占据一定的系统资源。

尽管硬件消抖和软件消抖能实现按键消抖功能,串行处理的方式都存在一定的局限性,显得不那么完美。

而硬件资源丰富的FPGA系统采用并行处理的模式,利用硬件来减轻软件工作量,通过硬件加速软件消抖处理,即可做到软件消抖并行化,因而在按键消抖处理方面具备非常明显的优势。

优秀的设计程序应该是用最简单的代码(架构、信号)实现功能。

在本例中,我们的只需要用4个信号界定,并用很短的代码即可。

下面我们先来看看功能要求:在系统设计中,消除按键抖动的方法五花八门,无论是硬件电路和软件设计都十分成熟。

在本项目中,我们将用Verilog语言给出具体实现过程,设计一个程序来检查键值,有效滤除按键抖动区间20 ms的毛刺脉冲。

2 设计思路一般按键所用开关为机械弹性开关,由于机械触点的弹性作用,每个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

因而在闭合及断开的瞬间均伴随有一连串的抖动,如下图。

抖动时间的长短由按键的机械特性决定,一般为5 ms~10 ms。

1图1 按键抖动过程示意当系统检测出按键闭合后,执行一个延时程序,产生5ms~10ms的延时;前沿抖动消失后,再一次检测键的状态;如果仍保持闭合状态电平,则确认为真正有键按下。

当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

按键开关去抖动问题

按键开关去抖动问题
按键开关去抖动问
目录
• 引言 • 按键开关抖动的常见解决方法 • 按键开关去抖动的原理 • 去抖动效果的评估和测试 • 实际应用中的按键开关去抖动案例
01
引言
按键开关去抖动的背景和重要性
按键开关在电子设备中广泛应用,但在实际使用中,由 于机械或电气噪声的影响,按键开关可能会出现抖动现 象,即开关状态在短时间内的快速切换。
结合硬件去抖和软件去抖的优点,先通过硬件电路对按键信号进行初步处理,再通过软件算法 进一步去除抖动。
互补滤波法
采用硬件滤波和软件滤波两种方法对按键信号进行互补处理,提高去抖效果。
04
去抖动效果的评估和测试
去抖动效果的评估方法
实际使用评估
在实际使用场景中,观察 按键开关去抖动的表现, 评估其稳定性和可靠性。
在智能家居领域,按键开关被广泛应用于各种智 能设备的控制面板上。由于用户操作频繁,按键 开关容易出现机械疲劳和抖动现象,影响设备的 正常使用。
通过采用去抖动技术,可以有效消除按键开关的 抖动现象,提高设备的响应速度和稳定性,提升 用户的使用体验。
汽车电子中的按键开关去抖动应用
在汽车电子领域,按键开关广泛应用于车载信息娱乐系统、空调控制、车窗升降 等系统中。由于汽车环境的复杂性和使用频率高,按键开关的抖动问题尤为突出 。
实验过程
在实验中模拟按键开关的 抖动情况,记录去抖动电 路的表现和性能数据。
数据处理
对实验数据进行处理和分 析,提取关键性能指标, 如抖动抑制时间、抑制率 等。
结果分析
根据实验结果,分析去抖 动电路的性能表现,评估 其优缺点和适用场景。
实际应用中的按键开关去抖
05
动案例
工业控制中的按键开关去抖动应用

单片机按键电容消抖电路

单片机按键电容消抖电路

单片机按键电容消抖电路1.引言1.1 概述概述部分的内容:在许多电子设备中,按键电路常常被使用来实现用户与设备之间的交互。

然而,由于按键的物理特性,如机械弹性和触点接触的不稳定性,会导致按键的震荡现象,即按键在按下或释放时会产生多次跳变。

这种跳变会导致单片机误读按键的信号,可能引发系统错误操作或不稳定的现象。

因此,为了保证按键信号的可靠性和稳定性,需要对按键进行消抖处理。

本篇文章将详细介绍单片机按键电容消抖电路的设计和实现原理。

通过在按键电路中引入电容元件,可以达到消抖的效果。

电容元件具有快速充放电的特性,可以有效地过滤掉按键震荡带来的干扰信号,确保单片机正确读取按键状态。

文章将首先介绍单片机按键的工作原理,包括按键的接口电路和输入电平变化的检测方式。

接着,将深入探讨按键消抖的必要性,分析不进行消抖处理所带来的潜在问题。

在这之后,将详细介绍按键电容消抖电路的设计原理,包括电容的连接方式和参数的选择。

最后,将给出经过实际测试的电路实现结果和相关性能指标的评估。

通过本文的阅读,读者将能够了解单片机按键的基本原理和消抖处理的必要性,掌握按键电容消抖电路的设计和实现方法,以及了解该电路的性能表现。

这对于开发单片机应用的工程师和爱好者来说,具有一定的指导意义和实践价值。

文章结构部分的内容是对整篇文章的组织和布局进行描述。

它向读者展示了文章的章节和主题,并指导读者理解和阅读文章的内容。

在本文中,文章结构如下:1. 引言1.1 概述1.2 文章结构1.3 目的2. 正文2.1 单片机按键原理2.2 按键消抖的必要性3. 结论3.1 按键电容消抖电路的设计原理3.2 电路实现与测试结果文章的结构分为引言、正文和结论三个主要部分。

在引言部分,概述简要介绍了单片机按键电容消抖电路的背景和重要性;文章结构部分指出了本文的章节组成和布局,为读者提供了阅读指南;目的阐明了文章的目标和意图。

正文部分主要包括单片机按键原理和按键消抖的必要性。

按键去抖课程设计

按键去抖课程设计

按键去抖课程设计一、课程目标知识目标:1. 学生能理解按键去抖的概念,掌握其工作原理;2. 学生能了解按键去抖在电路设计和编程中的应用;3. 学生能掌握相关电子元件的功能和电路连接方式。

技能目标:1. 学生能运用所学知识,设计并搭建简单的按键去抖电路;2. 学生能编写简单的程序,实现对按键去抖功能的控制;3. 学生能通过实际操作,分析并解决按键去抖过程中遇到的问题。

情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生动手实践、合作探究的学习态度;3. 培养学生严谨、细致、勇于克服困难的品质。

课程性质:本课程为电子技术实践课程,旨在帮助学生将理论知识与实际操作相结合,提高学生的动手能力和创新能力。

学生特点:学生处于初中阶段,具有一定的物理知识和电子元件基础,对电子技术有一定的好奇心和兴趣。

教学要求:结合学生特点,注重理论与实践相结合,以学生为主体,教师为主导,引导学生主动探究,培养学生的实践能力和创新精神。

通过本课程的学习,使学生能够将所学知识应用于实际生活中,提高解决实际问题的能力。

二、教学内容1. 按键去抖概念及工作原理- 理解按键抖动的产生原因及影响;- 掌握按键去抖的常用方法和技术;- 学习相关电子元件(如电容、电阻、二极管等)的作用和选型。

2. 按键去抖电路设计与搭建- 学习并应用电路图绘制软件;- 设计简单的按键去抖电路;- 搭建电路,进行实际测试和调试。

3. 按键去抖编程控制- 学习编程语言(如C语言、Arduino等)的基本语法;- 编写按键去抖的程序代码;- 调试程序,实现按键去抖功能。

4. 实际应用案例分析- 分析实际应用中按键去抖的解决方案;- 学习如何根据需求选择合适的按键去抖方法;- 探讨按键去抖在电子产品中的重要性。

教学内容安排与进度:第1课时:按键去抖概念及工作原理第2课时:按键去抖电路设计与搭建第3课时:按键去抖编程控制第4课时:实际应用案例分析及总结教材章节及内容:《电子技术基础》第四章第三节:按键去抖技术《电子技术实践》第二章第五节:按键去抖电路设计与搭建《编程语言》第一章:基本语法与结构《Arduino编程与实践》第三章:数字输入输出控制三、教学方法1. 讲授法:- 在介绍按键去抖的概念、工作原理及相关电子元件的基础知识时,采用讲授法进行教学,使学生在短时间内快速掌握理论要点。

消抖电路实验报告

消抖电路实验报告

消抖电路实验报告一、 实验目的脉冲按键与点评按键通常采用机械式开关结构,其核心部件为弹性金属黄片。

因为按键信号在开关拨片与触点接触后经多弹跳才会稳定,所以设计者需要根据实际情况进行按键消抖处理以及提取稳定脉冲。

二、 实验原理利用D 触发器仅在时钟信号上升沿有效特性实现消抖电路当输入脉冲由低电平到高电平转换过程发生多次抖动时,电路仅输出一个时钟周期宽单脉冲。

三、 实验设计方案可根据以上消抖电路的结构框图利用连接电路图或是编写VHDL 语言代码实现消抖电路。

四、 实验内容1. LPM 定制D 触发器(1) 选择Installed Plug-Ins →Storage →lpmdff;(2) data 选用1位,类型为D 型;(3) 添加异步清零和一步置1;2. 连接电路图实现3. VHDL 实现分析:端口映射中h1:将d_in与clk经过D触发器后输出的值赋给p1;h2:将s1与clk经过D触发器后输出的值赋给p2;h3:将s2经过非门后输出的值赋给p3;h4:将s1与s3经过与门的输出即为clk_out。

4.波形仿真参数设置:End time:2.0us Grid size:100nsclk,d_in:Random Value结论:d_in输入脉冲由低到高电平转换过程中发生多次抖动时,电路仅输出一个时钟周期宽单脉冲,符合预想的结果,故实验验证成功。

5.下载验证锁定管脚:clk:PIN_43 d_in:PIN_82clk_out:PIN_118每次82号灯亮时,连续按43号按钮,118号灯闪烁一次,符合预期结果,正确。

五、实验日志1.在利用LPM定制后的D触发器元件时,我将vhd文件直接拷到xiaodou文件中,但创建bsf文件失败,然后我想到以前调用自己创建的元件时发现直接拷bsf文件到工程文件夹下使用是不行的,后来我又把bdf文件一起拷进去就行了,我就去看看是不是又是有什么没拷进来,发现创建D触发器时会产生一个bsf文件,我直接拷过来放到xiaodou工程文件夹下居然就成功了,多多联想,不管是不是想对了,总是有好处的。

键盘消抖电路的研究与分析

键盘消抖电路的研究与分析

图 2 C消抖电路原理图 R
键 盘是 计 算 机 和 工 业 控 制 等 领 域 不 可 缺 少的 输 入 设 备 ,通过 它 可以 实现 人 机 对 话 , 成 各种 功能 操 作 。但是 , 常 的按 键 完 通 所 用 开 关 为 机械 弹 性 开 关 , 由于 机 械 触 点 的弹性作用 ,一 个按键开关在 闭合时不会
件指 令 或者 定 时 器 的 方 式来 设 定 延 时 的 时 间 , 采 用 通 用 处 理 器 , 由于 运 行 速 度 不 一 致 , 需 要 将 软 件 做 相 应 的 修 改 ,比 较 麻 烦 。
Cl
ke b a d; s n l c i y o r i e h p; tme-d l g l i e ay;e i n e l mi at dt e ig: 7 HC1 i h rn 4 5 2
糍瑚
蠹芸鬈磐蕊0
作为输 入设 备,键 盘电路是 单片机 应 用中的 常用 电 ,但由于 其机械 动作常使 得按键 信 路
号 产生抖 动 所 以在 单 片机 的应 用开 发 中 , 键 盘消 抖 电路 起 到 了非 常重要 的作 用。
判 断是 否有 键按下 ;简 单硬件 消抖 则 是 采用 电容 来平掉 信号 的毛刺 。但 是 对稳定性要求比较高的应用则需要采用 相 对 复 杂 的 集 成 电路 来 实 现 。
翻酾
美漤≥蠢澎基≤◇
1简 单键盘 消抖 方法
1 1软件延时消抖 . 按键抖动时间的长短由按键的机械 特性决定 ,一般为 5 ~l rs ms O ,按 键 e 稳 定 闭 合 时 间的 长短 则是 由操 作 人 员的
按 键 动 作 决 定 的 , 一 般 为 零 点 几 秒 至 数 秒 ,如 图 】所示 。 利用软件延时消除键盘抖动所产生

按键消抖的原理和基于verilog的消抖设计

按键消抖的原理和基于verilog的消抖设计

按键消抖的原理和基于verilog的消抖设计按键开关是各种电子设备不可或缺的人机接口。

在实际应用中,很大一部分的按键是机械按键。

在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。

在系统设计中,有各种各样的消除按键抖动的设计方法,硬件电路和软件设计都很成熟。

不过我们这里要从另外一个角度来讨论按键的消抖,并给出一个用verilog给出一个具体的实现。

首先,看一个普通的机械按键的触点在闭合与断开时的波形(用示波器抓取)。

下面的四张图都是按键在闭合的时候抓到的波形。

可以看到两个明显的趋势:1. 按键在几个us之内就可以达到稳定状态,从高电平转换到底电平;2. 在高电平转换到低电平的过程中,触点有非常明显的抖动。

下面的两张图是按键在断开的时候抓到的波形。

也可以看到两个明显的趋势:1. 按键的变化趋势比较缓慢,从低电平变为高电平需要大概10~20ms的时间;2. 按键断开时没有闭合时那么大的抖动下面两张图是用手迅速闭合按键然后就断开时,按键的输出波形。

在处理按键抖动的程序中,必须同时考虑消除闭合和断开两种情况下的抖动。

所以,对于按键消抖的处理,必须按最差的情况来考虑。

我们从上面的图上可以看到,按键输出的信号的跳变时间(上升沿和下降沿)最大是在20ms左右。

按键一次闭合最短的时间大概是120ms 左右。

如果我们把按键的输出做为一个时钟域(时钟频率未知,但信号的slow rate是已知的,既最大20ms左右)的信号,用另外一个时钟来采集这个按键的输出,则就可以把按键的消抖归结为一个最基本的CDC问题来处理。

而问题的核心是如何确定采集时钟的频率。

假设采集时钟的周期小于20ms,那么,采集时钟就有可能两次采到按键断开时的不。

MCU独立按键消抖动模拟电路设计详解

MCU独立按键消抖动模拟电路设计详解

MCU独立按键消抖动模拟电路设计详解
简单的说,进入了电子,不管是学纯模拟,还是学单片机,
DSP、ARM 等处理器,或者是我们的FPGA,一般没有不用到按键的地方。

按键:人机交互控制,主要用于对系统的控制,信号的释放等。

因此在这里,FPGA 上应用的按键消抖动,也不得不讲!
为什么要消抖动?
如上图所示,在按键被按下的短暂一瞬间,由于硬件上的抖动,往往会产生几毫秒的抖动,在这时候若采集信号,势必导致误操作,甚至系统崩溃;
同样,在释放按键的那一刻,硬件上会相应的产生抖动,会产生同样的后果。

因此,在模拟或者数字电路中,我们要避免在最不稳定的时候采集信号,进行操作。

对此一般产用消抖动的原理。

一般可分为以下几种:
(1)延时
(2)N 次低电平计数
(3)低通滤波
在数字电路中,一般产用(1)(2)种方法。

后文中将详细介绍。

模拟电路按键消抖动
对于模拟电路中,一般消抖动用的是电容消抖动或者施密特触发等电路,再次不做具体介绍。

施密特触发电路如下所示,具体可参考百度文库:wenku.baidu/view/c77025d9ce2f0066f5332276.html。

消抖电路原理及实现

消抖电路原理及实现

实 验 报 告实验日期: 学 号:姓 名:实验名称:消抖电路总 分:一、实验概述运用LPM 原件定制DFF 触发器,并调用LPM 定制的DFF 触发器,用VHDL 语言的元件例化实现消抖电路并了解其工作原理。

二、实验原理 1、触发器原理触发器是一种可存储1位二进制码的逻辑电路,是构成各种时序电路的最基本逻辑单元。

触发器有一对互补输出端,输出状态不仅与当前输入有关,还与前一输出状态有关。

触发器有两个稳定状态,在一定的外界信号作用下会发生状态翻转。

2、消抖电路原理脉冲按键与电平按键通常采用机械式开关结构,其核心部件为弹性金属簧片。

按键信号在开关拨片与触电接触后经多次弹跳才会稳定,而在按键过程中,可能出现了多个脉冲。

因此需要根据实际情况进行按键消抖处理以提取稳定脉冲,在按键过程中提取稳定的电平状态,通过对抖动脉冲多次检测信号按键电平值,并提取一前一后两个信号按键电平值来进行比较,以此来获取开关状态。

输出一个周期的脉冲时,要求前一次检测到的电平信号为低电平,后一次检测到的电平信号为高电平时。

3、结构图:三、实验设计时钟信号 元件记忆当前的按键信号电平 元件记忆上一次按键信号电平 两次按键的电平进行比较 脉冲信号1、LPM元件定制DFF触发器(1)设置lpm_ff元件选择Installed Plug-Ins→Storage→lpm_ff项。

(2)LPM元件定制步骤,设置输入data为1位,clock为时钟信号,类型为D 型。

(3)添加异步清零和异步置1。

(4)aclr异步清零且高电平有效,aset异步置1且高电平有效,二者无效时,q输出由clock上升沿触发更新为data。

(5)调出其vhd文件添加至消抖电路的工程中。

(6)仿真验证并下载。

功能仿真波形分析参数:end time 为2.0ns,grid size为100ns;信号:alcr 异步清零且高电平有效,二进制;aset异步置1且高电平有效,二进制;二者无效,q(二进制)输出由clock(二进制)上升沿触发更新为data(二进制)。

按键消抖电路瞬态设计及分析

按键消抖电路瞬态设计及分析

按键消抖电路瞬态设计及分析
按键是仪器仪表中普遍采用的人机输入接口电路。

在按键电路中必须考虑对按键的抖动进行软件消抖和硬件消抖。

消抖具有使用硬件数量少的优点,但也具有以下两个缺点:
(1)在仪器键盘电路中,多个按键安装在仪器面板上,键盘的输出通过排线连接到主控板上,此时键盘导线寄生电感和寄生电容的存在,寄生电感寄生电容和排线电阻将组成二阶振荡系统,二阶振荡将形成负电平脉冲,而负电平脉冲很容易超出数字芯片的输入最大允许电平范围,导致数字芯片容易损坏。

(2)按键闭合和断开时,电压信号下降沿非常陡峭,剧烈变化的电压信号将通过互容传递到相邻导线上。

硬件消抖电路的设计主要是要考虑以下三个因素:
(1)消除信号的抖动,确保按键电路输出信号的平整;
(2)消除信号的下冲,因为下冲电平超出了后续数字芯片的最大输入电平范围;
(3)降低信号变化的速度,避免在邻线上引起容性串扰;
(4)不影响按键电路的正常功能。

常见的硬件消抖电路包括电容滤波消抖和触发器消抖。

电容滤波消抖采用电阻和电容组成低通滤波器,具有电路结构简单可靠的优点,因此本文将重点阐述该消抖电路。

1 按键消抖电路结构与电路模型。

按键消抖电路中可能遇到的问题

按键消抖电路中可能遇到的问题

按键消抖电路中可能遇到的问题按键消抖电路中可能遇到的问题在现代电子设备中,按键消抖电路扮演着至关重要的角色。

它能够有效地解决按键在按下或释放时可能出现的抖动问题,确保信号的稳定性和可靠性。

然而,尽管按键消抖电路的作用十分重要,但在实际设计和应用过程中,仍然可能会遇到一些问题。

下面,我们将对按键消抖电路中可能遇到的问题进行全面评估,并据此撰写一篇有价值的文章。

问题一:误触发在按键消抖电路中,最常见的问题之一就是误触发。

当按键存在抖动时,可能会导致误判按键的状态,从而产生误触发的现象。

这不仅会影响设备的正常使用体验,还可能导致一些意想不到的后果。

如何有效地避免误触发成为了按键消抖电路设计中需要解决的重要问题之一。

解决方案:为了避免误触发,可以采用延时触发器或者加入适当的延时电路。

延时触发器能够在信号稳定之后才改变输出状态,从而有效地抑制了误触发的发生。

合理地设计延时电路,也能够在一定程度上解决误触发问题。

问题二:电流波动在按键消抖电路的设计中,电流波动也是容易遇到的一个问题。

特别是在长时间使用后,由于环境和元器件的影响,电流的稳定性可能会出现波动,导致按键消抖电路的性能下降。

解决方案:针对电流波动问题,可以在设计中加入合适的滤波电路,确保信号的稳定性和纯净度。

通过滤波电路的作用,可以有效地抑制电流波动,保证按键消抖电路的正常工作。

问题三:抗干扰能力在实际应用中,按键消抖电路往往需要具备较强的抗干扰能力。

尤其是在工业控制等严苛的环境中,各种干扰信号可能会对按键消抖电路的性能产生不利影响,甚至造成设备的误操作。

解决方案:为了提高按键消抖电路的抗干扰能力,可以考虑采用差分输入、屏蔽罩等方法。

差分输入能够有效地抵抗共模干扰,提高信号的纯净度;而屏蔽罩则可以在一定程度上隔离外部干扰信号,保证按键消抖电路的稳定性。

按键消抖电路在实际设计和应用中可能会遇到误触发、电流波动和抗干扰能力较弱等问题。

针对这些问题,我们可以采用延时触发器、滤波电路、差分输入以及屏蔽罩等方法进行有效解决,提高按键消抖电路的性能和稳定性。

实验05按键消抖

实验05按键消抖

实验5 按键消抖1. 实验目的1. 掌握QuartusII的硬件描述语言设计方法2. 了解同步计数器的原理及应用3. 设计一个带使能输入、进位输出及同步清零的增1四位N (N<16)进制同步计数器2. 准备知识在按键使用的过程中,常常遇到按键抖动的问题,开关在闭合(断开)的瞬间,不能一接触就一直保持导通(断开),因为开关的机械特性,重要经历接触-断开-再接触-再断开,最终稳定在接触位置,这就是开关的抖动,即虽然只是按下按键一次然后放掉,结果在按键信号稳定前后,竟出现了一些不该存在的噪声,这样就会引起电路的误动作。

在很多应用按键的场合,要求具有消抖措施。

按键抖动与开关的机械特性有关,其抖动期一般为5-10ms。

图5.1 按键电平抖动示意图按键的消除抖动分为硬件消除抖动和软件消除抖动。

硬件消除抖动一般采用滤波的方法,通常在按键两端并联一个1~10u左右的电容,有时这样也不能完全消除按键的抖动。

软件消除抖动的方法有多种,常用的是延时扫描和定时器扫描。

延时扫描其原理为:检测到按键操作后延时一端时间(如10ms)后,再检测是否为仍然为同样的按键操作状态,如果相同,就认为是进行了按键操作,然后对该操作进行相应的处理。

定时器扫描的原理是:每隔一端时间(几毫秒)扫描一次键盘,如果连续两次(或3次)的所获得的按键状态相同,就输出按键状态,然后再对这种按键状态进行处理,这里的扫描时间间隔和连续判断按键状态的次数是有关系的,一般总时间要大于按键的抖动期。

如果总时间太长,则感觉按键迟钝,太短可能不能完全消除抖动,要根据实际的情况合适的选择。

在实际电路设计中,经常采用的是软硬件相结合对按键进行消除抖动的处理方法。

本实验采用的方法:实验箱按键的硬件电路是共阳极电路,按下按键时输出到FPGA管脚的电平为低电平,松开按键时为高电平。

我们采用5ms的定时器扫描FPGA管脚电平,如果连续3次为低电平时,存储连续按键状态的次数CNT的值加1,直到该计数值等于10(或再大一些),就不再累加(防止长按该值溢出而重新计数),此时认为按键已稳定,输出按键操作标志;在该过程中,一旦FPGA管脚电平为低电平就对CNT复位清零并同时对按键操作标志位复位,即一个异步复位。

按键的硬件消抖电路原理

按键的硬件消抖电路原理

为什么要进行按键消抖按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。

按键的抖动对于人类来说是感觉不到的,但对单片机来说,则是完全可以感应到的,而且还是一个很“漫长”的过程,因为单片机处理的速度在“微秒”级,而按键抖动的时间至少在“毫秒”级。

一次按键动作的电平波形如下图。

存在抖动现象,其前后沿抖动时间一般在5ms~10ms之间。

由于单片机运行速度非常快,经过A时刻的时候会检测到低电平判断按键被按下。

当到了B时刻的时候,单片机同样会检测到高电平,误以为松开按键,然后又到了C时刻检测到低电平,判断到按键被按下。

周而复始,在5-10ms内可能会出现很多次按下的动作,每一次按键的动作判断的次数都不相同。

为确保单片机对按键的一次闭合仅作一次处理,必须处理按键抖动问题。

在按键闭合或者释放稳定时再读取按键的状态。

硬件消抖电路硬件消抖一般有两种实现方式:o RS触发器o电容滤波RS触发器利用RS触发器来吸收按键的抖动。

一旦有键按下,触发器立即翻转,触电的抖动便不会再对输出产生影响,按键释放时也一样。

RS触发电路消抖电路图如下。

电容滤波将电容并联在按键的两端,利用电容的放电的延时特性。

将产生抖动的电平通过电容吸收掉。

从而达到消抖的作用,电容消抖电路图如下图所示。

总结实际上,在没有MCU的情况下,对按键进行消抖通常是通过硬件消抖电路来实现。

而在嵌入式开发中,大多数情况下都是通过程序来实现按键消抖。

简单说就是加合适的延迟,显然这实现成本要比硬件电路方式低得多。

5_按键防抖动电路设计

5_按键防抖动电路设计

一、实验电路图、状态图、流程图、程序代码、仿真代码、仿真波形图(可以只写出核心功能代码,代码要有注释)
设计思路:
在第一个状态时,等待按键按下,一旦有按键按下(按键下降沿到来),便跳转到第二个状态,抖动滤除状态。

在第二个状态,有检测到高电平(上升沿),就会被认为是毛刺,进而返回第一个状态继续等待下降沿。

等毛刺被滤除后(计数满)则进入按下稳定状态。

在按下稳定状态,等待释放(上升沿),同按键按下的状态,再次滤除释放按键的抖动。

等抖动滤除后,恢复到第一个状态。

状态转移图:
程序代码:
译码器模块:
Modelsim测试代码:
Modelsim功能仿真波形图:。

如何设计按键消抖

如何设计按键消抖

在使用单片机搭建有人机交互的系统时需要用到键盘,因为单片机工作时间都是纳秒与毫秒级别,但是我们人体的反应时间最少要0.2秒,之间差距很大,现实过程中也会不小心碰到按键,正常的按下按键应该是持续数十秒的稳定。

一、按键电路常用的非编码键盘,每个在使用单片机搭建有人机交互的系统时需要用到键盘,因为单片机工作时间都是纳秒与毫秒级别,但是我们人体的反应时间最少要0.2秒,之间差距很大,现实过程中也会不小心碰到按键,正常的按下按键应该是持续数十秒的稳定。

一、按键电路常用的非编码键盘,每个键都是一个常开开关电路。

计数器输入脉冲最好不要直接接普通的按键开关,因为记数器的记数速度非常快,按键、触点等接触时会有多次接通和断开的现象。

我们感觉不到,可是记数器却都记录了下来。

例如,虽然只按了1下,记数器可能记了3下。

因此,使用按键的记数电路都会增加单稳态电路避免记数错误。

二、按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号小型如下图。

由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

因而在闭合与断开的瞬间均伴随有一连串的抖动,如下图。

抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。

这是一个很重要的时间参数,在很多场合都要用到。

按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。

键抖动会引起一次按键被误读多次。

为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。

在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。

按键的抖动,可用硬件或软件两种方法。

三、硬件消抖在键数较少时可用硬件方法消除键抖动。

下图所示的RS触发器为常用的硬件去抖。

消抖电路如下图中两个“与非”门构成一个RS触发器。

当按键未按下时,输出为1;当键按下时,输出为0。

此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按键消抖电路瞬态分析和设计
按键是仪器仪表中普遍采用的人机输入接口电路。

在按键电路中必须考虑对按键的抖动进行软件消抖和硬件消抖。

软件消抖具有使用硬件数量少的优点,但也具有以下两个缺点:(1)在仪器键盘电路中,多个按键安装在仪器面板上,键盘的输出通过排线连接到主控板上,此时键盘导线寄生电感和寄生电容的存在,寄生电感寄生电容和排线电阻将组成二阶振荡系统,二阶振荡将形成负电平脉冲,而负电平脉冲很容易超出数字芯片的输入最大允许电平范围,导致数字芯片容易损坏。

(2)按键闭合和断开时,电压信号下降沿非常陡峭,剧烈变化的电压信号将通过互容传递到相邻导线上。

硬件消抖电路的设计主要是要考虑以下三个因素:(1)消除信号的抖动,确保按键电路输出信号的平整;(2)消除信号的下冲,因为下冲电平超出了后续数字芯片的最大输入电平范围;(3)降低信号变化的速度,避免在邻线上引起容性串扰;(4)不影响按键电路的正常功能。

常见的硬件消抖电路包括电容滤波消抖和触发器消抖。

电容滤波消抖采用电阻和电容组成低通滤波器,具有电路结构简单可靠的优点,因此本文将重点阐述该消抖电路。

1 按键消抖电路结构与电路模型图1为某仪器按键电路原理图,按键安装在仪器面板上,通过导线连接到主控板上,按键的一端接上拉电阻并连接后续电路,按键的另一端接地,当按键没有按下时,按键输出高电平,当按键按下时,按键输出低电平。

图2为加上滤波电容后的按键电路。

图1 某仪器按键电路
图2 按键消抖电路
图3为按键消抖电路的电路模型。

图中R0为连接按键导线的电阻,L 为导线电感,C0为导线对地电容,C f为滤波电容,C p为按键后续电路的输入电容,R i为按键后续电路的输入阻抗,R 为上拉电阻,V CC为电源电压,U为按键消抖电路的输出电压。

图3 按键消抖电路的电路模型
当按键闭合时,其等效电路模型如图4所示。

当按键断开时,其等效电路模型如图5所示。

2 按键消抖电路数学模型设某一时刻按键合上,在此之前按键断开,整个电路处于稳态,即各个电容和电感上没有电流流动。

此时输出电压U =u0=V CC×R (R +R i) 。

则根据图4整个电路可列出以下微分方程:
图4 按键闭合时等效电路模型
图5 按键断开时等效电路模型
式中:i0为L 所在支路的电流;C 为C0,C f和C p的等效电容,C 为三者之和。

对式(1)、式(2)进行拉普拉斯变换后可得:
将上式运用留数定理分解可得:
设某一时刻按键断开,在此之前按键闭合,整个电路处于稳态,即各个电容和电感上没有电流流动。

此时输出电压U =u0=V CC× R i R0(RR i+R0R i+RR0) 。

根据图5可列出以下微分方程:
3 按键电路瞬态分析对式(5)进行拉普拉斯反变换便可得到按键断开电路处于稳态时按键闭合的输出电压u(t)的时域响应。

根据拉普拉斯变换的初值定理和终值定理,可得到:
对式(6)进行拉普拉斯反变换便可得到按键闭合电路处于稳态时按键断开的输出电压u(t)的时域响应。

对式(6)进行拉普拉斯反变换便可得到按键闭合电路处于稳态时按键断开的输出电压u(t)的时域响应。

式(6)的时域响应为电容充电的时域响应,其响应过程为单调上升,其上升时间为2.2T,充电时间常数T等于R e C,R e为R i和R 的并联。

T 越大上升时间越大,上升时间过大将影响按键的正常使用。

按键按下一次的持续时间约为0.01~0.1 s,因此消抖电路将上升时间调整到500 μs 以内比较适合。

现测得已连接到单片机输入引脚的按键电路其导线电阻R0为1.6 Ω,导线电感L 为25 nH,导线对地电容C i+C p为9.6 pF,在电路中使用的上拉电阻R 为10 kΩ,单片机输入引脚输入阻抗R e为2 MΩ,使用电源电压V CC为3.3 V,则不加滤波电容时,按键闭合和断开的瞬态响应分别如图6 和图7 所示,由图6 可见下冲峰值接近2 V,而使用单片机引脚的最大输入电压范围为-0.3 V~(V CC+0.3 V),该下冲电压远远超出该电平范围。

图6 实测按键闭合瞬间的时域响应
4 按键消抖电路设计按键消抖电路的设计主要是利用电容的平滑功能,将毛刺平滑掉,滤波电容越大,信号越平滑。

但是电容的增大会导致上升时间过大,电容太小则无法消除毛刺。

现针对一单片机按键电路为例进行阐述。

图8为该电路未进行硬件消抖时使用衰减探头在示波器上观察到的毛刺。

图7 实测按键断开瞬间时域响应
图8 按键电路毛刺
现测得该单片机按键电路寄生电感L 为30 nH,寄生电容C0+C p为35 pF,导线直流电阻R0为0.2 Ω。

查阅单片机数据手册,计算得到其输入引脚输入阻抗为2 MΩ,上拉电阻R 为10 kΩ。

根据式(6)和式(7)可计算出未加滤波电容的按键电路在按键闭合时其二阶系统的ξ为0.004 887,振荡频率为155.319 MHz。

图6为在示波器上观察到的按键闭合瞬间的时域响应。

由图可见最大的下冲幅度达到了-1.66 V,该电平远超出单片机的电压范围。

根据式(9)可计算得到按键断开时充电时间常数为348.258 7 ns,信号上升时间为766.17 ns。

图7为在示波器上观察到的按键断开瞬间时域响应。

为消除按键抖动,滤波电容越大越好,但电容增大将增大信号的上升时间。

为不影响按键电路的正常功能,需将上升时间控制。

在0.5 ms以内。

为此可得到当上拉电阻为10 kΩ时滤波电容的最大值为22.85 nF,上拉电阻为1 kΩ时滤波电容的最大值为227.38 nF。

当滤波电容为227.38 nF时,ξ值为0.275 9,ξ值小于1,当按键闭合时依然会有衰减振荡,此时的衰减振荡频率为1.849 8 MHz,下冲峰值约为-1.34 V,下冲持续时间约为271 ns,R=1 kΩ,C f=227.38 nF。

由于下冲持续时间较长,危害性也将增大。

图9为R=1 kΩ,滤波电容为227.38 nF时的按键闭合瞬间时域响应波形。

图10为R=1
kΩ,滤波电容为220 nF时在示波器上观察到的按键闭合瞬间时域响应波形。

图9 按键闭合瞬间仿真波形
图10 按键闭合瞬间实测波形
因此,单靠增加电容来进行滤波的方法是行不通的,由式(7)可知,增大R0可以显著增加ξ,为此可以在按键导线上串接电阻。

在最终的按键消抖电路设计中,串接电阻选为100 Ω,滤波电容为8.2 nF。

此时ξ 为26.117 7,彻底消除了振荡,此时的充电时间常数T 为81.94 μs,上升时间为180.268 μs。

图11为整个按键消抖电路的按键闭合和按键断开瞬间的时域响应波形仿真。

图12为整个按键消抖电路的按键闭合和按键断开瞬间的实测时域响应波形。

图13为一次按键按下实测完整波形。

图14为最终的按键消抖电路。

由图12可见,按键闭合时没有过冲,按键断开时上升时间小于0.5 ms。

由图13可见,在按键按下和松开之间的过程中,抖动已被消除,而且完全不影响按键电路的正常功能。

图11 消抖电路按键闭合和断开瞬间的时域响应波形仿真
图12 消抖电路按键闭合和断开瞬间实测时域响应波形
图13 一次按键按下实测完整波形
5 结语本文分析了软件消抖电路中存在的不足,指出了软件消抖存在输出信号下冲电平超出后续数字芯片输入电平范围容易危害数字芯片,提出了按键闭合时信号下降速度过快易引起容性串扰。

针对软件消抖电路的不足,本文分析了硬件消抖电路,建立了数学模型,仿真并实测了按键消抖电路的时域响应。

针对硬件消抖电路中仅使用滤波电容消除按键抖动的方法,通过仿真和实测阐述了该方法反而会导致下冲持续时间更长,对后续电路危害性大。

图14 按键消抖电路图
针对该问题,本文分析计算了在按键导线中串接电阻以消除下冲,仿真并实测了整个硬件消抖电路的瞬时响应,实测了硬件消抖电路按键按下和释放整个过程的时域波形,消除了按键抖动和下冲。

相关文档
最新文档