Author Topic: Clean Pulse generator  (Read 713 times)

0 Members and 1 Guest are viewing this topic.

Offline xzswq21

  • Regular Contributor
  • *
  • Posts: 62
  • Country: pl
Clean Pulse generator
« on: October 31, 2017, 12:46:51 AM »
Hello
I want to check the step response of my circuit. I need a 100KHz or 1MHz or 10MHz pulse generator within 2vPP or 1vPP .
I've had some experience with NE555 but the result is terrible and not clean.   :bullshit:
the output impedance should be 50R.
Do you have any idea or experience to build such clean Pulse generator?
on the other side I want to buy a 100MHz sine generator. can I convert the sine to a clean pulse? (I know schmitt trigger technique or.. but I need your experience )

Best Regards
 

Offline rhb

  • Regular Contributor
  • *
  • Posts: 237
  • Country: us
Re: Clean Pulse generator
« Reply #1 on: October 31, 2017, 03:21:25 AM »
Square waves have a lot of odd order harmonics. If you want a fast rise time it gets difficult.  I tried to build something like this 20 years ago and discovered it's easy to say, but hard to do.  And generic prototype boards are *not* suitable.  Solderless breadboards are even less so.

For flexibility an STM32F4xx Discovery board with Mecrisp loaded will do a great job, but you'll need to use microstrip construction and SMD parts if you want to make it really clean.  Pretty much any MCU will do, but the STM32 has an option to drive the output really hard to get a fast rise time.

You can also use an opamp to generate a square wave, but if you really want it to be square an MCU is a better choice.

There's a good article on pulse generation by Jim Williams you should dig up and read.  There's also a thread about Leo Bodnar's pulse generator.  If it's fast enough and high enough voltage it's classified as military technology and subject to ITAR controls.

Have Fun!  It's a great learning experience.  I plan to try again.

 
We all get what we deserve whether we want it or not, either as individuals or members of a group.  Sometimes this is as punishment and sometimes it's a blessing.  Which is always ambiguous and depends entirely upon what we do next.
 
The following users thanked this post: xzswq21

Offline texaspyro

  • Frequent Contributor
  • **
  • Posts: 529
Re: Clean Pulse generator
« Reply #2 on: October 31, 2017, 04:29:52 AM »
Check out Leo Bodner's fast pulse generator.   It outputs a square wave with around 40 ps edges.
 
The following users thanked this post: xzswq21

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 5915
  • Country: gb
    • Having fun doing more, with less
Re: Clean Pulse generator
« Reply #3 on: October 31, 2017, 05:32:23 AM »
The output impedance of 74lvc1g* devices is ~7ohms, so with a series 143ohm resistor the output impedance is ~150ohms. Hence one easy technique is to have three parallel sections of (74lvc1g14 plus a series 143ohm resistor).

That gives rise times <1ns. Since the Vcc is 1.5-5V, that will drive 0.75-2.5V into a 50ohm load.

You will need to ensure there is a solid groundplane and excellent decoupling.

If slower transition times are acceptable, you could use other CMOS families; 74AC14 seems popular.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: xzswq21

Offline xzswq21

  • Regular Contributor
  • *
  • Posts: 62
  • Country: pl
Re: Clean Pulse generator
« Reply #4 on: October 31, 2017, 07:05:08 AM »
your idea is really interesting.
you mean I should use 74lvc1g as a schmitt trigger stage after a sine generator?
do you have any sample circuit?

Best Regards
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 5915
  • Country: gb
    • Having fun doing more, with less
Re: Clean Pulse generator
« Reply #5 on: October 31, 2017, 07:40:29 AM »
Basically they are acting as buffers. For that just about anything will do, *04s being another alternative.

It is best to drive them from a proper logic signal, so that they all switch together. That logic signal can come from another gate being driven by the external oscillator - but that gate should be a Schmitt trigger.

If you don't need the frequency to be particularly accurate nor a 50% duty cycle, you can use a separate *14 as an RC relaxation oscillator.

For circuits, Google for "time domain reflectometer" and 74ac14.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: xzswq21

