Two ICs and some associated components can be used to form a voltage-controlled sawtooth generator that costs less than $3 and produces an auxiliary squarewave at the same frequency (see the figure).

The generator has a variety of applications. For instance, it can sweep a secondary frequency for frequencydomain analysis. The sawtooth waveform’s adjustable frequency lets you probe the frequency-domain behavior of a system at different bandwidth resolutions. Lowering the sawtooth amplitude sweeps the secondary frequency more slowly, increasing the measurement’s frequency resolution. Conversely, if the swept frequency is high enough, you can set the sawtooth frequency very high. This action requires that the sawtooth generator have good linearity over a wide dynamic range.

IC1 with Q1 and R1 form a voltagecontrolled current source. Current IO discharges C1 until the C1 voltage is less than 1.66 V, which trips the IC2A comparator and swings its output to 5 V. Current through the diode-connected transistor (Q2) charges C1 until its voltage reaches 3.33 V, causing the IC2A output to swing back to ground. This repeating cycle determines the output frequency:

f_{OUT} = (3*(5 V + V_{C})/5 V)*(1/R1C1)

The maximum f_{OUT} occurs for VC = 1.66 V. However, you can set f_{OUT} as high as desired by adjusting the values of R1 and C1, subject to the limitation imposed by a finite rise time (t_{r}) at the output of IC2A. With a 3300-pF load, t_{r} is about 150 ns. Lower C1 values yield shorter rise times, which allow for higher levels of f_{OUT}. When f_{OUT} approaches its maximum, the finite tr also degrades the VCO linearity somewhat. By carefully selecting R1 and C1, you can minimize this effect and achieve linearities of 1% or less.

If VC is constrained to be greater than the negative supply voltage, then IC1’s input-referred offset voltage (0.5 mV max) determines the minimum possible frequency (f_{MIN}). This f_{MIN} value determines the VCO dynamic range, given by:

f_{MAX}/f_{MIN} (in dB) = 20log((5 V + 1.66 V)/0.5 mV) = 82.5 dB

If VC can be more negative than the negative supply, the lower limit of f_{OUT} is determined by the leakage currents of IC2, Q1, and Q2. These leakage currents should be very small, on the order of 1 nA. By properly choosing C1, you can achieve a dynamic range of 100 dB or greater. If the sawtooth waveform output must drive a heavy load, you should isolate it with a high-input-impedance buffer to minimized leakage currents at the timing node.