找回密码
 注册
搜索
查看: 2690|回复: 11

[讨论] 怎么去除抖动和毛刺呢

[复制链接]
发表于 2008-6-2 13:21:13 | 显示全部楼层 |阅读模式
怎么去除抖动和毛刺呢
本文来自:我爱研发网(52RD.com) 详细出处:http://www.52rd.com/bbs/post.asp?action=new&boardid=95
发表于 2008-6-10 14:47:10 | 显示全部楼层
按键的抖动和毛刺一般是通过定时来实现的,大概思路是第一次判断有键按下然后隔一定时间后再扫描此键,如果仍处于按下状态则说明此键被按下。
点评回复

使用道具 举报

发表于 2008-6-11 13:35:16 | 显示全部楼层
键盘抖动很容易处理的,俩触发器即可搞定!
点评回复

使用道具 举报

发表于 2008-6-29 20:18:29 | 显示全部楼层
我们可以通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。
    毛刺并不是对所有的输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,我们可以说D触发器的D输入端对毛刺不敏感。 根据这个特性,我们应当在系统中尽可能采用同步电路,这是因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。 (由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)去除毛刺的一种常见的方法是利用D触发器的D输入端[/COLOR]对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路。但对于D触发器的时钟端,置位端,清零端,则都是对毛刺敏感的输入端,任何一点毛刺就会使系统出错,但只要认真处理,我

采用格雷码计数器,同步电路等,可以大大减少毛刺,但它并不能完全消除毛刺
点评回复

使用道具 举报

发表于 2008-8-16 23:23:00 | 显示全部楼层
有多种方法
点评回复

使用道具 举报

发表于 2008-9-26 20:04:52 | 显示全部楼层
可以用几个D触发器滤波
点评回复

使用道具 举报

发表于 2008-10-9 13:11:59 | 显示全部楼层
楼上几位说的都不错
按键抖动可以按照nicerain的方法
去毛刺方法非常多,我觉得最实用的方法就是接两D触发器
点评回复

使用道具 举报

发表于 2008-10-15 18:09:25 | 显示全部楼层
这种问题可以写一本书。
建议把范围缩小一下。
点评回复

使用道具 举报

发表于 2008-10-17 23:08:13 | 显示全部楼层
我觉得在fpga内部用同步电路来代替异步电路去抖动的效果最明显,如果是在芯片外部的话可以并联电容来去除毛刺。
点评回复

使用道具 举报

发表于 2008-10-21 10:23:26 | 显示全部楼层
还是用两个D触发器的效果比较好,如果是在输入端,比如我经常用的PTT信号,现在看最好的办法就是在输入的端口串接一个电感,毛刺基本就不会影响使用了。
点评回复

使用道具 举报

发表于 2010-1-14 22:57:47 | 显示全部楼层
看过,学习下,谢谢
点评回复

使用道具 举报

发表于 2010-3-26 09:51:15 | 显示全部楼层
Glitch  <---

有一種電路設計的方式叫 asynchronous circuit,你可以參考一下.

http://en.wikipedia.org/wiki/Asynchronous_circuit
http://www.csie.ntu.edu.tw/~chchiang/94dcl/asyn/

University of Manchester, Caltech跟 Utah 在這方面都蠻有名的.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-4 01:58 , Processed in 0.075613 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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