Maker Pro
Maker Pro

Debouncing....at About 1Mhz

J

John Larkin

I'm surprised that you don't seem to know this, but if you have a
signal with sharp edges then, at each transition, a multiplicity of
harmonics will be generated and radiated into space.

Look at it like this:

. _________________________
.FIN ___| |____________________
. _ _
.NFIN____| |_______________________| |_________________


where FIN is the input signal and NFIN represents the spectral
products generated by FIN's transitions, i.e. noise, if you have no
use for the harmonics.

Now, if that signal is delayed by sending it through a gate:


| \
FIN>---| >--->DFIN
| /

we'll have:

. _________________________
.FIN ___| |____________________
. _ _
.NFIN ___| |_______________________| |_________________

on the input to the gate, and:

. _________________________
.DFIN _______| |____________________
. _ _
.NDFIN________| |_______________________| |_________________

on the output of the gate.

Notice that there are now twice as many noise pulses as there were
before, since there's one on each of the incident as well as the
delayed transitions.

The chain in your circuit: (View in Courier)


N1
/
+------------------------A
| N2 Y---CLK
FIN>--+-A / +--B
Y---A /N3 |
B Y---A |
| B B--+
| | Y \
| | | N4
GND>----+------+------+

(assuming equal gate delays) generates noise pulses that look,
roughly, something like this:

. _________________________
.FIN ___| |____________________
. _ _
.N1 ____| |_______________________| |_________________
. _ _
.N2 ________| |_______________________| |_____________
. _ _
.N3 _____________| |_______________________| |_________
. _ _
.N4 _________________| |_______________________| |_____
. _ _ _ _
.CLK ________| |_________| |___________| |_________| |_


with the result that your circuit (assuming edge rates equal to
those of the comparator) is generating five times as much noise as
the output of the comparator, FIN.


Do you know how much logic is on your PCs motherboard? Or in your
keyboard, or your mouse? Do you think the designers avoided adding 4
gates because they would make "hash"?

When you design logic, do you actually avoid running signals through
gates because gates cause emi?

I offered a circuit that has two cans and does everything the OP
specified, and is timing-hazard free. And you're complaining that I'm
using a quad xor gate to process his signal, and that's bad because
it's an emi hazard. Preposterous.


John
 
J

John Fields

On Fri, 09 Nov 2007 18:46:37 -0600, John Fields

[snip]
And, evaluating 0/0 to the limit leads to:

0
--- = 1
0

Not necessarily so. Isn't it L'Hopitals's rule...

lim f(x) f'(x)
x->0 ---- --> -----
g(x) g'(x)

---
Wikipedia says so ;) but what I had in mind was just, where for any
value of x:

x
--- = 1
x
 
J

John Larkin

On Fri, 09 Nov 2007 20:23:00 -0800, John Larkin

On Sat, 10 Nov 2007 02:06:41 GMT, JosephKK

John Larkin [email protected] posted to
sci.electronics.design:

[snip]

Yes, there is a simple fix that allows reliable operation with
real-world cmos schmitts. It's sort of obvious.

John

If you think so build and test it, or SPICE it. Show us the results.

Hell, I've already done the only circuit that really works.

My circuit doesn't work? Sure it does. I captures the first
transition just as requested by the OP.

And includes the unobtainium "Delay" box,

Alzheimer's setting in, John? Posted many moons ago...

http://analog-innovations.com/SED/CrudeDelay.pdf


Ah, one is supposed to splice that into your thing. Runs the parts
count up even more.
Nope. Switches "sex" out in the middle of no activity. Talk about
not understanding... you have NO CLUE how my design works.

It's not hard to understand. Seems like a lot of work to do such a
simple function.

I could say that you have NO CLUE about a number of things, but I
won't.

I certainly do. I have the income and repeat customers to prove it.

I thought you did too ??

Sure, but sed is dominated by lurkers and critics and farts who
haven't done anything original in decades, if ever, and by people who
think everything they do is company confidential. That puts a damper
on circuit games. Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John
 
