Electronics-Related.com
Forums

Fast buffer idea

Started by bitrex May 14, 2017
Diamond buffers are kind of cool, emitter feedback makes them linear and 
they don't have much phase shift, but they kind of suck balls whenever 
you want to actually move appreciable current with them which 
unfortunately is exactly what you'd want to do with a buffer.

I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair 
input-thing to drive boosting transistors to pump more dynamic current 
into the output follower's bases to speed up the transitions. This is 
the sim of it pushing a 100MHz square wave into a load using jellybean 
transistors:

http://imgur.com/a/bM8hl

Fast recovery didoes from the bases of the boosting transistors to 
ground and Vcc seem to speed up the transitions a lot.

Version 4
SHEET 1 1804 1564
WIRE -16 -592 -16 -672
WIRE 160 -592 -16 -592
WIRE 320 -592 160 -592
WIRE 480 -592 320 -592
WIRE 624 -592 480 -592
WIRE 896 -592 624 -592
WIRE -16 -480 -16 -592
WIRE 320 -480 320 -592
WIRE 160 -464 160 -592
WIRE 480 -464 480 -592
WIRE 624 -352 624 -592
WIRE -16 -320 -16 -400
WIRE 160 -320 160 -400
WIRE 160 -320 -16 -320
WIRE 320 -304 320 -400
WIRE 480 -304 480 -400
WIRE 480 -304 320 -304
WIRE 560 -304 480 -304
WIRE -16 -256 -16 -320
WIRE 896 -160 896 -592
WIRE -576 -112 -576 -144
WIRE -16 -112 -16 -176
WIRE 624 -112 624 -256
WIRE 624 -112 -16 -112
WIRE 704 -112 624 -112
WIRE 832 -112 768 -112
WIRE -16 -32 -16 -112
WIRE -576 -16 -576 -32
WIRE -576 -16 -688 -16
WIRE -64 -16 -224 -16
WIRE -576 16 -576 -16
WIRE 896 16 896 -64
WIRE -688 32 -688 -16
WIRE 320 96 320 -304
WIRE -576 144 -576 96
WIRE -16 144 -16 64
WIRE 160 144 -16 144
WIRE 256 144 160 144
WIRE 896 176 896 16
WIRE 544 192 320 192
WIRE 160 208 160 144
WIRE -16 336 -16 144
WIRE 160 336 160 272
WIRE 160 336 -16 336
WIRE 320 336 160 336
WIRE 544 384 544 192
WIRE 896 384 896 256
WIRE 896 384 544 384
WIRE 992 384 896 384
WIRE 1152 384 1072 384
WIRE 1312 384 1232 384
WIRE 1472 384 1392 384
WIRE 1600 384 1472 384
WIRE 1696 384 1600 384
WIRE -416 400 -576 400
WIRE -224 400 -224 -16
WIRE -224 400 -416 400
WIRE 160 432 -16 432
WIRE 320 432 896 16
WIRE 320 432 160 432
WIRE -576 448 -576 400
WIRE -416 448 -416 400
WIRE 160 496 160 432
WIRE 1472 512 1472 384
WIRE 1600 512 1600 384
WIRE 896 528 896 384
WIRE 544 560 544 384
WIRE 544 560 320 560
WIRE -576 576 -576 528
WIRE -416 576 -416 528
WIRE -16 608 -16 432
WIRE 160 608 160 560
WIRE 160 608 -16 608
WIRE 256 608 160 608
WIRE 1472 704 1472 576
WIRE 1600 704 1600 592
WIRE -16 784 -16 608
WIRE 896 784 320 336
WIRE 896 784 896 608
WIRE -224 864 -224 400
WIRE -64 864 -224 864
WIRE 896 912 896 784
WIRE -16 960 -16 880
WIRE 624 960 -16 960
WIRE 704 960 624 960
WIRE 832 960 768 960
WIRE -16 1008 -16 960
WIRE 624 1072 624 960
WIRE 320 1120 320 656
WIRE 480 1120 320 1120
WIRE 560 1120 480 1120
WIRE -16 1152 -16 1088
WIRE 144 1152 -16 1152
WIRE -16 1216 -16 1152
WIRE 320 1216 320 1120
WIRE 144 1232 144 1152
WIRE 480 1232 480 1120
WIRE -16 1360 -16 1296
WIRE 144 1360 144 1296
WIRE 144 1360 -16 1360
WIRE 320 1360 320 1296
WIRE 320 1360 144 1360
WIRE 480 1360 480 1296
WIRE 480 1360 320 1360
WIRE 624 1360 624 1168
WIRE 624 1360 480 1360
WIRE 896 1360 896 1008
WIRE 896 1360 624 1360
WIRE -16 1472 -16 1360
FLAG 1696 384 Out
IOPIN 1696 384 Out
FLAG -16 1472 Vee
FLAG -16 -672 Vcc
FLAG -688 32 0
FLAG -576 -144 Vcc
FLAG -576 144 Vee
FLAG -416 576 0
FLAG -576 576 0
FLAG 1472 704 0
FLAG 1600 704 0
SYMBOL npn 832 -160 R0
WINDOW 3 67 65 Left 2
SYMATTR Value 2SCR514P
SYMATTR InstName Q1
SYMBOL pnp 832 1008 M180
SYMATTR InstName Q2
SYMATTR Value 2SAR514P
SYMBOL res 880 160 R0
SYMATTR InstName R1
SYMATTR Value 10
SYMBOL res 880 512 R0
SYMATTR InstName R2
SYMATTR Value 10
SYMBOL nmos -64 784 R0
SYMATTR InstName M1
SYMATTR Value RHP030N03
SYMBOL pmos -64 64 M180
SYMATTR InstName M2
SYMATTR Value RRS100P03
SYMBOL res -32 1200 R0
SYMATTR InstName R3
SYMATTR Value 47k
SYMBOL res -32 -496 R0
SYMATTR InstName R4
SYMATTR Value 47k
SYMBOL voltage -576 -128 R0
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName V1
SYMATTR Value 5
SYMBOL voltage -576 0 R0
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName V2
SYMATTR Value 5
SYMBOL res -432 432 R0
SYMATTR InstName R5
SYMATTR Value 100k
SYMBOL voltage -576 432 R0
WINDOW 3 -190 227 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR Value PULSE(-3 3 0 0.1n 0.1n 5n 10n)
SYMATTR InstName V3
SYMBOL res 1088 368 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R6
SYMATTR Value 50
SYMBOL cap 1456 512 R0
SYMATTR InstName C1
SYMATTR Value 100p
SYMBOL ind 1248 368 R90
WINDOW 0 5 56 VBottom 2
WINDOW 3 59 53 VTop 2
SYMATTR InstName L1
SYMATTR Value 100nH
SYMBOL res 1584 496 R0
SYMATTR InstName R7
SYMATTR Value 50
SYMBOL res 1408 368 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R8
SYMATTR Value 1
SYMBOL pnp 256 656 M180
SYMATTR InstName Q3
SYMATTR Value 2N3906
SYMBOL npn 256 96 R0
SYMATTR InstName Q4
SYMATTR Value 2N3904
SYMBOL res 304 -496 R0
SYMATTR InstName R9
SYMATTR Value 100
SYMBOL pnp 560 -256 M180
SYMATTR InstName Q5
SYMATTR Value 2N3906
SYMBOL npn 560 1072 R0
SYMATTR InstName Q6
SYMATTR Value 2N3904
SYMBOL res 304 1200 R0
SYMATTR InstName R10
SYMATTR Value 100
SYMBOL schottky 144 208 R0
SYMATTR InstName D1
SYMATTR Value BAT54
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL diode 496 -400 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D4
SYMATTR Value RF05VA1S
SYMBOL res -32 -272 R0
SYMATTR InstName R11
SYMATTR Value 4.7k
SYMBOL cap 144 -464 R0
SYMATTR InstName C2
SYMATTR Value 5p
SYMBOL res -32 992 R0
SYMATTR InstName R12
SYMATTR Value 4.7k
SYMBOL cap 128 1232 R0
SYMATTR InstName C3
SYMATTR Value 5p
SYMBOL FerriteBead 736 960 R90
WINDOW 0 -16 0 VBottom 2
SYMATTR InstName L3
SYMATTR Value 22n
SYMATTR SpiceLine Ipk=0.5 Rser=0.044 Rpar=13 Cpar=1.6p mfg="Wurth 
Elektronik" pn="742 792 711 0"
SYMBOL FerriteBead 736 -112 R90
WINDOW 0 -16 0 VBottom 2
SYMATTR InstName L2
SYMATTR Value 22n
SYMATTR SpiceLine Ipk=0.5 Rser=0.044 Rpar=13 Cpar=1.6p mfg="Wurth 
Elektronik" pn="742 792 711 0"
SYMBOL diode 496 1296 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D3
SYMATTR Value RF05VA1S
SYMBOL schottky 176 560 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D2
SYMATTR Value BAT54
SYMATTR Description Diode
SYMATTR Type diode
TEXT -688 704 Left 2 !.tran 800u
On Sun, 14 May 2017 13:50:19 -0400, bitrex
<bitrex@de.lete.earthlink.net> wrote:

