Page 1 of 1

Pulse generator

Posted: Fri Mar 24, 2006 3:18 pm
by Ruud
Hallo allemaal,

I need a circuit that generates a pulse of about 20-30 ns. after every rising or falling edge of PHI2 after 200 ns. Has anybody an idea?
Many thanks in advance.

Posted: Fri Mar 24, 2006 4:28 pm
by GARTHWILSON
That's not very clear. Can you make a timing diagram with ASCII.

Posted: Fri Mar 24, 2006 4:56 pm
by 8BIT
Assuming you are using a 1MHZ Clock for your PH2, you could built a 40MHz clock, run it through a counter to divide it down by 40 for PH2. You will have a 25ns pulse 200ns after PH2 hi to low by decoding the 8th pulse. You will have a 25ns pulse 200ns after PH2 lo to hi by decoding the 28th pulse.

Here is an example:

Code: Select all


 40Mhz   _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

/40  PH2 ________________________________________----------------------------------------___________

8&28     ______________--______________________________________--___________________________________

It would take up some hardware, or at least one CPLD, but would be very reliable.

Daryl

Posted: Fri Mar 24, 2006 5:49 pm
by raccoon
Hallo, Ruud ;)

Functional diagram:
6502.org wrote:
Image no longer available: http://i1.tinypic.com/s4lvr8.gif
Omit A or B and the OR gate if it must be susceptible to one edge only.

I'm not a component availability expert, but there are plenty of suitable monostable multivibrators out there.

Posted: Fri Mar 24, 2006 6:01 pm
by kc5tja
Use a XOR gate with some kind of delay line. Note that CMOS inverters in the 74AC family have a 4.5ns propegation delay. Therefore, 25ns/4.8ns = just over 5 inverters worth, or precisely what would fit in one chip. Therefore:

Code: Select all

                +----+     +----+   +----+     +----+   +----+     +----+   +---+
phi2  o-----*---| -1 |o---o| -1 |---| -1 |o---o| -1 |---| -1 |o---o| -1 |---|   |
            |   +----+     +----+   +----+     +----+   +----+     +----+   | ^ |--->
            +---------------------------------------------------------------|   |
                                                                            +---+
That should provide roughly 27ns pulses. If you need wider, use more inverters. Note that the pulses generated will be 4.5ns trailing the respective edge of Phi2.

Posted: Fri Mar 24, 2006 10:30 pm
by bogax
kc5tja wrote:
Use a XOR gate with some kind of delay line. Note that CMOS inverters in the 74AC family have a 4.5ns propegation delay. Therefore, 25ns/4.8ns = just over 5 inverters worth,
Could probably make do with just a resistor and the input capacitance
for the delay.

25ns / 5pf = ~5k

(I see 4.5 (typ)-10 (max) pf in the data sheets)

Posted: Fri Mar 24, 2006 11:17 pm
by kc5tja
I suspect that the input capacitance of a gate isn't exactly "well defined" any more than the propegation delays are. In fact, I suspect that the *reason* propegation delays are not precisely defined is because of varying input capacitance on gates you connect to it.

Posted: Sat Mar 25, 2006 2:38 pm
by bogax
kc5tja wrote:
I suspect that the input capacitance of a gate isn't exactly "well defined" any more than the propegation delays are. In fact, I suspect that the *reason* propegation delays are not precisely defined is because of varying input capacitance on gates you connect to it.
I doubt if either way will be particularly accurate. I suspect a chain of
gates will be more consistant.

A single resistor has only one virtue and that's simplicity (if it works
for him)
In general it's probably not a good idea to drive CMOS with slow
changing RC circuits unless there's some hysteresis , but this wouldn't
be that slow. (I think) it'd be roughly like using a passive pull up.
I've never tryed it with 74AC though.

Posted: Mon Mar 27, 2006 10:35 am
by Ruud
raccoon wrote:
Hallo, Ruud ;)
I'm not a component availability expert, but there are plenty of suitable monostable multivibrators out there.
Hallo Raccon,

This is exactly what I already designed, ussing two 74LS221. The reason I asked this question is that I hoped somebody could come with a smaller design. OK, just two IC's and a couple resistors and capacitors is not big but still I had a hope that somebody could even make a smaller design than that.

Posted: Mon Mar 27, 2006 10:44 am
by Ruud
8BIT wrote:
Assuming you are using a 1MHZ Clock for your PH2, you could built a 40MHz clock, run it through a counter to divide it down by 40 for PH2.
Hallo Daryl,

I have thought about that solution too. But I need a replacement for a circuit that is found in http://www.baltissen.org/images/6502c.p ... /6502c.png , three 74LS221 parts found in the middle and bottom of the PNG.
I had hoped for even a smaller design. But your solution needs at least three IC's. Thank you anyway for your input.

Posted: Mon Mar 27, 2006 5:36 pm
by bogax
Ruud wrote:
.. I need a replacement for a circuit that is found in http://www.baltissen.org/images/6502c.p ... /6502c.png , three 74LS221 parts found in the middle and bottom of the PNG.
I had hoped for even a smaller design. But your solution needs at least three IC's. Thank you anyway for your input.
Ack! TTL!

Looks (from the datasheet) like a single 74ls86 quad XOR gate
would do it, two for delay (2 x ~12ns typ) and two for output(s)
(double the fan out, good thing for clocks, at the cost of some
possible skewing)
Being TTL, it's asymetrical but (again from the datasheet)
looks like if you tie the delay inputs together, the HL and LH
delays will be similar.
ie

Code: Select all

                              __
--+------------------------+-|   \
  |                        | |    >--
  |                     +----|__ /
  |   __         __     |  |
  +--|   \   +--|   \   |  |  __
  |  |    )--+  |    >--+  +-|   \
  +--|__ /   +--|__ /   |    |    >--
                        +----|__ /

Posted: Mon Mar 27, 2006 6:29 pm
by bogax
bogax wrote:
Being TTL, it's asymetrical but (again from the datasheet)
looks like if you tie the delay inputs together, the HL and LH
delays will be similar.
Heck! Darn! (other obscenities as required)

I miss read the datasheet.

looks like tieing one input low gives the most similar
delays so:

Code: Select all

                            __
--+----------------------+-|   \
  |                      | |    >--
  |                   +----|__ /
  |                   |  |
  |   __              |  |  __
  +--|   \     __     |  +-|   \
     |    )---|   \   |    |    >--
  +--|__ /    |    >--+----|__ /
  |        +--|__ /
  |        |
  GND      GND  
but you still get 10 or 20 ns difference between
the HL and LH edges.
I suppose the difference in delay between tieing the
inputs high and tieing them low could give you a choice
of pulse widths

Posted: Thu Mar 30, 2006 10:41 am
by Ruud
bogax wrote:

Code: Select all

                            __
--+----------------------+-|   \
  |                      | |    >--
  |                   +----|__ /
  |                   |  |
  |   __              |  |  __
  +--|   \     __     |  +-|   \
     |    )---|   \   |    |    >--
  +--|__ /    |    >--+----|__ /
  |        +--|__ /
  |        |
  GND      GND  
Hallo Bogax,

I have seen using a 86 in this way before but didn't think of it. And I'm quite sure I'm going to use it, although in a slightly different way. Many thanks for your input!