DIYstompboxes.com

DIY Stompboxes => Digital & DSP => Topic started by: cloudscapes on October 21, 2010, 09:35:32 PM

Title: Boosting levels at logic speeds
Post by: cloudscapes on October 21, 2010, 09:35:32 PM
Hey,

I've got a 1 to 12mhz squarewave that I need to boost from 500ish mv to 3-5v. Something tells me opamps or transistors simply aren't going to cut it at those speeds. Alternatively, which square generating scheme can output at those levels? Micros are out of the question as I need it to be "variable" and smooth.  Been using schmitt triggers but all those I've tried output less than 500mv.

It's kind of difficult to find a solution. Schmitt triggers that output more voltage can't go as fast (60ns propagation time, won't reach 12mhz), and the faster ones are weak.

(http://www.liquidmatrix.org/blog/wp-content/uploads/2007/11/dunce.gif)
Title: Re: Boosting levels at logic speeds
Post by: MoltenVoltage on October 21, 2010, 09:48:48 PM
The 4050 buffer works at 500 nS rise and fall time, which is what I usually grab.

That's a tough one,

What are you trying to clock, the MN3205?

What are you trying to clock it with?
Title: Re: Boosting levels at logic speeds
Post by: cloudscapes on October 21, 2010, 09:54:28 PM
Quote from: MoltenVoltage on October 21, 2010, 09:48:48 PM
The 4050 buffer works at 500 nS rise and fall time, which is what I usually grab.

That's a tough one,

What are you trying to clock, the MN3205?

What are you trying to clock it with?

I'm gonna be clocking an AVR. Right now it's on a 12mhz crystal, and I'll want to dial in a range of less than 1mhz to around 12mhz via pot, and the kicker is that it has to be a smooth transition.
500ns rise and fall is too slow. I've got some inverters oscillating at 15-20ns rise and fall which is good speed, but their output is weak.
Title: Re: Boosting levels at logic speeds
Post by: JKowalski on October 22, 2010, 02:49:39 AM
There are plenty of chips out there to buffer at extremely high speeds, search through mouser a little more...

What is the circuit? Perhaps consider replacing the clock source with a high speed 4046 VCO (max speed something like 40mHz).... though I don't know how the output behaves at those frequencies.

Also, you might be worrying over nothing - the 500mV signal may be enough to clock the chip anyways... did you look into that possibility?
Title: Re: Boosting levels at logic speeds
Post by: MoltenVoltage on October 22, 2010, 03:19:07 AM
Quote from: cloudscapes on October 21, 2010, 09:54:28 PM
Quote from: MoltenVoltage on October 21, 2010, 09:48:48 PM
The 4050 buffer works at 500 nS rise and fall time, which is what I usually grab.

That's a tough one,

What are you trying to clock, the MN3205?

What are you trying to clock it with?

I'm gonna be clocking an AVR. Right now it's on a 12mhz crystal, and I'll want to dial in a range of less than 1mhz to around 12mhz via pot, and the kicker is that it has to be a smooth transition.
500ns rise and fall is too slow. I've got some inverters oscillating at 15-20ns rise and fall which is good speed, but their output is weak.

Whatever you are trying to do externally can almost always be done with code.  Using a brute force method is usually an exercise in frustration.

Think about ways to read a voltage or some other input and alter the code based on that.  Clock the chip at the highest speed you can and work backwards from there.
Title: Re: Boosting levels at logic speeds
Post by: cloudscapes on October 22, 2010, 12:34:04 PM
Thanks for the replies guys. I think I'll go a different route.

What I'm building (or built, it's like 95% done) is a looper/sampler with time-stretch/drone/trimming/mangling features. I've got all of that working except the samplerate control. Many oldschool digidelays and loopers usually had a master clock that would just downclock all the logic to reduce the samplerate. When I started on this, I figured I'd do the same with the micro.

Since it now looks to be a bit more complicated, I think I'll go another route. I'll make a nice opamp VCO in the 1KHz-10KHz range and feed it into an interrupt pin. Instead of looping all my code like a maniac, it'll be executed only once o neach interrupt. 10KHz is a far far easier frequency to uggle.

MoltenVoltage, I'm sure someone could do it in software, but I'm not smart enough around timers and math. And I don't want to add excess code as I'm already pushing the micro to its limit (or at least the limits imposed within my compiler). I come from a circuit beinding background to using an analog VCO is very natural for me, rather than doing it the "clean" way in code.

Besides, that's how the WTPA (http://narrat1ve.com/) machine does it with an AVR, so I know it will work.
Title: Re: Boosting levels at logic speeds
Post by: ExpAnonColin on October 24, 2010, 01:21:17 AM
In my experience, the best way to get a variable clock into the AVR was with a LTC1799.  Then, just use the AVR on external clock setting.  The baller thing is that it's just as easy to resistor-control as it is to voltage-control.

-Colin
Title: Re: Boosting levels at logic speeds
Post by: MoltenVoltage on October 25, 2010, 01:53:11 PM
if i understand your goal, it seems to me the simplest thing to do is use a 2nd microcontroller as a clock generator with a pot or whatever type of input you prefer to vary it.

if i remember right, the typical rise and fall times are around 2nS
Title: Re: Boosting levels at logic speeds
Post by: cloudscapes on October 25, 2010, 08:15:44 PM
Quote from: MoltenVoltage on October 25, 2010, 01:53:11 PM
if i understand your goal, it seems to me the simplest thing to do is use a 2nd microcontroller as a clock generator with a pot or whatever type of input you prefer to vary it.

if i remember right, the typical rise and fall times are around 2nS

I thought of that but if I wanted a max 12mhz pulse from the 2nd micro, its speed would have to be 24mhz. much more, actually, since code is never that efficient, and there'd be the pot sampling.

I've already solved the challenge. it's done in code. I sample a pot every 60th of a second (so as not to use up too much cpu time) and dump it in a variable. I have a waitUs (variable) in the main loop and the wait increases as the pot goes up. its good enough for my ears, anyway.
Title: Re: Boosting levels at logic speeds
Post by: earthtonesaudio on October 25, 2010, 10:28:36 PM
Quote from: cloudscapes on October 21, 2010, 09:35:32 PMHey,
I've got a 1 to 12mhz squarewave that I need to boost from 500ish mv to 3-5v. Something tells me opamps or transistors simply aren't going to cut it at those speeds.

I'm glad you solved your problem, but I do think it could have been done with a cheap RF transistor.  10x gain at 12MHz is not exactly asking a lot.