>Diamond buffers are kind of cool, emitter feedback makes them linear and >they don't have much phase shift, but they kind of suck balls whenever >you want to actually move appreciable current with them which >unfortunately is exactly what you'd want to do with a buffer. > >I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >input-thing to drive boosting transistors to pump more dynamic current >into the output follower's bases to speed up the transitions. This is >the sim of it pushing a 100MHz square wave into a load using jellybean >transistors: > >http://imgur.com/a/bM8hl > >Fast recovery didoes from the bases of the boosting transistors to >ground and Vcc seem to speed up the transitions a lot.
The output, even before the inductor, doesn't follow the input very well, and it's a heap of parts. Why not use a fast opamp? -- John Larkin Highland Technology, Inc lunatic fringe electronics
John Larkin <jjlarkin@highlandtechnology.com> wrote:

> On Sun, 14 May 2017 13:50:19 -0400, bitrex > <bitrex@de.lete.earthlink.net> wrote: > >>Diamond buffers are kind of cool, emitter feedback makes them linear and >>they don't have much phase shift, but they kind of suck balls whenever >>you want to actually move appreciable current with them which >>unfortunately is exactly what you'd want to do with a buffer. >> >>I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >>input-thing to drive boosting transistors to pump more dynamic current >>into the output follower's bases to speed up the transitions. This is >>the sim of it pushing a 100MHz square wave into a load using jellybean >>transistors: >> >>http://imgur.com/a/bM8hl >> >>Fast recovery didoes from the bases of the boosting transistors to >>ground and Vcc seem to speed up the transitions a lot. > > The output, even before the inductor, doesn't follow the input very > well, and it's a heap of parts. Why not use a fast opamp?
What are your recommendations to handle a 100MHz square wave?
On 05/14/2017 02:27 PM, John Larkin wrote:
> On Sun, 14 May 2017 13:50:19 -0400, bitrex > <bitrex@de.lete.earthlink.net> wrote: > >> Diamond buffers are kind of cool, emitter feedback makes them linear and >> they don't have much phase shift, but they kind of suck balls whenever >> you want to actually move appreciable current with them which >> unfortunately is exactly what you'd want to do with a buffer. >> >> I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >> input-thing to drive boosting transistors to pump more dynamic current >> into the output follower's bases to speed up the transitions. This is >> the sim of it pushing a 100MHz square wave into a load using jellybean >> transistors: >> >> http://imgur.com/a/bM8hl >> >> Fast recovery didoes from the bases of the boosting transistors to >> ground and Vcc seem to speed up the transitions a lot. > > The output, even before the inductor, doesn't follow the input very > well, and it's a heap of parts. Why not use a fast opamp? >
At least at the junction of R1 and R2, I think it follows it pretty good for being made up of mostly glorified relay switching BJTs! Trying to drive any kind of load with a simpler diamond topology using the same jellybeans at 100MHz and all you get is slop. That draws a ton of quiescent current. I don't think it's that many parts, you can have multiple transistors and diodes in the same package! It's just a lot of lines. Fast op-amps that can put out enough current to drive coax are pricey...
On 05/14/2017 03:19 PM, Steve Wilson wrote:
> John Larkin <jjlarkin@highlandtechnology.com> wrote: > >> On Sun, 14 May 2017 13:50:19 -0400, bitrex >> <bitrex@de.lete.earthlink.net> wrote: >> >>> Diamond buffers are kind of cool, emitter feedback makes them linear and >>> they don't have much phase shift, but they kind of suck balls whenever >>> you want to actually move appreciable current with them which >>> unfortunately is exactly what you'd want to do with a buffer. >>> >>> I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >>> input-thing to drive boosting transistors to pump more dynamic current >>> into the output follower's bases to speed up the transitions. This is >>> the sim of it pushing a 100MHz square wave into a load using jellybean >>> transistors: >>> >>> http://imgur.com/a/bM8hl >>> >>> Fast recovery didoes from the bases of the boosting transistors to >>> ground and Vcc seem to speed up the transitions a lot. >> >> The output, even before the inductor, doesn't follow the input very >> well, and it's a heap of parts. Why not use a fast opamp? > > What are your recommendations to handle a 100MHz square wave? > >
Anything that has the slew rate to handle a full-swing 100MHz square wave and also drive a cable is gonna cost $$$...
"bitrex"  wrote in message news:vN0SA.45616$3M3.37466@fx16.iad...