Offline xzswq21

  • Regular Contributor
  • *
  • Posts: 62
  • Country: pl
Re: Clean Pulse generator
« Reply #6 on: October 31, 2017, 07:45:02 AM »
I should set the frequency approximately 100KHz and 1MHz. I want to check the amount of overshoot of a circuit (checking step response)
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 5915
  • Country: gb
    • Having fun doing more, with less
Re: Clean Pulse generator
« Reply #7 on: October 31, 2017, 07:52:51 PM »
That's what I thought.

If you have a logic level source oscillator, a circuit would be:

source -> single gate1 ---> single gate2 -> resistor ---> output
                        |-> single gate2 -> resistor -|
                        '-> single gate2 -> resistor -'

where gate2 is a driving gate (e.g 74lvc1g14, 74lvc1g04, 74ac14, 74ac44) and gate1 is anything (but probably also a gate1)

If you have a sine wave oscillator it would be:

source -> bias -> single gate1 ---> single gate2 -> resistor ---> output
                                |-> single gate2 -> resistor -|
                                '-> single gate2 -> resistor -'

where gate2 is as above but gate1 is ideally a schmitt trigger, and the bias circuit places the AC sine wave in the middle of the threshold region.

But personally I would do:

single gate1 RC oscillator---> single gate2 -> resistor ---> output
                           |-> single gate2 -> resistor -|
                           '-> single gate2 -> resistor -'

where the oscillator is the traditional RC network wrapped around an inverting schmitt trigger (e.g. a *14).
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: xzswq21

Offline sdouble

  • Regular Contributor
  • *
  • Posts: 123
  • Country: fr
Re: Clean Pulse generator
« Reply #8 on: December 06, 2017, 07:49:39 AM »
your last option is exactly what I did recently.
I get clean square waves with minimum under/overshoot and short risetimes.
I measured both rise and decay time to be of 750 ps but this is probably limited by my scope bandwidth.
 I get a 1.3 volt signal (terminated) out of my 3V battery
 

Offline rhb

  • Regular Contributor
  • *
  • Posts: 237
  • Country: us
Re: Clean Pulse generator
« Reply #9 on: December 06, 2017, 09:25:00 AM »
your last option is exactly what I did recently.
I get clean square waves with minimum under/overshoot and short risetimes.
I measured both rise and decay time to be of 750 ps but this is probably limited by my scope bandwidth.
 I get a 1.3 volt signal (terminated) out of my 3V battery

How about a picture? I'd like to see how you handled the signal path.
We all get what we deserve whether we want it or not, either as individuals or members of a group.  Sometimes this is as punishment and sometimes it's a blessing.  Which is always ambiguous and depends entirely upon what we do next.
 

Offline IDEngineer

  • Regular Contributor
  • *
  • Posts: 152
  • Country: us
Re: Clean Pulse generator
« Reply #10 on: December 06, 2017, 10:14:54 AM »
The output impedance of 74lvc1g* devices is ~7ohms, so with a series 143ohm resistor the output impedance is ~150ohms. Hence one easy technique is to have three parallel sections of (74lvc1g14 plus a series 143ohm resistor). That gives rise times <1ns.
Given the rise/fall times we're talking about here, I'd worry about differential propagation delay through the paralleled sections. Even if they're in the same physical package (minimizing die-to-die process differences), even the die paths and bonding wire lengths could have a measurable effect.
 

Offline sdouble

  • Regular Contributor
  • *
  • Posts: 123
  • Country: fr
Re: Clean Pulse generator
« Reply #11 on: December 06, 2017, 10:40:23 AM »
the pics will come tomorrow but here is a 3D pdf
https://drive.google.com/open?id=14tzSF6x2uaGs0lwVWSpkUqvjFtFL0nwL
« Last Edit: December 06, 2017, 10:48:56 AM by sdouble »
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 5915
  • Country: gb
    • Having fun doing more, with less
