Function generators (FGs) are measurement instruments in the category of waveform sources. They grew out of both a need for a versatile source of multiple waveshapes and from some interesting analog circuit combinations that generate three waveshapes: triangle-waves, square-waves, and sine-waves.

This presentation of FGs follows the historical development, through two or three generations of preferred implementations. FGs have a generator loop in which an integrator drives a dual-level detector which switches the polarity of integration. The frequency is determined by integrator components and threshold levels.

A *waveform* is an electrical function of time. (This definition might be broadened to a more inclusive *physical* function of time.) *Waveshape* is a waveform property, that of the scale-invariant waveform – the waveform without regard to the values along its axes. More recently, arbitrary waveshapes are generated using digital synthesis in *waveform generators* . Analog FG generator loops output triangle and square waves. Sine-waves are produced with a triangle-to-sine converter subsystem. One of the three waveforms is selected and then amplified by a power amplifier for driving the FG output.

**Op-Amp Integrator FG**

The first-generation function generator scheme is shown below, popularized by early Wavetek FG products.

.

The integration of a bipolar square-wave results in a triangle-wave. The hysteresis switch, or Schmitt trigger, is a “window comparator”, with high and low input thresholds that determine the extrema, or peaks, of the triangle-wave. The hysteresis switch output is an amplitude- and time-symmetrical square-wave, described mathematically as the output of the inverting hysteresis switch:

The integrator integrates the hysteresis-switch *v _{o} * to produce the triangle-wave

where *R* and *C* are components of an op-amp integrator, as shown below. The hysteresis switch can be implemented using two comparators and an RS flop. The logic levels of the integrator input must be bipolar and closely equal in amplitude, for the input voltage determines output voltage slope and affects the waveform time symmetry. Some level-shifting circuitry must precede the integrator input for single-supply logic and must be inverting for waveform confinement between the hysteresis thresholds.

In a unipolar or single-supply implementation, the thresholds of the hysteresis switch would be of the same polarity. To make the triangle-wave slopes bipolar, the integrator is offset so that its input is bipolar even though the square-wave fed back to it is not. The offset is easily accomplished by connecting the noninverting input of the integrator op-amp to a voltage midway between the hysteresis thresholds.

An actual implementation of a simple triangle-wave generator (TWG) loop is illustrated from an old RCA (and afterward, Intersil) application note, excerpted below.

In this circuit, the hysteresis switch is implemented with one op-amp, IC3, using positive feedback. The positive threshold is set by the 150 k Ω feedback and 39 k Ω input resistors, forming a voltage divider. When the input (from pin 6 of IC2) exceeds the voltage at pin 3, the output transitions to the positive range limit. For a CMOS op-amp, this is near the supply voltage and is fairly repeatable – an advantage when using CMOS op-amps such as the CA3130. In an instrument-grade design, the op-amp would be too slow as a switch and would be replaced by a comparator.

The hysteresis-switch output is attenuated and input to pin 3 of IC1, a CA3080 transconductance amplifier, an op-amp with bipolar current output. The output current can be controlled from pin 5, and this current is used to set the slope of the triangle-wave and hence the frequency. The CA3080 input-pin polarities are not marked in the diagram but follow the CA3130 pinouts; pin 3 is positive. Positive output current is sourced (comes out of) pin 6, as shown.

The CA3080 is similar to a newer part, the LM13700, shown below. It is essentially a dual CA3080 and each unit functions as a two-quadrant transconductance multiplier.

Diodes Q11, Q12 match Q1, Q2 and form a translinear *gain cell* . (BJTs are used as diodes for better junction matching.) The ratio of currents in the diodes equals the ratio of BJT currents. This is evident when KVL is applied to the diode loop and the BJT input loop. Let *i* (Q11) = *i _{D−} * and

*i*(Q12) =

*i*. Then

_{D+}Also, for a perfect current mirror, *i* (Q3) = *I _{Y} * =

*i*(Q1) +

*i*(Q2) for

*α*= 1 (

*β*>> 1). The diff-amp output current is differential and is

Then with this nomenclature, applying KVL to the diode loop,

For matched BJT *b-e* junctions, *I _{s} * values match and cancel. Then

Equating and solving for the current ratios,

It can be shown algebraically that if

then

Applying this algebraic equivalence to the above circuit equations,

where *i _{X} * =

*i*−

_{D+}*i*. This can also be expressed as a current-gain transfer function;

_{D-}The translinear cell is a linear differential-input, differential-output current amplifier. Because the static current ratios, *i _{X} * and

*i*set the current gain, by varying either of them, the gain is varied. The diff-amp stage output current, through the gain-of-one-current-gain mirrors, is the amplifier output current, and the amplifier gain is given as the diff-amp stage gain above. It is inverting because the diodes are common-anode. (An alternative common-cathode connection, with anodes connected to the diff-amp bases, has positive gain.)

_{Y}The CA3080 inputs have high resistances in series to approximate the differential current sources that combine into *i _{X} * . Amplitude control is achieved (pin 5) through the multiplier function, as

*i*. The (pin 6) output is a bipolar current that is integrated by IC2.

_{Y}The first-generation scheme is illustrated in detail in the simple design of the Wavetek Model 30 FG. The circuit diagram is shown below for the generator loop and sine shaper.

In this simple FG, the three waveforms are not switched into an output amplifier but are presented on separate output connectors where they appear in the circuits. The op-amp integrator drives a dual comparator with discrete output BJTs that also feed back into IC5, IC6 to effect a bistable memory. This is the basic TWG loop. The timing current of the integrator is input through an intermediate “VCG Mirror” stage, driven by node A shown in the second half of the circuit diagram, below.

The frequency range is set by a switched timing capacitor and by a frequency dial that determines timing current. Its range switch allows either linear or logarithmic scaling of the current. IC1 is a current-input (or “Norton”) op-amp with a current-mirror input. Q8, Q9 form the differential input stage of the amplifier. The output drives IC2. In the linear switch positions it is a voltage follower. In the log positions, Q10 is switched in, the + input is driven by a fixed voltage from trimpots (R24, R29), and the voltage at A is then logarithmic, following the *b-e* junction voltage of Q10. Besides the frequency dial, external VCG input voltage can affect timing current. This input allows the FG to function as a voltage-controlled frequency source, or a VCO. As a generator, the name given is *voltage-controlled generator* (VCG).

The simple Wavetek FG, with few parts, also has an additional ramp generator that sweeps the timing voltage when input to the integrator. With the logarithmic timing positions, a log-sweeping FG can be used to display Bode plots directly on ‘scope screens, though the horizontal frequency axis is uncalibrated. The sine shaper circuit is a piecewise-linear segment shaper. As the triangle-wave input voltage to it increases, the currents of the diode bridges at various input voltages are diverted to the output, forming a sine approximation. The FG is battery operated. The supply circuit splits the 9 V battery voltage for bipolar operation.

This first-generation FG scheme is inherently slow because of the limited bandwidth of the op-amp integrator. It is also difficult to maintain waveform symmetry over a wide frequency range because of its direct dependence on square-wave voltage symmetry. The scheme, however, is simple and easy to design using a few ICs. For higher frequency generation, a faster loop is required. The next generation of FGs is both faster and symmetry is more easily maintained.

When I look inside a 555 timer, I see the window comparators and the latch.

I note the window is set by internal resistors and referenced to the supply rails, however, I can imagine a triangle generator whose rate similarly tracks the supply rails.

I feel diode steered current sources directly charging a capacitor may be good for higher frequency than integrators. (but look at the old wavetek 10x series)