>Diamond buffers are kind of cool, emitter feedback makes them linear and >they don't have much phase shift, but they kind of suck balls whenever you >want to actually move appreciable current with them which unfortunately is >exactly what you'd want to do with a buffer.
>I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >input-thing to drive boosting transistors to pump more dynamic current into >the output follower's bases to speed up the transitions. This is the sim of >it pushing a 100MHz square wave into a load using jellybean transistors:
What are the design goals? If you want speed and low distortion, you should drop the mosfets, and the jelly bean transistors. Use the highest ft bipolara that you can find, like 10Ghz. The low gm of the mosfets really kill things. I haven't examined the effectiveness of the additional boost circuit, but it is important to make sure the basic design is optimised first. Typically, something like a 1:4 build up in current from the first bip follower to the second bip follower. In an asic design I might use the same current and use multiple devices in parallel. I would suggest trying an active current source to the input followers, to get the drive to the second follower, and remove the boost circuit. Use standard configurations, until you can prove that a bright idea is truly better. On the spice side, the setting looked f'uped. Why are you running so many cycles, so that the edge rates are ~10ns in a 200us plot! You should only have to run for 50ns. Also, the schematic has s/c diodes. I haven't run it yet, as it wont due to errors in the file you pasted. -- Kevin Aylward http://www.anasoft.co.uk - SuperSpice http://www.kevinaylward.co.uk/ee/index.html
On Sun, 14 May 2017 19:19:41 GMT, Steve Wilson <no@spam.com> wrote:

