Pulse Width Generation

Thread Starter

combover61

Joined Oct 16, 2015
23
Need to generate 50, 100, 500, 5000, 10000 nanosecond pulse widths, at low frequency ~ 10kHz.
Accuracy of +- 10% acceptable.

Built a circuit using 555, 74HCT221 & 74HCT173 (schematic attached).
Sort of worked in a very rough, unstable, noisy way.
Thought that these problems would disappear when circuit was moved from project board to PCB, no improvement.
Many decoupling caps, 300 Ohm load resistor tried (not shown on schematic) ... still very unstable.

Thoughts?
 

Attachments

ronv

Joined Nov 12, 2008
3,770
Need to generate 50, 100, 500, 5000, 10000 nanosecond pulse widths, at low frequency ~ 10kHz.
Accuracy of +- 10% acceptable.

Built a circuit using 555, 74HCT221 & 74HCT173 (schematic attached).
Sort of worked in a very rough, unstable, noisy way.
Thought that these problems would disappear when circuit was moved from project board to PCB, no improvement.
Many decoupling caps, 300 Ohm load resistor tried (not shown on schematic) ... still very unstable.

Thoughts?
Well, one, I don't think the 221 is that fast.:D
 

business_kid

Joined Feb 5, 2013
22
Get tha 555 out, for heaven's sake. They pulse 2 Amps off the supply rail when switching.Noisy? you bet.
50 nS is fast. Use a faster Logic family. 74AUC has a propagation time of under 3 nS, although there is not much in it. Digikey & Farnell supply.
 

Thread Starter

combover61

Joined Oct 16, 2015
23
Thank you for the feedback gentlemen ... it was getting hard to see the forest for the trees.

If you looked at my attached schematic, you probably noticed that I included a switching power supply.
So in this noisy circuit, it has to go too.
It looks like the consensus is the 555 is just not appropriate here, agreed, replaced with TPL5111 trigger, and ICM7240 timer.
The slow 74HCT221, has been replaced with a 74AHC123 constable multivibrator, much faster IC.
The slow 74HCT173, has been replaced with a 74LVC2G74 flip flop, much faster IC.
Ordered all surface mount components to reduce lead/trace lengths.
 

MikeML

Joined Oct 2, 2009
5,444
A modulo 2000 counter driven by a 20MHz crystal clock. Decode 1 state out of 2000 to get a 50ns pulse repeated at 10KHz. Decode 2, 5, 10 and 20 sequential states to get the others.

Alternatively, a modulo 2048 (11 bit binary counter) driven by a 20.48Mhz clock. The binary decode might be simpler.
 

Thread Starter

combover61

Joined Oct 16, 2015
23
Not quite sure what a modulo 2000 or 2048 is, or where it can be found.
So I am definitely looking into what I may be missing here, thanks.
 

MikeML

Joined Oct 2, 2009
5,444
This web site does a good job of describing "modulo" in the context of digital counters:

Modulus Counter (MOD-N Counter)

The 2-bit ripple counter is called as MOD-4 counter and 3-bit ripple counter is called as MOD-8 counter. So in general, an n-bit ripple counter is called as modulo-N counter. Where, MOD number = 2^n.


Type of modulus

  • 2-bit up or down (MOD-4)
  • 3-bit up or down (MOD-8)
  • 4-bit up or down (MOD-16)

A modulo 2048 counter would consist of an 11 bit binary counter (2^11 = 2048 states, 0, 1, 2, ... 2046, 2047, 0, 1,...).
A modulo 2000 counter would consist of three decade (divide by 10) counters followed by a single divide by two flip-flop.
 

Thread Starter

combover61

Joined Oct 16, 2015
23
MikeML ... I'm going to try your approach as well.
Thank you for more details and web link.

Found 12 stage binary counter ... HEF4040BT,653 that appears to be fast enough and will run with the 20.48MHz clock.
Found 20.48MHz oscillator ... Epsom SG-615P 20.4800MCO.

Now, I gotta figure out just how to best decode the 5 outputs and buffer the selection into +5V 50 Ohm instrument.
 

ScottWang

Joined Aug 23, 2012
7,397
You can buy a 40Mhz crystal oscillator and three 74HC390.
50, 100, 500, 5000, 10000 nanosecond pulse widths.
20Mhz,10Mhz,2Mhz,200Khz,100Khz,10Khz
40Mhz, /2, /2, /5, /10, /2, /10
Using 74HC390 x3
1. First 74HC390 /2, /2
2. Second 74HC390 /5, /10
3. Third 74HC390 /2, /10
 

MikeML

Joined Oct 2, 2009
5,444
@combover61


Here is a hack at it using the decade counter idea. Since this is a ripple counter, I decoded it in such a way that avoids any glitches.

Note the use of the '390 where the speed is needed, while the lower speed counters are the decoded CMOS ones.

Repetition period is 100us, starting with a 20MHz clock V2. The Reset (V1) is not needed in the real circuit; only needed for simulation.

130.gif
 

Thread Starter

combover61

Joined Oct 16, 2015
23
WOW! You guys are very generous with your gifts ... thanks much for the thoughtful contributions ... I'll followup with the results.
 

ian field

Joined Oct 27, 2012
6,536
A modulo 2000 counter driven by a 20MHz crystal clock. Decode 1 state out of 2000 to get a 50ns pulse repeated at 10KHz. Decode 2, 5, 10 and 20 sequential states to get the others.

Alternatively, a modulo 2048 (11 bit binary counter) driven by a 20.48Mhz clock. The binary decode might be simpler.
In this context - you take a ripple counter chip and combine various Q outputs with an AND/NAND gate and feed that output back to the counter MR pin. Basically that masks the selected Q outputs by resetting the counter when they go high. If you mask out most of the possible combinations - all you're left with is narrow pulses a long way apart.

The narrowest pulse is from the Q^0 output and that is twice the period of your master clock.

You can cascade more than one counter chip to get very narrow pulses with a long repetition period.

Its simply a matter of binary arithmetic - but since you use the reset pulse also as the output pulse, you have to think in terms of reciprocals.
 

Thread Starter

combover61

Joined Oct 16, 2015
23
MikeML,

Say, just wanted to thank you for good suggestion ... wired it up and it worked very well, clean accurate pulse widths, nice.

The only debugging that I am working is the output of U11.
The 10usec pulse is there on the scope, but it appears that there are two pulses, offset by 5us.
Tried 10k pulldown resistors on the inputs, no change.
Tired new IC, no change.
If I single step the trigger, then I just see one 10us pulse.
However, there is a very narrow spike in the middle of the pulse, dropping below 1 Volt.
I need to have a clean 10us pulse width, so I will have to remedy this some how ... hope that I find wiring error on my part :)
 

MikeML

Joined Oct 2, 2009
5,444
First, read the red part of my sig line...:oops: (I thought it was glitchless)

I think what is happening is that the O8 output of theU3 '4017 is turning off slightly before the O9 output turns on. That is intrinsic inside the 4017...

Putting a gate delay in the 82 wire between U3's O8 output and U11's upper input will fix it. You could use an unused section of the HCT32 if you tie both inputs together...
 

Thread Starter

combover61

Joined Oct 16, 2015
23
Mike El,

Wow you nailed that quick. I had to take a long break for dinner before I came to the same conclusion.
I used two of the extra gates of the '32 IC, and it took the glitch completely out :)

Thanks again, I was stressing a bit over my first design that was a bit noisy.
This was fast solid solution.

Cheers ... If you are ever in Bozeman, MT ... Your dinner is on me.
 
Top