J

John Larkin

On Fri, 09 Nov 2007 18:46:37 -0600, John Fields

[snip]
And, evaluating 0/0 to the limit leads to:

0
--- = 1
0

Not necessarily so. Isn't it L'Hopitals's rule...

lim f(x) f'(x)
x->0 ---- --> -----
g(x) g'(x)

---
Wikipedia says so ;) but what I had in mind was just, where for any
value of x:

x
--- = 1
x

Since 17 * 0 = 0, simple algebra proves that 0 / 0 = 17.

John
 
J

Jim Thompson

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John

Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

...Jim Thompson
 
J

John Fields

On Fri, 09 Nov 2007 18:46:37 -0600, John Fields

[snip]

And, evaluating 0/0 to the limit leads to:

0
--- = 1
0

Not necessarily so. Isn't it L'Hopitals's rule...

lim f(x) f'(x)
x->0 ---- --> -----
g(x) g'(x)

---
Wikipedia says so ;) but what I had in mind was just, where for any
value of x:

x
--- = 1
x

Since 17 * 0 = 0, simple algebra proves that 0 / 0 = 17.
---
How so?


Then, if you like that sort of thing, there _is_ the slightly cuter:

a = 1

a = b

a² = ab

a²-b² = ab-b²

(a+b)(a-b) = b(a-b)

(a+b)(a-b) b(a-b)
---------- = --------
a-b a-b


a+b = b

1+1 = 1
 
J

John Fields

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John

Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.
 
J

Jim Thompson

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John

Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

Probably his own self-generated EMI ?:)

...Jim Thompson
 
J

John Fields

Do you know how much logic is on your PCs motherboard? Or in your
keyboard, or your mouse? Do you think the designers avoided adding 4
gates because they would make "hash"?

---
I'm sure they minimized the logic in order to reduce cost and took
whatever measures were necessary to reduce RFI.
---
When you design logic, do you actually avoid running signals through
gates because gates cause emi?
 
J

John Fields

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John


Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

Probably his own self-generated EMI ?:)
 
J

John Larkin

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John

Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

...Jim Thompson


We have junction-rectifying issues all the time. We're about two miles
from Sutro Tower, 22 megawatts of TV/FM/HDTV... fuzzes up all the
scopes pretty good. But this is a large-signal issue.

I may have mentioned this already. It's a THS3062, a screaming fast,
practically unique dual opamp. We based the specs of an arb on its
performance. GBW of 400 MHz, slews 7 v/ns, +-15 rails, powerpad SO-8
package. It works fine at low swings, or at +-10 output swing up to 10
MHz or so. Somewhere around 12 MHz, it crashes: it suddenly draws a
huge mount of power, gets super hot, the output amplitude drops way
down and the output phase reverses (in either inverting or ni
hookups!) Reducing the input swing way, way down snaps it out of the
mode. It behaves the same way loaded or unloaded, at room temp ambient
or flooded with freeze spray. We discovered this when we were
experimenting with finding the setup that had minimum THD at high
frequencies... turns out that inverting is slightly better than
non-inverting at gains circa 4.

Gosh, do you think it's caused by "gate hash"? JF is right, of course:
if you don't run signals through parts, problems like this won't
happen.

We put in a support request to TI over a month ago. They assigned a
case number, but refuse to respond to repeated requests for some sort
of answer. I hear that TI has really screwed up the Burr-Brown
production line and is in a heap o' trouble.

John
 
J

John Larkin

On Sat, 10 Nov 2007 09:08:06 -0700, Jim Thompson

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John


Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

Probably his own self-generated EMI ?:)

Unlikely; see my other post.

John
 
J

John Fields

On Sat, 10 Nov 2007 10:43:57 -0600, John Fields

On Sat, 10 Nov 2007 09:08:06 -0700, Jim Thompson

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John


Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

---
Since he seems to think that edge-generated hash is inconsequential,
the might be the source of his problem.



Probably his own self-generated EMI ?:)

Unlikely; see my other post.
 
