一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 7602|回复: 6

按键去抖动的另外一个办法

[复制链接]
发表于 2012-4-14 13:53 | 显示全部楼层 |阅读模式
本帖最后由 kenson 于 2012-4-14 13:54 编辑
6 `) V9 Y# |4 R) i( L/ f3 J* O( u, E3 N- y4 S0 g
现在我要用CPLD来检测开关信号,但我想了一下之前我发了一个贴是有关用verilog写的去热抖动的程序:https://www.yleee.com.cn/thread-2445-1-1.html1 I$ L. i. x  c# m: v; `2 g
但看了一下发现这个程序要用到计数器来作为延迟的要耗资源。而我的CPLD用240现在用到90以上了不敢用这个程序只能用其它的办法,找了一下用RS寄存器做开头去抖动吗?!又不太现实想了半天结果还是用PAI型滤波的做法用示波器看了一下效果不错发出来给大家看一下,如果还有什么更好的办法大家说出来。: c7 @& d* V% @1 i
" {" K( Z6 V5 W/ w5 g8 J6 g/ g
, N) ^8 E% J; k4 o5 T6 A
pai型滤波电路.JPG
 楼主| 发表于 2012-4-14 13:58 | 显示全部楼层
RS 去抖动电路原理, f  {( [8 i' p
+ [* i' ^$ b0 D; K8 K4 ], X8 o
基本RS触发器的用途之一是作无抖动开关。当开关接通时,由于机械按键开关在扳动的过程中,存在接触抖动,使得输出点电压从+5V直接地跃降到0V的一瞬间(几十毫秒),会发生多次电压抖动,相当产生连续多个脉冲信号。如果利用这种电路产生的信号去驱动数字电路,则可能导致电路发生误动作。这在某些场合是绝对不允许的,为了消除机械开关的抖动,可在开关与输出端点之间接人一个RS触发器,就能使F端产生很清晰的阶跃信号。那么这种带RS触发器的打关通常称为无抖动开关(或称逻辑开关)。而把有抖动的开关称为数据开关。新艺图库  B% b3 O0 [/ V/ d  q$ v3 ]
原理:在按压按键时,由于机械开关的接触抖动,往往在几十毫秒内电压会出现多次抖动,相当于连续出现了几个脉冲信号。显然,用这样的开关产生的信号直接作为电路的驱动信号可能导致电路产生错误动作,这在有些情况下是绝对不允许的。为了消除开关的接触抖动,可在机械开关与被驱动电路间接的接入一个基本RS触发器,如图1所示838电子。S为 =0, R=l,可得出A=l, A=0。当按压按键时,S=l,R=0,可得出 A=0,A=1,改变了输出信号A的状态。若由于机械开关的接触抖动,则R的状态会在0和1之间变化多次,若 R=l,由于A=0,因此G2门仍然是“有低出高”,不会影响输出的状态。同理,当松开按键时, S端出现的接触抖动亦不会影响输出的状态。因此,图1所示的电路,开关每按压一次,A点的输出信号仅发生一次变化。M7i838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸# U/ G! t9 k0 C! [) s+ L+ n3 r+ A

* _4 a+ x- w0 e; x6 r* ^0 ?  x7 g( ~& Z# c3 j5 z, c8 Q& P
http://www.838dz.com/d/file/ad/Loan/2010-06-07/94c202a8099bc35b13b8f3f22b6eea79.jpg
回复

使用道具 举报

发表于 2012-4-14 18:43 | 显示全部楼层
那得多用多少电容电阻啊,感觉还是用程序去抖动更灵活
回复

使用道具 举报

发表于 2012-4-14 20:00 | 显示全部楼层
为什么不利用一下左边的电阻呢?
回复

使用道具 举报

发表于 2012-4-14 20:38 | 显示全部楼层
有专门的消抖动电路
回复

使用道具 举报

 楼主| 发表于 2012-4-14 20:49 | 显示全部楼层
楼上发出来看一下!
+ H! |) K& ]% M4 d8 z还有我的240已用到230差不多了!没办法加程序进去了不然要去到570,还是外加电路算了。用∏型滤波试过还可以没抖动。
回复

使用道具 举报

发表于 2012-4-15 07:40 | 显示全部楼层
CPLD估计得硬件去抖好些。一楼发的硬件电路里面参数几何?
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-9-21 02:44 , Processed in 0.044496 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表