The circuit of Figure 1 produces an accurate variable-frequency sine wave for use as a general-purpose reference signal. It includes an 8th-order elliptic, switched-capacitor lowpass filter (IC3) that is clocked with a 100kHz square wave generated by microcontroller IC2. (Any other convenient squarewave source is also acceptable.) The microcontroller is clocked by a 10MHz oscillator module. A voltage supervisor (IC1) ensures correct operation in the event of a power failure. IC3 sets the filter's cutoff frequency at 1/100 the clock frequency.
Figure 1. By removing harmonics from a square wave, this circuit generates an accurate and adjustable sine-wave output.
The 8th-order elliptic filter's sharp rolloff sharply reduces the harmonic amplitudes in a 1kHz square-wave input, thereby producing a near-perfect 1kHz sine wave at its output. Using divider-chain logic or a processor, you can then create a digitally adjustable sine-wave source by adjusting the clock and input frequencies while maintaining a ratio of 100:1 between them. For the microcontroller shown, software to implement this idea is available for download. (.asm, 4K)
To prevent clipping at the positive and negative peaks, attenuate the input signal and superimpose it on a dc level of VCC/2. The result (for a 5V input) is a 2.25V peak-to-peak output.
A similar version of this article appeared in the May 15, 2003 issue of EDN magazine.