Generally DAC output will be from 0V to Vref, and to get bipolar output we typically use this circuit that convert [0:Vref] -> [-Vref: Vref], with Rf = Ri.

But what else can this circuit do if we are able to tweak Rf, Ri? Can it gives Vo > Vref?

There are few ways to get the transfer function of this circuit block, namely:

- circuit simulation - overkilled for such a simply circuit - don't you think so?
- algebra manipulation - going to be tough for those not doing it for a while
- graphical analysis base on circuit inspection - quick and intuitive - my personal favourite

in this example, I'm going to shows you alternative #2, and #3, have a nice read-up!

** **

**The algebra way:**

Vo = Vdac + i * Rf

Vo = Vdac + [(Vdac-Vref)/Ri] * Rf

Vo = Vdac*(1+Rf/Ri) - Vref*(Rf/Ri)

but it is time consuming to write Rf/Ri, let's just replace it by α

Vo = Vdac*(1+α) - Vref*α

but Vdac is a function of Vref, let Vdac = β*Vref, where 0<= β<=1

Vo = β*Vref*(1+α) - Vref*α

Vo = Vref* [β + α*β - α]

where

α = Rf/Ri

β = dacData/dacFullResolution

it is always good idea to drop in some number to verify nothings goes wrong in the algebra derivation, let's do it now

let α = Rf/Ri = 1

Vo = Vref* [2β - 1]

β = 0: Vo = -Vref

β = 1: Vo = Vref

which is expected

Now that we have the final equation, we can inspect the equation as ratio of Rf/Ri changes:

Rf/Ri = 0:

- Vo = Vref*β

Rf/Ri = infinity:

- from Vo = Vref* [β + α*β - α]
- when β = 0 (Vdac = 0): Vo = negative infinity
- when β = 1 (Vdac = Vref): Vo = Vref

**Conclusion: **

from general equation of y = m*x + c, this circuit configuration allows us to configure maximum m = +1 @ c = 0, minimum m = negative infinity @ c = negative infinity, and max Vout = Vref.

For example, you are not getting more that Vo = Vref regardless of what Ri, Rf values you used.

##### The Graphical Way:

Step#1:

Figuring out what is input, what is output:

- draw out XY axis
- acknowledge that we control dac output directly, hence x-axis is label as Vdac
- Vo is the output of circuit block - we want to know what happen to Vo as Vdac changes - thus Vo as label for y-axis

Draw out the xy boundaries by circuit inspection:

- from circuit inspection - dac output can only varies between 0V to Vref, thus we draw at vertical line at x = Vref.
- from circuit inspection - when Vdac = Vref:
- since inputs of op-amp is essentially the same potential - the inverting input is at Vref,
- there is no voltage drop across Ri, both side of Ri at Vref, thus i=0A, and since there is no voltage drop across Rf, Vo=Vref
- thus draw a horizontal lines at y = Vref

Step#2:

Acknowledge there is essentially one variable to play around - that is, the ratio of Rf/Ri :

- from circuit inspection - consider the case Rf/Ri = 0, it means Ri = open and i=0, and the amp act as voltage follower , Vo = Vdac, from y = m*x + c, this gives m =1, c =0, draw a line that cross point (x,y) = (Vref, Vref), (0,0), this is one of our boundary.
- from circuit inspection - consider the case Rf/Ri = infinity, when Vdac =Vref, Vo = Vref, when Vdac is slightly less than Vref, Vo = negative infinity, draw a vertical lines at x = Vref.
- region bounded by the 2 lines above is the possible circuit function for this circuit configuration. For example, you are not getting more that Vo = Vref regardless of what Ri, Rf values you used.

Nice blog… Thanks for sharing very useful information about electrical circuits.

ReplyDeleteLearn Electronic Circuits