In the Operational Amplifiers part of Analog University from National Semiconductor, I saw an offset voltage measuring circuit for an OP-AMP. Here is the page. I've included some details and the schematic below:

It says that this is a very accurate way of measuring Vos. In LTspice, I've built this circuit with two LT1001 s and the output of the OP-AMP saturates to +5V. I used +5V and GND for the supplies.

In the page, it says that if +1V is applied to the "Servo Input", the output of the DUT will be +1V. I can understand that since the Servo OP-AMP will try to make its both inputs the same by changing its output voltage accordingly. Since there is almost no voltage drop across 10k in the non-inverting input of the Servo OP-AMP, output of the DUT will be +1V.

For example, say the DUT has an offset voltage of +500 μV and NO gain errors and the Servo Input is set to +2.5V. The DUT's output will now be set to 2.5V and VOS will be at +500 mV regardless of the Servo Input setting. Any gain error would be summed in along with the offset voltage, and the result is multiplied by the loop gain (1000). With the Servo Input grounded the circuit basically functions as a "gain of 1000" test circuit. The Servo amp contributes very little in the way of offset errors (the servo amp's offset is divided 'down' by the loop gain).

I couldn't understand why Vos (output of the Servo OP-AMP?) will be at +500mV (that is the gain multiplied by the offset voltage of the DUT)? Both OP-AMPs are in each others feedback loop, however, DUT is in the positive feedback loop of the Servo. Why is that? It would be great that you include Vos as a voltage source when you are explaining.

(I am so puzzled and thus maybe I was not clear. Please notify me and I will edit accordingly.)



3 Answers 3


First, the DUT is in the positive feedback because this way you have an inverting and a non-inverting gain in the loop, so that multiplying them you obtain an overall negative loop gain.

Second, the gain is 1000 because Vin of DUT is Vos*50/(50K+50), so if you consider that V+ of the DUT should be 0, there is only the offset applied, so the feedback forces the output to be 1k times the offset voltage.

I think that you can look at the output this way: suppose that the situation is the one described, and you have a 500uV DUT offset and so 500mV output voltage.

Now, if you try to perturb the Servo Input, the feedback forces the output of the DUT to be almost the same of Servo Input, restoring the same Output voltage.

Note: Voff is the conventional name for input offset voltage, while Vos is the output voltage with Voff applied at the input pins.

  • \$\begingroup\$ Where exactly the Vos applied to in DUT? I mean if I want to model it, where do I put it? \$\endgroup\$ Commented Jan 15, 2012 at 14:20
  • \$\begingroup\$ If you consider that with infinite gain you have ideally 0V between V+ and V-, you put the offset voltage as a generator between the 2 pins inside the op-amp, as if you put V- to ground, you have Voff at the V+ pin. \$\endgroup\$
    – clabacchio
    Commented Jan 15, 2012 at 14:27
  • \$\begingroup\$ So, the OP-AMP equation becomes: Vout=((V+)-(V-)+Vos)*AOL. Right? \$\endgroup\$ Commented Jan 15, 2012 at 14:33
  • \$\begingroup\$ Exactly (read the end of my answer for notation). And take into account that Voff can be positive as negative. \$\endgroup\$
    – clabacchio
    Commented Jan 15, 2012 at 14:41
  • 1
    \$\begingroup\$ I'm here for any clarification :) \$\endgroup\$
    – clabacchio
    Commented Jan 15, 2012 at 14:57

The circuit is puzzling at first: I can measure Vos of the DUT by just including the two 50 ohm resistors and connecting the 50K resistor from DUT input- to DUT output -- gain of 1000, where for Vos = 0, output = 0, but Vos = 100uV, output = 1V.

What the second ("servo") op-amp is doing is taking over the responsibility of producing the output voltage of the circuit, and decoupling the DUT's output so that the DUT output is trying to duplicate the voltage on the "Servo Input" node. Why would we do this? So that we can sweep the "Servo Input" node and see how Vos of the DUT varies with the DUT's output voltage.


I've solved my problem, thanks to @clabacchio.

