Maker Pro
Maker Pro

Make 74HC393 "low" output-transition go to 0v faster?

Is there some much better way to do this that I've overlooked?

To generate a staircase waveform, I have a circuit that uses a 74HC393
4-bit ripple counter,
followed by four resistances with values that are a sequence of powers
of two of the lowest resistance and form a simple D-to-A converter.
The other ends of the D-to-A's resistors are joined at the "-" input of
an opamp that is configured as an inverting summing amplifier. Power
to the counter is 5v. (Power to the opamp is + and- 17.5v.)

I noticed that when the 74HC393's outputs go from high to low, they get
down to something below 0.5v (from 5v) in less than 10 ns. BUT, to get
from there to their lowest value, they can take a relatively long time,
i.e. many milliseconds. And, of course, per the datasheet, they are
not guaranteed to even go all the way to zero. Something like 0.1v is
typical for VOL.

Naturally, this "problem" is most noticable when the counter's 4-bit
output switches from 15 to 0.

The resulting analog staircase waveform is meant to have 0v as the
bottom step. And every transition needs to be completed in less than 6
us. The clock rate can vary from 60 Hz to 22 kHz.

Simply using smaller resistances for the D-to-A did not come close to
making the end of the high-to-low transistions fast enough. And I want
to use resistances that are, within reason, as large as possible,
there, anyway, for other reasons. And, at any rate, using smaller
resistances would not help overcome the fact that the counter's outputs
don't really go all the way to 0v.

Spice was not much help with this, since it (the 74HC393 model I have,
anyway) doesn't model these effects for the 74HC393.

I came up with a few possible solutions (diode/resistor-based,
comparator-based or opamp-based, and diode-transistor-based) and
breadboarded them and found one that I decided to use. But I am
wondering if I have missed some obvious approach that might have a
lower parts count or take less PCB space. (It has to be all
through-hole, btw.)

The circuit that I finally settled on has several diodes in series with
each of the counter outputs, which then connect to a resistor to ground
and the base of an NPN transistor. That transistor's emitter is
connected to the base of a second NPN transistor. Both collectors are
connected to 5v. The second transistor's emitter is connected to one
of the D-to-A's resistors, and also to a smaller resistor to ground
that's paralleled by a small capacitor.

e.g. When using six 1N4148 in series from each counter output, to two
2N4401s (per above) with 50K from each base1 to gnd and approximately
50K || 18pF from each emitter2 to ground, x4, with four D-to-A
resistors of 250K, 500K, 1Meg, and 2Meg, the max output transition time
(from "15" to "0") is about 3.6 us.

So it works more-or-less OK, that way. But the 74HC393 counter
(14-DIP), (24) 1N4148s, (8) 2N4401s, and the D-to-A's resistors,
altogether, take about 3 square inches of PCB space.

Is there some much better way to do this that I've overlooked?

Thanks.

- Tom Gootee
 
J

John Woodgate

In message said:
Is there some much better way to do this that I've overlooked?

Derive -0.6 V from your -17.5 V supply and connect the 'ground' terminal
of your 393 circuit to that.
 
J

Jim Thompson

Is there some much better way to do this that I've overlooked?

To generate a staircase waveform, I have a circuit that uses a 74HC393
4-bit ripple counter,
followed by four resistances with values that are a sequence of powers
of two of the lowest resistance and form a simple D-to-A converter.
The other ends of the D-to-A's resistors are joined at the "-" input of
an opamp that is configured as an inverting summing amplifier. Power
to the counter is 5v. (Power to the opamp is + and- 17.5v.)

I noticed that when the 74HC393's outputs go from high to low, they get
down to something below 0.5v (from 5v) in less than 10 ns. BUT, to get
from there to their lowest value, they can take a relatively long time,
i.e. many milliseconds.
[snip]

"Milliseconds" ????

How much load?

I don't remember for sure, but the 'HC393 MAY have an
anti-ground-bounce output stage, meaning drive is sequenced in.

Does it work if you use perhaps an 74HC04 as a buffer?

...Jim Thompson
 
A

Ancient_Hacker

Is there some much better way to do this that I've overlooked?

To generate a staircase waveform, I have a circuit that uses a 74HC393
4-bit ripple counter,
followed by four resistances with values that are a sequence of powers
of two of the lowest resistance and form a simple D-to-A converter.
The other ends of the D-to-A's resistors are joined at the "-" input of
an opamp that is configured as an inverting summing amplifier. Power
to the counter is 5v. (Power to the opamp is + and- 17.5v.)

