在同一块电路板上,由于信号线的走线过长而产生的高频毛刺我们可以通过在接近输入端串联一个100欧左右的电阻来滤除。但是对于板外信号,或者板内其他干扰造成较大的抖动时只好采用积分电路来滤波,即串一个电阻还要并一个电容接地。
同样在VHDL中我们可以采用类似的办法,对于小于触发器建立时间的毛刺可以用时钟打一下实现滤波。但对于开关或按键抖动等较大的干扰,我们可以采用延时比较法或积分法,或者二者并用。
比较法:这个方法很好理解,就是若干个时钟周期读取的数据相同时我们认为收到了一个稳定的数据,否则认为是过渡态。即采用若干位的移位寄存器,当寄存器是全'1'或全'0'时才开始读数。这种方法的缺点是,当干扰脉冲较宽时我们必须等比地扩大移位寄存器的比特,消耗较大资源。
积分法:用一个增减计数器,当输入信号为'1'时计数器递增计数直到计数器全'1'停止计数、否则计数器递减计数直到全'0'停止计数。那么计数器的 MSB即为输入信号的去抖信号。你也可以用时钟再加上一个速度较慢的使能来对输入信号计数。显然计数器的位数要求与要去抖的抖动脉冲宽度的对数关系。当然也可以二者结合,前端用几个比特的移位寄存器实现比较,比较结果作为计数使能来控制接下来的增减计数器的计数。
关键字:计数器 寄存器 计数
引用地址:
VHDL设计的消抖与滤波
推荐阅读最新更新时间:2024-05-13 18:14
STM32自学之SPI的DMA操作(寄存器级)
STM32自学之SPI的DMA操作(寄存器级) 一、实验目标 学会配置STM32的SPI寄存器和DMA寄存器,实现STM32的SPI1与SPI2通信功能,每次发送一字节数据,并可多次发送,如果接收的数据正确,则点亮LED灯。之后看可以利用DMA来实现什么功能~~~ 二、实验目的 加入DMA的SPI通信相对于普通SPI通信有什么好处?ST给SPI加了DMA功能出于什么目的?我觉得这是很重要的一个问题,一直边学习边想。以下是我的看法: 减少CPU负荷?我想这应该是DMA最主要的功能,可是对于SPI通信来说,其实大部分时候我们需要根据发送的指令- 目标器件的应答来决定下一个指令,所以此时CPU还是需要一直等待每次通信的结束。而且
[单片机]
使用excel制作的AVR寄存器配置助手---轻松搞定AVR
/*********************************************************** -功能描述:开机初始化 -参数说明:无 -返回说明:无 ***********************************************************/ void Init_Start(void) { ADC_InitTypeDef ADC_InitStruct; /*ADC配置*/ ADC_InitStruct.refSource = REF_INT; //内部基准源 ADC_InitStruct.dataAlign = AD_LEFT; //ADC数据为左对齐
[单片机]
寄存器和移位寄存器
寄存器 1.定义 2.电路举例 3.逻辑功能分析 7.4.2 移位寄存器 一、单向移位寄存器 ㈠ 由4个维持阻塞D触发器组成4位右移位寄存器。 1.逻辑电路: 2.工作原理 3.右移位寄存器的状态表 ㈡ 4位左移位寄存器。 二、双向移位寄存器4位双向移位寄存器CT74LS194 1.逻辑功能示意图 2.功能表 3.主要功能分析 7.4.3 移位寄存器的应用 一、环形计数器 逻辑电路、工作原理 1.写方程式 2.状态转换真值表 3.逻辑功能 4.工作波形(在有效状态时)。 5.优缺点: 二、扭环计数器 同环形计数器的分析过程 7.4.4 顺序脉冲发生器 一、基本概念 二、由环形计数器实现 三、由双向移位寄存器CT74LS194构成 ㈠
[模拟电子]
西门子PLC的计数指令
西门子plc的每次向上计数输入执行从关闭至打开转换时,向上计数(CTU)从该计数器的当前值向上计数。重设输入打开或执行重设指令时,计数器被重设。达到最大值(32,767)时,计数器停止。 每次向上计数输入执行从关闭至打开转换时,向上/向下计数器(CTUD)向上计数,每次向下计数输入执行从关闭至打开转换32,767)时,向上计数输入的下一个上升边缘导致当前计数变成最小值(32,768)。与此相似,达到最小值(-32,768)时,向下计数输入的下一个上升边缘导致当前计数变成最大值(32,767)。 向上和向上/向下计数器有一个保持当前计数的当前值。计数器还有一个预设值(PV),每次执行计数器指令时,将预设值与当C位)打开。否则
[嵌入式]
单片机定时器/计数器内部结构
MCS-51单片计算机内部的定时器/计数器逻辑结构如图1所示。 图1 定时器/计数器逻辑结构图
[单片机]
程序状态字寄存器PSW介绍
PSW各位定义: psw.7 psw.6 psw.5 psw.4 psw.3 psw.2 psw.1 psw.0 cy Ac F0 RS1 RS0 Ov P 程序状态字寄存器PSW是一个8位寄存器,用于存放程序运行中各种状态信息。其中,F0\RS1\RS0可以由用户自己编程设定,其他位的状态是根据程序执行结果,由硬件自动设置的。下面分别介绍。 Cy:进位标志,是PSW中最常用的标志位 功能有二:一、存放算术运算的进位标志,在进行加减运算时,若操作结果的最高
[单片机]
用EPLD芯片ADV750设计的一种可编程计数器
摘要: ATV750是ATMEL公司生产的一种可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)。ATV750设计的可编程计数器,具有模值范围大的特点,文中给出了用ATV750设计的可编程计数器的设计原理和方法,同时给出了详细的源程序。
关键词: 可编程计数器 反馈置零法 EPLD ATV750
EPLD是继GAL(Generic Array Logic)后出现的新一代PLD(Programmable Logic Device),它的密度比普通GAL大得多,在设计可编程计数器时,仅用一片EPLD就能实现较大模值的分频计数。本
[半导体设计/制造]