J

Jim Thompson

On Sat, 10 Nov 2007 02:06:41 GMT, JosephKK

John Larkin [email protected] posted to
sci.electronics.design:
[snip]

Yes, there is a simple fix that allows reliable operation with
real-world cmos schmitts. It's sort of obvious.

John

If you think so build and test it, or SPICE it. Show us the results.

Hell, I've already done the only circuit that really works.

My circuit doesn't work? Sure it does. I captures the first
transition just as requested by the OP.

And includes the unobtainium "Delay" box, whose output splits into two
timing-critical paths, always an alarm in async logic. Finish the
design and we'll see.
[snip]

Unobtanium obtained...

http://www.analog-innovations.com/SED/AlternatingEdge-Unobtanium.pdf

Now please present us with your "solution" with component names and
values and I'll simulate it side-by-side with my design.

Otherwise you will henceforth known as John "BSA" Larkin.

"BSA" == Bull-Shit-Artist ;-)


...Jim Thompson
 
J

Jim Thompson

On Sat, 10 Nov 2007 10:01:05 -0800, John Larkin

[snip]
I hear that TI has really screwed up the Burr-Brown
production line and is in a heap o' trouble.

John

That's what I hear also.

...Jim Thompson
 
J

John Larkin

On Sat, 10 Nov 2007 09:45:27 -0700, Jim Thompson

On Sat, 10 Nov 2007 10:43:57 -0600, John Fields

On Sat, 10 Nov 2007 09:08:06 -0700, Jim Thompson

On Sat, 10 Nov 2007 07:59:54 -0800, John Larkin

[snip]
Good thing I have a day job where I can have circuit
fun... the TI opamps would quit blowing up.

John


Have any loose RF? Last time I had a spate of flaming OpAmps it
turned out to be a close-by FM station getting into my inputs.

---
Since he seems to think that edge-generated hash is inconsequential,
the might be the source of his problem.



Probably his own self-generated EMI ?:)

Unlikely; see my other post.

If you ever say anything funny, we'll let you know.

John
 
M

Michael A. Terrell

D said:
I'll try to figure it out while ...
stuck in traffic..
waiting in line..
waiting for the waitress..
waiting for a gas fill
and riding the elevators :)

I might even freak out some people by mumbling some electronic
gibberish to myself :)


Like you do on Usenet? ;-)


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
 
M

Michael A. Terrell

Fred said:
I'll give you simple, but the other descriptors are in your dreams. I
will not get into the details of the inferiority of your 'design' other
than to say even a chimp would know that mixing RC's into a first
occurrence event detector makes no sense.


Just more of your delusional fantasies...must be the Lipitor has
corrected your testosterone deficiency, how does it feel to be able to
grow a mustache for the first time in your life...


So, Fred, are you going to post your ESR meter design, or ar you
still terrified of being shown up as a fool?


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
 
J

John Larkin

On Fri, 09 Nov 2007 20:23:00 -0800, John Larkin

On Sat, 10 Nov 2007 02:06:41 GMT, JosephKK

John Larkin [email protected] posted to
sci.electronics.design:

[snip]

Yes, there is a simple fix that allows reliable operation with
real-world cmos schmitts. It's sort of obvious.

John

If you think so build and test it, or SPICE it. Show us the results.

Hell, I've already done the only circuit that really works.

My circuit doesn't work? Sure it does. I captures the first
transition just as requested by the OP.

And includes the unobtainium "Delay" box, whose output splits into two
timing-critical paths, always an alarm in async logic. Finish the
design and we'll see.
[snip]

Unobtanium obtained...

http://www.analog-innovations.com/SED/AlternatingEdge-Unobtanium.pdf

Now please present us with your "solution" with component names and
values and I'll simulate it side-by-side with my design.


I rarely simulate. Design is the reverse of simulation. Design forces
the desired results, so why simulate?

