About SPICE |
SPICE Basics |
Running SPICE |
CIRCUIT COLLECTION
SPICE Commands |
SPICE Downloads |
About |
Contact |
Home
12-Bit DAC, +5V Ref, Op Amp
A basic DAC and Amplfier shows insight into a multi-stage Error Budget Analysis with errors Referred to Output (RTO). We'll do a teardown of this error analysis. You'll get
For Tutorials and more examples, see EBA Series
What are the basic definitions of an amplifier's Offset and Gain Errors?
The max budget (target spec) for the DAC+Amplifier (0V to 10V) has been chosen as:
Three devices make up this signal-chain.
The errors below reflect a medium precision of accuracy grade for the devices.
Description Initial Temp Drift OFFSET ERRORS U1, voff, DAC Offset Error
U1, vres, DAC Resolution Error
U1, vinl, DAC Integral-Non Linearity Error
U3, voff, Input Offset Voltage
U3, ib, Input Bias Current
U3, iboff, Input Offset Current2 LSB
1/2 LSB
1 LSB
1 mV
10 nA
5 nA0.04 LSB/C
10 uV / C
2 nA / C
1 nA / CGAIN ERRORS U1, DAC Gain Tol, Tempco
U2, Vref Tol, Tempco
R2 Tolerance, Tempco
R1 Tolerance, Tempco2 LSB
0.5%
0.1 %
0.1 %0.08 LSB/C
50 ppm/C
100 ppm / C
100 ppm / C
Temperature
ADC
Amplifier
Errors
While the steps below may seem more detailed than needed for simpler errors,
the value of creating a systematic approach can pay off when
analyzing more complex, multi-stage designs.
The DAC's offset errors are typically characterized in units of digital output LSB's (Least Significant Bits). It's easy to convert output LSBs to Output Volts using the DAC's resolution Vlsb.
Description | Initial Errors | Drift Errors |
Error Source: e | offset = 2 LSBs Convert to V: voff = 2 LSB x x 0.00122 (V/LSB) = 2.44 mV |
offset_TC = 0.04 LSB/C Convert to V: voff_TC = 0.04 LSB /C x 0.00122 (V/LSB) = 49 uV / C |
Pick Analysis Node: Va | vo1 | vo1 |
Calc Sensitivity: S How does e impact Va? |
S = vo1 / voff = 1 |
S = 1 |
Calc Offset Error at Analysis Node Initial: ∆Voffset = e * S Drift: ∆Voffset = e * ∆T * S |
∆Voffset = 2.4 mV * 1 = 2.4 mV |
∆Voffset = 49uV/C * 30C * 1 = 1.5 mV |
Calc Gain from Analysis Node to Output: Ka = vo2 / Va |
Ka = vo2 / va = R2/R1+1 = 2 |
Ka = 2 |
Calc Error RTO (Referred-to-Output): ∆voffset_RTO = ∆voffset * Ka |
∆voffset_RTO = 2.4 mV * 2 = 4.8 mV |
∆vvoffset_RTO = 1.5 mV * 2 = 3.0 mV |
The Resolution Errors and Integral Non-Linearity (INL) Errors are considered part of the offset errors. Why? Mainly because they don't scale directly with the signal level (which would imply a gain term).
The error analysis for both of these DAC errors follow the same steps as the Initial Offset Error shown above. (See Excel file link below.)
Because voff is modelled as voltage in series with the pos input, it gets amplified just like the signal gain for Vin.
Description | Initial Errors | Drift Errors |
Error Source: e | voff = 1mV | voff_TC = 10uV/C |
Pick Analysis Node: Va | vo2 | vo2 |
Calc Sensitivity: S How does e impact Va? |
S = vo / voff = R2/R1+1 = 2 |
S = 2 |
Calc Offset Error at Analysis Node Initial: ∆Voffset = e * S Drift: ∆Voffset = e * ∆T * S |
∆Voffset = 1mV * 2 = 2mV |
∆Voffset = 10uV/C * 30C * 2 = 0.6 mV |
Calc Gain from Analysis Node to Output: Ka = vo2 / Va | Ka =1 | Ka = 1 |
Calc Error RTO (Referred-to-Input): ∆voffset_RT0 = ∆voffset * Ka |
∆voffset_RTO = 2mV * 1 = 2mV |
∆vvoffset_RTO = 0.6mV * 1 = 0.6mV |
The quick theory refresh (see Advanced Amplifier) shows the Gain (Sensitivity) of vo to ib
S = vo/ib = Rs*(R2/R1+1) - R2
Let's walk through the error analysis.
Description | Initial Errors | Drift Errors |
Error Source: e | ib = 10nA | ib_TC = 2nA/C |
Pick Analysis Node: Va | vo2 | vo2 |
Calc Sensitivity: S How does e impact Va? |
S = vo / ib = ½[Rs*(R2/R1+1)+R2] = -98k |
S = -98k |
Calc Offset Error at Analysis Node Initial: ∆Voffset = e * S Drift: ∆Voffset = e * ∆T * S |
∆Voffset = 10nA * -98k = -0.98mV |
∆Voffset = 1nA/C*30C*-98k = -5.88mV |
Calc Gain from Analysis Node to Output: Ka = Vo2 / Va | Ka = 1 | Ka = 1 |
Calc Error RTO (Referred-to-Output): ∆voffset_RTI = ∆voffset * Ka |
∆voffset_RTI = -0.98mV * 1 = -0.98mV |
∆voffset_RTI = -5.88mV * 1 = -5.88mV |
A quick theory refresh (see Advanced Amplifier) shows the Gain (Sensitivity) of vo to iboff
S = vo/iboff = ½ [ Rs*(R2/R1+1) + R2 ]
Let's walk through the error analysis.
Description | Initial Errors | Drift Errors |
Error Source: e | iboff = 5nA | iboff_TC = 1nA/C |
Pick Analysis Node: Va | vo2 | vo2 |
Calc Sensitivity: S How does e impact Va? |
S = vo / ib = ½ [Rs*(R2/R1+1) + R2] = 51k |
S = 51k |
Calc Offset Error at Analysis Node Initial: ∆Voffset = e * S Drift: ∆Voffset = e * ∆T * S |
∆Voffset = 5nA * 51k = 0.255mV |
∆Voffset = 1nA/C*30C*51k = 1.53mV |
Calc Gain from Analysis Node to Output: Ka = Vo2 / Va | Ka = 1 | Ka = 1 |
Calc Error RTO (Referred-to-Output): ∆voffset_RTI = ∆voffset * Ka |
∆voffset_RTI = 0.255mV * 1 = 0.255mV |
∆voffset_RTI = 1.53mV * 1 = 1.53mV |
Similar to Offset Errors, the Gain Errors can be converted from LSBs to % or ppm.
You can write the ADC gain as
Because Kadc directly defines gain of this block, you can assume the Sensitivity is unity,
or S = 1.0.
Description | Initial Errors | Drift Errors |
Error Source: e | Kadc_Tol = 2 LSB Convert to %: Kdac_Tol = 2LSB/4095*100% = 0.05% |
Kadc_TC = 0.08LSB/C Convert to ppm/C: Kdac_TC = 0.08LSB/4095*1e6 = 20ppm/C |
Pick Analysis Node: Va | vdac | vdac |
Calc Sensitivity: S How does e impact Gain K? |
S = 1.0 (see discussion above) |
S = 1.0 |
Calc Gain Error at Analysis Node Initial: ∆K/K = e * S Drift: ∆K/K = e * ∆T * S |
∆K/K = 0.05% * 1.0 = 0.05% |
∆K/K = 20ppm/C*30C*1.0 = 600ppm = 0.06% |
Normailzed gain errors can be referred to output as-is, no RTO calc needed. |
The Vref term appears in the numerator of the DAC gain.
Intuition tells us the Sensitivity S should be
positive (as
Vref goes up, Kdac goes up.) We can also guess that the magnitude of S should be 1
because Vref is a direct multiplier (numerator or denominator) of the gain.
We'll calculate S anyway below just to confirm.
Description | Initial Errors | Drift Errors |
Error Source: e | Vref_Tol = 0.5% |
Vref_TC = 50 ppm/C |
Pick Analysis Node: Va | vdac | vdac |
Calc Sensitivity: S How does e impact Gain K? Apply Difference Method: S = (∆K/K)/(∆V/V) where ∆K = (K'-K) |
Kdac = vdac/DACword = Vref/(2N-1) Vref = 5.0 2N-1 = 4095 Kdac = 5/4095 = 819 Kdac' = (5*1.01)/4095 = 811 ∆Vref/Vref = 0.01 S = (∆Kdac/Kdac) / (∆Vref/Vref) = 1.0 |
S = 1.0 |
Calc Gain Error at Analysis Node Initial: ∆K/K = e * S Drift: ∆K/K = e * ∆T * S |
∆K/K = 0.5% * 1.0 = 0.5% |
∆K/K = 50ppm/C*30C*1.0 = 1500ppm = 0.15% |
Normailzed gain errors can be referred to output as-is, no RTO calc needed. |
Description | Initial Errors | Drift Errors |
Error Source: e | R2_Tol = 0.1% |
R1_TC = 100ppm/C = 0.0001%/C |
Pick Analysis Node: Va | vo2 | vo2 |
Calc Sensitivity: S How does e impact Gain K? Apply Difference Method: S = (∆K/K) / (∆R/R) where ∆K/K = (K'-K)/K |
K = R2/R1+1 R2 = 100k R1 =100k K = 100k/100k+1 = 2.0 K'=100k*1.01/100k+1 = 2.01 ∆R/R = 0.01 S = (∆K/K) / (∆R/R) = +0.5 |
S = 0.5 |
Calc Gain Error at Analysis Node Initial: ∆K/K = e * S Drift: ∆K/K = e * ∆T * S |
∆K/K = 0.1% * 0.5 = 0.05% |
∆K/K = 100ppm/C*30C*0.5 = 1500ppm = 0.15% |
Normailzed gain errors can be referred to output as-is, no RTO calc needed. |
Description | Initial Errors | Drift Errors |
Error Source: e | R1_Tol = 0.1% |
R1_TC = 100ppm/C = 0.0001%/C |
Pick Analysis Node: Va | vo2 | vo2 |
Calc Sensitivity: S How does e impact Gain K? Apply Difference Method: S = (∆K/K) / (∆R/R) where ∆K/K = (K'-K)/K |
K = R2/R1+1 R2 = 100k R1 =100k K = 100k/100k+1 = 2.0 K'=100k/(100k*1.01)+1 = 1.99 ∆R/R = 0.01 S = (∆K/K) / (∆R/R) = -0.5 |
S = -0.5 |
Calc Gain Error at Analysis Node Initial: ∆K/K = e * S Drift: ∆K/K = e * ∆T * S |
∆K/K = 0.1%*-0.5 = -0.05% |
∆K/K = 100ppm/C*30C*-0.5 = -1500ppm = -0.15% |
Normalized gain errors can be referred to input as-is, no RTO calc needed. |
See Excel file: DAC-ref-amp-a.xlsx
Right Click on the filename, select "Save link as...".
Check out the easy entry (BLU col) and calculations (RED col) on the Gain Error sheet.
Calculate the total using Worst Case Analysis. WCA assumes the most unfavorable conditions: all errors at their maximum limit AND in the same polarity.
Does the Total Error fly under the Max Error Budget (Requirements)?
Calculate the total using Worst Case Analysis.
Does the Total Error fly under the Max Error Budget (Requirements)?
Yikes! Can we improve the design? See "Try It" below.
An Excel file was created to implement the error budget analysis.
3 Worksheets
Worksheet Enter Calculate CIRCUIT CALC Circuit values Signal gains / levels and Sensitivities (S) OFFSET Offset error sources Offset errors and totals GAIN Gain error sources Gain errors and totals
While 3 worksheets may seem over-the-top for smaller circuits, you'll find a big advantage when analyzing more complex circuits or multi-stage systems!
Try the hands-on spreadsheet!
For in-depth tutorials and more circuits, go to
EBA Series