I noticed that when the 74HC393's outputs go from high to low, they get
down to something below 0.5v (from 5v) in less than 10 ns. BUT, to get
from there to their lowest value, they can take a relatively long time,
i.e. many milliseconds. And, of course, per the datasheet, they are
not guaranteed to even go all the way to zero. Something like 0.1v is
typical for VOL.

Nonsense. HC's have active FET pull-down, well under 100 ohms. They
should go down to very low millivolts unless you're pulling up pretty
hard, which you shouldnt need to do at your speed.

If you have microseconds of "tail" when going from 15 to 0, it might
be ripple-carry--, it takes 4x the propagation delay to get the high
bit back to zero. If this is a serious concern, switch to a
syncronous counter like the HC161.

If you have a MILLISECOND tail, I'd look more towards the op-amp being
rather slow, or over-compensated. What op-amp are you using? Any
conmpensation?
 
Ancient_Hacker said:
Nonsense. HC's have active FET pull-down, well under 100 ohms. They
should go down to very low millivolts unless you're pulling up pretty
hard, which you shouldnt need to do at your speed.

If you have microseconds of "tail" when going from 15 to 0, it might
be ripple-carry--, it takes 4x the propagation delay to get the high
bit back to zero. If this is a serious concern, switch to a
syncronous counter like the HC161.

If you have a MILLISECOND tail, I'd look more towards the op-amp being
rather slow, or over-compensated. What op-amp are you using? Any
conmpensation?

I agree with Ancient Hacker -- 74HCxxx outputs do *not* take
milliseconds to fall. They're down to *zero* within 20nS or so, and
are typically in the 20-ohms-to-ground range. Even propagation delay
through this ripple counter--10 or 20 nS per stage, max--doesn't begin
to explain milliseconds of settling time.

If you've said that they're slow based on 'scoping the 'HC393
outputs, then there must be some ungodly load on them, but, more
likely, I'd wonder if your 'scope probes were compensated.

If slow op-amp settling is the measurement that led you to suspect
the 'HC393, then I'd suggest you suspect the op-amp instead.

Finally, if you want heftier outputs you could use either 74ACxxx or
newer series parts, or use TinyLogic buffers after your 74HC393 to give
it a boost (though I really don't think this is the problem). I
recently measured the pull-down of a couple 74ACxxx outputs at 6.2 and
6.6 ohms, respectively.

Best,
James Arthur
 
T

Tim Williams

Observation error? I don't know.. I've seen a lot of square waveforms, but
then, I've seen a lot of waveforms (including the test waveform on the front
of my Tek475) where rise and fall times are prompt (<1us), but saturation
voltage (high or low) takes a very long time to settle out.

I don't know what this could possibly be from, but it's undeniably there on
some signals.

Tim
 
D

Didi

Hmm, are you sure the GND pin of the 393 is not floating?...

Dimiter
 
Is there some much better way to do this that I've overlooked?

To generate a staircase waveform, I have a circuit that uses a 74HC393
4-bit ripple counter,
followed by four resistances with values that are a sequence of powers
of two of the lowest resistance and form a simple D-to-A converter.
The other ends of the D-to-A's resistors are joined at the "-" input of
an opamp that is configured as an inverting summing amplifier. Power
to the counter is 5v. (Power to the opamp is + and- 17.5v.)

I noticed that when the 74HC393's outputs go from high to low, they get
down to something below 0.5v (from 5v) in less than 10 ns. BUT, to get
from there to their lowest value, they can take a relatively long time,
i.e. many milliseconds. And, of course, per the datasheet, they are
not guaranteed to even go all the way to zero. Something like 0.1v is
typical for VOL.

Naturally, this "problem" is most noticable when the counter's 4-bit
output switches from 15 to 0.

The resulting analog staircase waveform is meant to have 0v as the
bottom step. And every transition needs to be completed in less than 6
us. The clock rate can vary from 60 Hz to 22 kHz.

Simply using smaller resistances for the D-to-A did not come close to
making the end of the high-to-low transistions fast enough. And I want
to use resistances that are, within reason, as large as possible,
there, anyway, for other reasons. And, at any rate, using smaller
resistances would not help overcome the fact that the counter's outputs
don't really go all the way to 0v.

Spice was not much help with this, since it (the 74HC393 model I have,
anyway) doesn't model these effects for the 74HC393.

