4,7k
0,1F
Figura 10.1: Esquema de los pulsadores en la placa Pegasus y en la placa Basys La figura10.2 muestra el cronograma resultante del detector de flancos (PULSO_BTN) cuando hay rebotes en la entrada (BTN). Como para este ejemplo existen 4 flancos de subida, el detector de flancos producir cuatro pulsos. Sin embargo, slo queremos que se produzca uno.
4 flancos de subida
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.
10-1
Mquina de estados BTN0 Filtro_BTN0 Temporizador enablecont fin3ms Clk Clk Reset Reset Clk Reset Enable fin3ms
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 inic 00 s0 00 1X X1 espera 01 X0 XX s01 10 estado
filtro_btn0 enablecont
0X Leyenda
entradas
1X
BTN0,fin3ms
salidas
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.
10-2