A triangular waveform of amplitude less than or equal to the power-supply voltage
can be generated using this circuit (*see the
figure*). Op-amp U2A combined with R_{2} and C_{3} operates
in two modes: integration (generating negative slope of the waveform as C_{3}
charges) and reset (generating positive slope of the waveform as C_{3}
discharges).

The 50% duty cycle, 256-cycle clock generated from U1 switches Q2 and Q3 alternately.
The clock can be varied per application. A constant I_{o} current, produced
by U2B, Q_{4-5}, and R_{8-11}, is set to 0.988 mA. The I_{in}
input current to U2A is 0.494 mA (12 V/R_{2}), which turns out to be
I_{o}/2. With I_{in} = I_{o}/2, U2A generates a symmetrical
triangular waveform. Its amplitude is controlled by the clock's period.

The waveform's amplitude is defined as: during integration, V_{out}
= -(I_{in}) × (T/2C_{3}); during reset, V_{out}t
= (I_{o} - I_{in}) × (T/2C_{3}), where T
is the clock period. Because I_{in} = I_{o}/2, the magnitude
of V_{out} = (I_{0}/4C_{3}) × T.