Precision dual current source is software-programmable

For PIN-diode biasing and other applications that require precise current control, the circuit of Figure 1 provides an accurate dual current source using only two small ICs.

Click to Enlarge ImageFigure 1: A dual, precision current source can be realized using two small surface-mount ICs (U1 in a 4x4mm, 16-pin TQFN package, and U2 in a 14-pin TSSOP package).

U1 is a dual 10-bit, current-output DAC whose I2C/SPI-compatible serial input lets you program the full-scale output current to six different levels, up to 30 mA. The full-scale output selected can be further adjusted by connecting a resistor (20 kΩ to 40 kΩ) to the "FSADJ" terminal. This circuit substitutes a digital potentiometer (U2) for the resistor. U2 is a dual 50 kΩ device with 256 taps, connected in the "rheostat" configuration.

Table 1 lists the six output-current ranges, each headed by the range of full-scale values obtainable by adjusting the FSADJ resistor. For each output-current range, the table shows the full-scale currents corresponding to the values listed for RFSADJ.

Click to Enlarge Image

The ideal output current from either U1 DAC (pin 12 or 9) is

IOUT = (CODE10 x IFS)/1024,

where CODE10 is the decimal value of U1's input code, and IFS is the desired full-scale output current, based on the output range and adjustment resistor selected.

Click to Enlarge ImageFigure 2: A full-scale adjustment resistor (RFSADJ) sets the maximum current limit in the Figure 1 circuit. You can program the digital potentiometer (U2) for any output current up to the RFSADJ boundary limit, without changing hardware.

Either of U2's digital potentiometers gives the following resistance value between its high terminal (HA or HB) and its wiper or low terminal (WA, LA, WB, or LB, all of which connect to ground):

R = (D x RHL)/256,

where D is the decimal value of U2's digital input code, and RHL is the potentiometer's end-to-end resistance.

For a given output range (programmed via U1), the digital potentiometer lets you adjust the full-scale value through a range of 100% (minimum to maximum), without changing hardware. The adjustment resolution of U2 is 8 bits (256 taps). For better precision, you can substitute a higher-resolution dual digital potentiometer such as the MAX5495, which is a 10-bit device with 1024 taps.

You can parallel the dual outputs of U1 to obtain current outputs as high as 60 mA. U1 is also SPI compatible, and its DOUT output lets you daisy-chain multiple MAX5550s to obtain even higher output currents. For a functional equivalent of U2 that is also SPI compatible, substitute the MAX5488 digital potentiometer.

About the authors

Both authors are with Maxim Integrated Products, Sunnyvale, CA. Alex Shih is a Member of the Technical Staff, in Applications Engineering, while Joe Neubauer is a Technical Business Manager for Signal Processing and Conversion.