找回密码
 注册
关于网站域名变更的通知
查看: 278|回复: 1
打印 上一主题 下一主题

VHDL设计的消抖与滤波方案

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-5-22 09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    VHDL设计的消抖与滤波方案
    # B' L1 S- V- }, C% @

    ( ~( U! z: G( F' Q7 Y      在同一块电路板上,由于信号线的走线过长而产生的高频毛刺我们可以通过在接近输入端串联一个100欧左右的电阻来滤除。但是对于板外信号,或者板内其他干扰造成较大的抖动时只好采用积分电路来滤波,即串一个电阻还要并一个电容接地。
    * F/ b) {. ?' |1 U2 \  o4 h

    同样在VHDL中我们可以采用类似的办法,对于小于触发器建立时间的毛刺可以用时钟打一下实现滤波。但对于开关或按键抖动等较大的干扰,我们可以采用延时比较法或积分法,或者二者并用。

    比较法:这个方法很好理解,就是若干个时钟周期读取的数据相同时我们认为收到了一个稳定的数据,否则认为是过渡态。即采用若干位的移位寄存器,当寄存器是全'1'或全'0'时才开始读数。这种方法的缺点是,当干扰脉冲较宽时我们必须等比地扩大移位寄存器的比特,消耗较大资源。

    积分法:用一个增减计数器,当输入信号为'1'时计数器递增计数直到计数器全'1'停止计数、否则计数器递减计数直到全'0'停止计数。那么计数器的 MSB即为 输入信号的去抖信号。你也可以用时钟再加上一个速度较慢的使能来对输入信号计数。显然计数器的位数要求与要去抖的抖动脉冲宽度的对数关系。当然也可以二者结合,前端用几个比特的移位寄存器实现比较,比较结果作为计数使能来控制接下来的增减计数器的计数。

    ( z+ @  Y! t2 I
    " y6 f) c8 a8 y& J( z/ a
    5 R- y$ i4 m5 m0 T1 K

    9 F5 _0 {4 S) X: k; P
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-3 12:11 , Processed in 0.093750 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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