Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BTN
El detector de flancos
producir 4 pulsos
PULSO_BTN
Figura 10.2: Cronograma de la salida del detector de flancos (PULSO_BTN) cuando hay rebotes en la entrada (BTN)
Para evitar los rebotes basta con eliminar todos los pulsos que se generen durante los siguientes 300
milisegundos despus de haber detectado un flanco de subida. Si conseguimos hacer este circuito, la salida
filtrada (FILTRO_BTN) sera como la mostrada en la figura 10.3.
4 flancos de subida
BTN
FILTRO_BTN
300 ms
Slo despus de 300 milisegundos podr haber un nuevo pulso
Figura 10.3: Cronograma de la salida del filtro antirrebotes (FILTRO_BTN) cuando hay rebotes en la entrada (BTN)
Cmo podramos realizar este circuito? pues con una mquina de estados similar al detector de flancos pero
con temporizador. El esquema del circuito se muestra en la figura 10.4. En este esquema propuesto, el
temporizador se habilita cuando se ha detectado un flanco de subida. A partir de entonces no se producir
ningn pulso de subida hasta que el temporizador d la seal de que han pasado 3 milisegundos. Despus
de esto, se podr detectar un nuevo flanco de subida.
Mquina de estados
BTN0 Filtro_BTN0
Temporizador
enablecont
fin3ms Enable
fin3ms
Clk Clk
Reset Clk Reset
Reset
Figura 10.4: Esquema del circuito que filtra los rebotes de la entrada
Intenta pensar por ti mismo el diagrama de estados. Si no se te ocurre, puedes mirar la figura 10.5.
0X
0X
Leyenda entradas
inic s0
1X 00 00 BTN0,fin3ms
1X
X1 estado
filtro_btn0
s01
espera enablecont
10
01
salidas
X0 XX
Figura 10.5: Diagrama de estados del circuito que filtra los pulsos
Para cada pulsador habra que realizar un circuito similar.
Implementa el contador manual de la seccin 5.4 con estos filtros. Utiliza una placa Basys para comprobar
que realmente funciona bien.