Re: Clean Pulse generator
« Reply #12 on: December 06, 2017, 10:50:59 AM »
The output impedance of 74lvc1g* devices is ~7ohms, so with a series 143ohm resistor the output impedance is ~150ohms. Hence one easy technique is to have three parallel sections of (74lvc1g14 plus a series 143ohm resistor). That gives rise times <1ns.
Given the rise/fall times we're talking about here, I'd worry about differential propagation delay through the paralleled sections. Even if they're in the same physical package (minimizing die-to-die process differences), even the die paths and bonding wire lengths could have a measurable effect.

Nothing is perfect! This is merely a surprisingly successful quick-and-dirty technique.

If the devices come from adjacent slots on the reel, there's a high probability they will track.

It would be quite difficult to demonstrate that any lack of tracking was causing an observable effect.

Other issues are more likely to cause problems, e.g. the large current changes (i.e.. ~20mA per device in ~300ps).

I would like to see the arithmetic w.r.t. the die paths being a significant problem. Personally I'm happy to minimise ground bounce effects by having multiple ICs.
« Last Edit: December 06, 2017, 10:54:14 AM by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline sdouble

  • Regular Contributor
  • *
  • Posts: 123
  • Country: fr
Re: Clean Pulse generator
« Reply #13 on: December 06, 2017, 11:04:19 AM »
I don't see the point with de propagation delay fluctuation.
typical propagation speed is 270 ps for a 2 inch microstrip.
The chip are so small ( 50 mils x 50 mils) that  the fluctuation should be negligible.
Moreover the stripline length variation is of 35 mils only.
I expect the rise/decay time to come from the bandwidth/slew rate of the chips
 

Offline sdouble

  • Regular Contributor
  • *
  • Posts: 123
  • Country: fr
Re: Clean Pulse generator
« Reply #14 on: December 06, 2017, 11:12:33 AM »
FYI, i use the SN74LVC1G14DRY ant the T1 is a p-channel mosfet used as a reverse polarity protection.
 

Offline IDEngineer

  • Regular Contributor
  • *
  • Posts: 152
  • Country: us
Re: Clean Pulse generator
« Reply #15 on: December 06, 2017, 11:24:46 AM »
I expect the rise/decay time to come from the bandwidth/slew rate of the chips.
Agreed, yet another possible contributor. My point was that paralleling devices presumes they have identical specs, which is seldom the case. Maybe it's "good enough" in this application, but I'd study those edges pretty carefully.
 

Offline Gerhard_dk4xp

  • Contributor
  • Posts: 12
Re: Clean Pulse generator
« Reply #16 on: December 06, 2017, 12:39:46 PM »
I did it also with 2 or 3 parallel gates. That works without any problems.

Rise and fall times are like this:

https://www.flickr.com/photos/[email protected]/31781694064/in/album-72157662535945536/  >
https://www.flickr.com/photos/[email protected]/32245910100/in/album-72157662535945536/  >

These screen shots have been taken from this incarnation that has 2 gates only:

http://www.hoffmann-hochfrequenz.de/downloads/DoubDist.pdf  >

which is a small board that doubles the 5 MHz crystal oven output
of a Lucent/HP Z3811A GPS receiver to 10 MHz and distributes it
to 4 SMA outputs. It also buffers the 1pps output.

The triple version is maybe slightly faster.
The scope was a 54846B with 156 ps risetime.

sig_in and clk_in in the attachment come from a Xilinx Coolrunner 2
(2C64) that runs on 3.3V. I increased the VCC somewhat to get
acceptable Hi level in a 50 Ohm terminated LVCMOS receiver.
It is still half a Volt away from TI abs. max. VCC ratings.
Fairchild LVC allows even 7V abs. max. IIRC.

I had to use abt. 4V2 for the predriver to comply with Vih min.

regards, Gerhard
« Last Edit: December 06, 2017, 12:52:56 PM by Gerhard_dk4xp »
 
The following users thanked this post: xzswq21

Offline sdouble

  • Regular Contributor
  • *
  • Posts: 123
  • Country: fr
Re: Clean Pulse generator
« Reply #17 on: December 06, 2017, 09:21:17 PM »
2 pics of the pulser.
 
The following users thanked this post: xzswq21


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf