FPGARelated.com
Forums

debouncing a switch (in hardware)

Started by Brian McFarland July 6, 2006
I've been messing around with my own sort of development board for an
Altera MAX 3064 because I have some downtime at work (I'm a coop) and
wanted to teach myself some PLD stuff.  I wanted ot put a manual clock
button on it so I could just mess around with some simple designs to
get a feel for how to use HDL's and Quartus.  I have some DIPs for
inputs and LEDs for outputs, everything run on 3.3V.   But the I can't
manage to get the clock to pulse just once when I press the button.
Can anyone recomend a debouncing circuit to use for something l like
this?

"Brian McFarland" <brian.mcf1985@gmail.com> wrote in message 
news:1152212019.602303.49750@s26g2000cwa.googlegroups.com...
> I've been messing around with my own sort of development board for an > Altera MAX 3064 because I have some downtime at work (I'm a coop) and > wanted to teach myself some PLD stuff. I wanted ot put a manual clock > button on it so I could just mess around with some simple designs to > get a feel for how to use HDL's and Quartus. I have some DIPs for > inputs and LEDs for outputs, everything run on 3.3V. But the I can't > manage to get the clock to pulse just once when I press the button. > Can anyone recomend a debouncing circuit to use for something l like > this? >
Best way of all is to use a single pole change over switch and a set-reset circuit (cross coupled two input nands). Guaranteed to give bounce free output without any tricky time constants/capacitor slugging/timers etc! http://www.wheelnut.plus.com/sr.gif (excuse poor drawing!) HTH Slurp
On Thu, 06 Jul 2006 11:53:39 -0700, Brian McFarland wrote:

> I've been messing around with my own sort of development board for an > Altera MAX 3064 because I have some downtime at work (I'm a coop) and > wanted to teach myself some PLD stuff. I wanted ot put a manual clock > button on it so I could just mess around with some simple designs to > get a feel for how to use HDL's and Quartus. I have some DIPs for > inputs and LEDs for outputs, everything run on 3.3V. But the I can't > manage to get the clock to pulse just once when I press the button. > Can anyone recomend a debouncing circuit to use for something l like > this?
Google "switch debounce." ~Dave~
Brian McFarland wrote:

> I've been messing around with my own sort of development board for an > Altera MAX 3064 because I have some downtime at work (I'm a coop) and > wanted to teach myself some PLD stuff. I wanted ot put a manual clock > button on it so I could just mess around with some simple designs to > get a feel for how to use HDL's and Quartus. I have some DIPs for > inputs and LEDs for outputs, everything run on 3.3V. But the I can't > manage to get the clock to pulse just once when I press the button. > Can anyone recomend a debouncing circuit to use for something l like > this?
If you use a microswitch ( SPDT ) action (so it flips from GND to Vcc), and a regen-hold feedback (or pinkeep), this solves the bounce effects. -jg
Hi - 

On 6 Jul 2006 11:53:39 -0700, "Brian McFarland"
<brian.mcf1985@gmail.com> wrote:

>I've been messing around with my own sort of development board for an >Altera MAX 3064 because I have some downtime at work (I'm a coop) and >wanted to teach myself some PLD stuff. I wanted ot put a manual clock >button on it so I could just mess around with some simple designs to >get a feel for how to use HDL's and Quartus. I have some DIPs for >inputs and LEDs for outputs, everything run on 3.3V. But the I can't >manage to get the clock to pulse just once when I press the button. >Can anyone recomend a debouncing circuit to use for something l like >this?
Jack Ganssle has written extensively about this. Here's a paper that summarizes his findings and design suggestions: http://www.ganssle.com/debouncing.pdf Bob Perlman Cambrian Design Works http://www.cambriandesign.com
Bob Perlman wrote:
> Hi - > > Jack Ganssle has written extensively about this. Here's a paper that > summarizes his findings and design suggestions: > > http://www.ganssle.com/debouncing.pdf
On this general subject, does anyone know of a LOW PROFILE microswitch action ( SPCO / SPDT ) switch ? There are std microswitches, which tend to have a high profile, and couple of old ITT style snap switches, also ~10mm high, but nothing I have found is close to a tact button, with SPCO ? -jg
"Jim Granville" <no.spam@designtools.co.nz> wrote in message 
news:44ade255@clear.net.nz...
> Bob Perlman wrote: >> Hi - Jack Ganssle has written extensively about this. Here's a paper >> that >> summarizes his findings and design suggestions: >> >> http://www.ganssle.com/debouncing.pdf > > On this general subject, does anyone know of a LOW PROFILE microswitch > action ( SPCO / SPDT ) switch ? > There are std microswitches, which tend to have a high profile, and > couple of old ITT style snap switches, also ~10mm high, but nothing I have > found is close to a tact button, with SPCO ? > > -jg >
Here is an article in ECN about some Ultraminiature Mircroswitches from Tyco http://www.ecnmag.com/article/CA6339402.html?nid=2730&rid=1635558756 -- Greg
Gregory C. Read wrote:
> "Jim Granville" <no.spam@designtools.co.nz> wrote in message > news:44ade255@clear.net.nz... > >>Bob Perlman wrote: >> >>>Hi - Jack Ganssle has written extensively about this. Here's a paper >>>that >>>summarizes his findings and design suggestions: >>> >>>http://www.ganssle.com/debouncing.pdf >> >> On this general subject, does anyone know of a LOW PROFILE microswitch >>action ( SPCO / SPDT ) switch ? >> There are std microswitches, which tend to have a high profile, and >>couple of old ITT style snap switches, also ~10mm high, but nothing I have >>found is close to a tact button, with SPCO ? >> >>-jg >> > > > Here is an article in ECN about some Ultraminiature Mircroswitches from Tyco > http://www.ecnmag.com/article/CA6339402.html?nid=2730&rid=1635558756
Thanks, yes, seen that. The microswitch market is industrial-legacy: what they call "Ultraminiature Mircroswitches" are around 12.7mm long - which is what the semiconductor sector would consider "quite large" :) -jg
Jim,

Have you tried ALPS?  http://www3.alps.co.jp/alpscom/

I haven't looked to see if they carry what you want; but their name 
immediately came to mind upon hearing your request.

Rob


"Jim Granville" <no.spam@designtools.co.nz> wrote in message 
news:44ade255@clear.net.nz...
> Bob Perlman wrote: >> Hi - Jack Ganssle has written extensively about this. Here's a paper >> that >> summarizes his findings and design suggestions: >> >> http://www.ganssle.com/debouncing.pdf > > On this general subject, does anyone know of a LOW PROFILE microswitch > action ( SPCO / SPDT ) switch ? > There are std microswitches, which tend to have a high profile, and > couple of old ITT style snap switches, also ~10mm high, but nothing I have > found is close to a tact button, with SPCO ? > > -jg >
Bob Perlman wrote:

> Hi - > > On 6 Jul 2006 11:53:39 -0700, "Brian McFarland" > <brian.mcf1985@gmail.com> wrote: > > >>I've been messing around with my own sort of development board for an >>Altera MAX 3064 because I have some downtime at work (I'm a coop) and >>wanted to teach myself some PLD stuff. I wanted ot put a manual clock >>button on it so I could just mess around with some simple designs to >>get a feel for how to use HDL's and Quartus. I have some DIPs for >>inputs and LEDs for outputs, everything run on 3.3V. But the I can't >>manage to get the clock to pulse just once when I press the button. >>Can anyone recomend a debouncing circuit to use for something l like >>this? > > > Jack Ganssle has written extensively about this. Here's a paper that > summarizes his findings and design suggestions: > > http://www.ganssle.com/debouncing.pdf > > Bob Perlman > Cambrian Design Works > http://www.cambriandesign.com
I just finished implementing a small protoboard with 12 unbonced switches, I used a safe SRLatch type approach :-) And it works like heaven ;-)