The easy way would be to use an AC86 quad xor and an AC74 flipflop.
That would actually make the 10 ns prop delay in real life, but not
guaranteed over temperature. There are lots of faster parts around,
like NC7SZ86 (< 6 ns xor) and flipflops down to 1 ns... 74AUC1G74
would do. Using the tinies would of course require more cans, but
they're cheap, and the delay could be a single slower gate. The 1-gate
flops doen't have qbar, so you'd need to add an inverter before D if
you need straight-up output. Four tiny-logic cans max, if you really
need the speed.

So, easy way: 74AC86, 74AC74. The rc tau needs to be somewhat greater
than 100 ns and less than 500 ns (100 ns max bounce, 1 MHz rate) so go
for tau=220 ns, 330 ohms and 680 pF. This is a little tight on
discriminating the bounces from the period, and a serial L would help
a lot, as mentioned before; L = 39 uH should be about right. All
values are guessed, without mechanical assistance.

If you feel the worst-case AC logic delays are unacceptable, go with
the faster parts.

Otherwise you will henceforth known as John "BSA" Larkin.

"BSA" == Bull-Shit-Artist ;-)

You are being unnecessarily, and inaccurately, offensive. I've
designed a couple of hundred million dollars worth of
analog/digital/uP/firmware stuff so far, for some of the biggest
projects on the planet. My stuff works, and this circuit will work.

Simulate it, if you really need to.

John
 
J

Jim Thompson

On Sat, 10 Nov 2007 06:44:11 -0700, Jim Thompson

On Fri, 09 Nov 2007 20:23:00 -0800, John Larkin

On Sat, 10 Nov 2007 02:06:41 GMT, JosephKK

John Larkin [email protected] posted to
sci.electronics.design:

[snip]

Yes, there is a simple fix that allows reliable operation with
real-world cmos schmitts. It's sort of obvious.

John

If you think so build and test it, or SPICE it. Show us the results.

Hell, I've already done the only circuit that really works.

My circuit doesn't work? Sure it does. I captures the first
transition just as requested by the OP.

And includes the unobtainium "Delay" box, whose output splits into two
timing-critical paths, always an alarm in async logic. Finish the
design and we'll see.
[snip]

Unobtanium obtained...

http://www.analog-innovations.com/SED/AlternatingEdge-Unobtanium.pdf

Now please present us with your "solution" with component names and
values and I'll simulate it side-by-side with my design.


I rarely simulate. Design is the reverse of simulation. Design forces
the desired results, so why simulate?

The easy way would be to use an AC86 quad xor and an AC74 flipflop.
That would actually make the 10 ns prop delay in real life, but not
guaranteed over temperature. There are lots of faster parts around,
like NC7SZ86 (< 6 ns xor) and flipflops down to 1 ns... 74AUC1G74
would do. Using the tinies would of course require more cans, but
they're cheap, and the delay could be a single slower gate. The 1-gate
flops doen't have qbar, so you'd need to add an inverter before D if
you need straight-up output. Four tiny-logic cans max, if you really
need the speed.

So, easy way: 74AC86, 74AC74. The rc tau needs to be somewhat greater
than 100 ns and less than 500 ns (100 ns max bounce, 1 MHz rate) so go
for tau=220 ns, 330 ohms and 680 pF. This is a little tight on
discriminating the bounces from the period, and a serial L would help
a lot, as mentioned before; L = 39 uH should be about right. All
values are guessed, without mechanical assistance.

If you feel the worst-case AC logic delays are unacceptable, go with
the faster parts.

Otherwise you will henceforth known as John "BSA" Larkin.

"BSA" == Bull-Shit-Artist ;-)

You are being unnecessarily, and inaccurately, offensive. I've
designed a couple of hundred million dollars worth of
analog/digital/uP/firmware stuff so far, for some of the biggest
projects on the planet. My stuff works, and this circuit will work.

Simulate it, if you really need to.

John

Draw it as a schematic, and I will simulate it.

I never even thought of evaluating my design capability in terms of
dollars shipped... but pondering, I suspect I'm WAY over your total.

...Jim Thompson
 
Top