I came up with a few possible solutions (diode/resistor-based,
comparator-based or opamp-based, and diode-transistor-based) and
breadboarded them and found one that I decided to use. But I am
wondering if I have missed some obvious approach that might have a
lower parts count or take less PCB space. (It has to be all
through-hole, btw.)

The circuit that I finally settled on has several diodes in series with
each of the counter outputs, which then connect to a resistor to ground
and the base of an NPN transistor. That transistor's emitter is
connected to the base of a second NPN transistor. Both collectors are
connected to 5v. The second transistor's emitter is connected to one
of the D-to-A's resistors, and also to a smaller resistor to ground
that's paralleled by a small capacitor.

e.g. When using six 1N4148 in series from each counter output, to two
2N4401s (per above) with 50K from each base1 to gnd and approximately
50K || 18pF from each emitter2 to ground, x4, with four D-to-A
resistors of 250K, 500K, 1Meg, and 2Meg, the max output transition time
(from "15" to "0") is about 3.6 us.

So it works more-or-less OK, that way. But the 74HC393 counter
(14-DIP), (24) 1N4148s, (8) 2N4401s, and the D-to-A's resistors,
altogether, take about 3 square inches of PCB space.

Is there some much better way to do this that I've overlooked?

Thanks.

- Tom Gootee

SHEESH! It was the PROBE!

I humbly offer my profuse apologies to the group, for wasting
everyone's time!

This is all the more embarrassing, since, for a few years, I
refurbished, calibrated, and sold surplus oscilloscopes, and should
have almost-immediately suspected the probe.

I THOUGHT it seemed "impossible", since I'd used a very similar circuit
for years, without any problems at all. Apparently the astonishment
clouded my tactical judgement. I tried just about everything EXCEPT a
different probe. Alas, significant time was spent. However, I learned
some good stuff, and also learned some Valuable Lessons.

The bad probe (a Tektronix P6121 that I had pulled from a pile of
probes that I still have from "the old days") was also showing annoying
DC offsets (at the staircase generator's output), which varied with the
repetition frequency. I'm sure glad that THAT was bogus, too, since I
had painstakingly designed the staircase generator to have
VERY-near-zero offset, for all expected operating conditions (and
temperature-compensated everything, too), which gets kind of important
when you want to be able to provide a 200uV (or 2 uA) minimum step
size.

(Aside: Is there even a need for steps that small (200uV/2uA), for the
base/gate drive for a curve tracer? Or, if so, should I try to go even
smaller? The minimum step size was SOMEWHAT-arbitrarily chosen, mainly
because: a) I can get some very nice, extremely-small and low-height,
PCB-mountable 1P12T rotary switches, from NKK, and thus have 12
selectable step sizes, and b) chose a maximum step size of 1V [i.e. to
15V or 150mA max, with existing +/-17.5v supply rails], and c)
arbitrarily decided to use a 1-2-5 range-selection scheme.)

A quick check with a good (and just re-compensated) probe now shows
something around 2-3 us for the 15-to-0 transition (for max step size
of 1V, i.e. 15v to 0v), with NO measurable DC offset for the bottom
step, and no DC offset variation when changing the output step size
from 200 uV to 1V ("measured AFTER the 12-step attenuator and the
polarity-selecting opamp amps and the opamp/BC139/BC140 push-pull power
amp that all follow the D-to-A's summing opamp", he bragged), and when
varying the clock rate from 60 Hz to 22 kHz. Perfect! :))

I HAD compensated the later-bad probe for the scope input, when I first
pulled it out to use. And it seemed perfectly OK, then. But that was
probably a couple of weeks ago, while checking other things on the same
PCB.
From now on, I guess I had better check my probes at least twice a
day!!

Again, my sincere apologies to the group, for wasting peoples' time,
bandwidth, et al.

Humbly yours,

Tom Gootee
 
J

John Woodgate

dated said:
(Aside: Is there even a need for steps that small (200uV/2uA), for the
base/gate drive for a curve tracer?

There are some small-signal Darlingtons that have current gains well
over 10000. Fairchild BCV27, for example.
 
A

Ancient_Hacker

I HAD compensated the later-bad probe for the scope input, when I first
pulled it out to use. And it seemed perfectly OK, then. But that was
probably a couple of weeks ago, while checking other things on the same
PCB.

Happens to most everybody. I spent most of a morning wondering why all
the square waves were slope-topped. Comes from having three scopes,
all with different input pF, and forgetting to trim the probe. Note to
self-- find all the probes, assign three to each scope, trim and LABEL
them.
 
Top