Let's start with general OP-AMP equation.

$$ V_{out}=(V^{+}-V^{-}+V_{os}) \cdot A_{OL} $$

We know that:

$$ V^{-}_{Servo}=2.5 $$

$$ V^{+}_{DUT}=0 $$

$$ V^{-}_{DUT}=Vout_{Servo} \cdot \frac{50}{50k+50} $$

$$ V^{-}_{DUT}=Vout_{Servo} \cdot \frac{1}{1001} $$

I am going to assume "1001" as "1000" here.

$$ V_{out_{Servo}} = \left ( V_{out_{DUT}} - 2.5 + V_{OS_{Servo}} \right ) A _{OL} $$

$$ V_{out_{DUT}}=\left (-V^{-}_{DUT}+V_{OS_{DUT}}\right ) \cdot A_{OL} $$

$$ V_{out_{DUT}}=\left (-V_{out_{Servo}} \cdot \frac{1}{1001}+V_{OS_{DUT}}\right ) \cdot A_{OL} $$

$$ V_{out_{DUT}} = \left ( - \left (V_{out_{DUT}}-2.5+V_{OS_{Servo}} \right ) A_{OL} \cdot \frac{1}{1000}+V_{OS_{DUT}} \right ) \cdot A_{OL} $$

$$ V_{out_{DUT}}=-V_{out_{DUT}} \cdot \frac{A_{OL}^2}{1000}+2.5 \cdot \frac{A_{OL}^2}{1000}-V_{OS_{Servo}} \cdot \frac{A_{OL}^2}{1000}+V_{OS_{DUT}} \cdot A_{OL} $$

$$ V_{out_{DUT}} \cdot \left ( 1+\frac{A_{OL}^2}{1000} \right )=\left ( 2.5-V_{OS_{Servo}} \right ) \cdot \frac{A_{OL}^2}{1000}+V_{OS_{DUT}} \cdot A_{OL}$$

Since 1 is so much smaller than \$\frac{A_{OL}^2}{1000}\$ , it can be omitted.

Simplifying above, we get:

$$ V_{out_{DUT}}=2.5-V_{OS_{Servo}}+V_{OS_{DUT}} \cdot \frac{1000}{A_{OL}} $$

$$ V_{out_{Servo}}=(2.5-V_{OS_{Servo}}+V_{OS_{DUT}} \cdot \frac{1000}{A_{OL}}-2.5+V_{OS_{Servo}}) \cdot A_{OL} $$

$$ V_{out_{Servo}}=V_{OS_{DUT}} \cdot 1000 $$

  • \$\begingroup\$ Can someone help me with the latex here? \$\endgroup\$ Commented Jan 15, 2012 at 15:43
  • 1
    \$\begingroup\$ Well, the latex is a bit better now. There is something screwey with the \\$ escape detection. just replacing them with $ $ fixed a lot of it. There is still something wrong with a few of the equations, and I can't figure it out, since they seem to be valid latex. For one, it looks like the markdown system is detecting some of the double-underscores as formatting instructions, rather then latex. \$\endgroup\$ Commented Jan 15, 2012 at 21:23
  • \$\begingroup\$ And do you think that the V- of the Servo matters? I think that it also could be put to ground. \$\endgroup\$
    – clabacchio
    Commented Jan 15, 2012 at 23:19
  • \$\begingroup\$ It doesn't matter, however as @Jason S said, it lets us see if Vos of the DUT varies with the DUT's output voltage. \$\endgroup\$ Commented Jan 16, 2012 at 6:26
  • 1
    \$\begingroup\$ There is still some wierdness, but I'm pretty certain is a stack-exchange issue at this point. For example, \$ V^{+}_{DUT}=0 \$ renders correctly, but \$ V^{-}_{DUT}=Vout_{Servo}*\frac{50}{50k+50} \$ renders as plain-text. Replacing the \$ with $$ makes both render correctly. There seems to be some oddness in the escape-detection mechanism. \$\endgroup\$ Commented Jan 16, 2012 at 9:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.