>John Larkin <jjlarkin@highlandtechnology.com> wrote: > >> On Sun, 14 May 2017 13:50:19 -0400, bitrex >> <bitrex@de.lete.earthlink.net> wrote: >> >>>Diamond buffers are kind of cool, emitter feedback makes them linear and >>>they don't have much phase shift, but they kind of suck balls whenever >>>you want to actually move appreciable current with them which >>>unfortunately is exactly what you'd want to do with a buffer. >>> >>>I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >>>input-thing to drive boosting transistors to pump more dynamic current >>>into the output follower's bases to speed up the transitions. This is >>>the sim of it pushing a 100MHz square wave into a load using jellybean >>>transistors: >>> >>>http://imgur.com/a/bM8hl >>> >>>Fast recovery didoes from the bases of the boosting transistors to >>>ground and Vcc seem to speed up the transitions a lot. >> >> The output, even before the inductor, doesn't follow the input very >> well, and it's a heap of parts. Why not use a fast opamp? > >What are your recommendations to handle a 100MHz square wave? >
If the object is to buffer a logic level, some 13-cent TinyLogic gate, like an NL37WZ16US or something. If it needs to be linear, there are tons of opamps to consider: THS4222, AD8007, whatever. The posted circuit drives a lowpass filter to make a small sort of sine wave from a giant square-wave drive, so a single transistor buffer should work. Or maybe no buffer at all. -- John Larkin Highland Technology, Inc lunatic fringe electronics
On 05/14/2017 03:28 PM, Kevin Aylward wrote:
> "bitrex" wrote in message news:vN0SA.45616$3M3.37466@fx16.iad... > >> Diamond buffers are kind of cool, emitter feedback makes them linear >> and they don't have much phase shift, but they kind of suck balls >> whenever you want to actually move appreciable current with them which >> unfortunately is exactly what you'd want to do with a buffer. > >> I came up with this thing that uses a sort of MOSFET-BJT Sziklai pair >> input-thing to drive boosting transistors to pump more dynamic current >> into the output follower's bases to speed up the transitions. This is >> the sim of it pushing a 100MHz square wave into a load using jellybean >> transistors: > > What are the design goals? If you want speed and low distortion, you > should drop the mosfets, and the jelly bean transistors. Use the highest > ft bipolara that you can find, like 10Ghz. The low gm of the mosfets > really kill things.
Sort of a poor-mans OPA663, to drive high-frequency pulses down a several meter length of RG-58 coax. Any suggestions for transistors? With Spice models? I figured it would make sense to see if the topology is at all valid with slower transistors first, because those fast parts are much more difficult to work with.
> On the spice side, the setting looked f'uped. Why are you running so > many cycles, so that the edge rates are ~10ns in a 200us plot! You > should only have to run for 50ns.
There are probably some initial conditions I need to set.
> Also, the schematic has s/c diodes. > > I haven't run it yet, as it wont due to errors in the file you pasted.
Ok, I'll fix it up and see if it can be optimized.
On 05/14/2017 03:54 PM, John Larkin wrote:

> The posted circuit drives a lowpass filter to make a small sort of > sine wave from a giant square-wave drive, so a single transistor > buffer should work. Or maybe no buffer at all.
I doubt the load is a realistic "model" for a length of cable. I saw one on EDN but it looks pretty complicated, about 5 controlled sources in series. It'll take a while to read and understand how they came up with it...
On Sun, 14 May 2017 16:02:13 -0400, bitrex
<bitrex@de.lete.earthlink.net> wrote:

>On 05/14/2017 03:54 PM, John Larkin wrote: > >> The posted circuit drives a lowpass filter to make a small sort of >> sine wave from a giant square-wave drive, so a single transistor >> buffer should work. Or maybe no buffer at all. > >I doubt the load is a realistic "model" for a length of cable. I saw one >on EDN but it looks pretty complicated, about 5 controlled sources in >series. It'll take a while to read and understand how they came up with >it...
Is your object to drive a length of coax? If it's terminated, you can just ignore the cable entirely. Or poke in a Spice transmission line to explore mismatch consequences. -- John Larkin Highland Technology, Inc lunatic fringe electronics