A digipot is an adjustable resistor. Unlike other electronic components that tend to have a very specific purpose in a few applications, the digipot solves many unique issues; therefore, it is sometimes overlooked as a solution. Some examples are adjusting the gain of an ultrasonic detection circuit, adjusting LED drivers, and minimizing output ringing and oscillation in programmable amplifier gain circuits.
A digipot is a digitally controlled device that can be used to adjust voltage or current and offers the same analog functions as a mechanical potentiometer or rheostat. This allows an automatic calibration process that is more accurate, more robust, and faster, with smaller voltage glitches. Digipots are often used for digital trimming and calibration of analog signals and are typically controlled by digital protocols.
The topology of the programmable gain circuit determines how the circuit will be affected by variations in temperature as well as the manufacturing process variation of the digital potentiometer.
The Figure 1 illustrates non-inverting amplifier with programmable gain.
The Figure 2 shows an alternate circuit which takes the best of the general and simplified implementations. Here, a digital potentiometer with two or more resistor networks is used.
This allows each resistor for the gain to be individually controlled. Since both resistors are on the same silicon, the gain resistors have good tempco matching characteristics. With the wipers of each network tied together, the wiper voltage will be the same. Therefore, the wiper resistance characteristics of the two resistor networks should be similar. Table 1 shows the tradeoffs of each circuit implementation.
The feedback capacitor (CF) is used to stabilize the gain circuit. Initial evaluation of the feedback capacitor value can be done by applying a step input signal on VIN. As the CF value increases, the rise and fall times of VOUT will increase, but the overshoot and ringing of VOUT will decrease. The opposite is true as the CF value decreases. To optimize the CF value, try the step input signal across the wiper code range for the application.