An 8-bit DAC provides a full-scale output current of 2 mA with a full-scale error of ±0.5%. For the input code 10000000 (MSB = 1, others = 0), what is the allowable output current range?

Difficulty: Medium

Correct Answer: 994 to 1014 μA

Explanation:


Introduction / Context:
Digital-to-analog converters (DACs) translate binary input codes into analog outputs. Interpreting code-to-output mapping and applying full-scale error correctly is essential for instrument specifications and tolerance budgeting.



Given Data / Assumptions:

  • N = 8 bits → codes 0 to 255 (if unipolar).
  • Full-scale output IFS = 2 mA, with full-scale error ±0.5% of full-scale.
  • Input code = 10000000₂ = 128 decimal (MSB set only), typical straight-binary DAC.


Concept / Approach:

For straight-binary unipolar DACs, the ideal output at code k is I(k) = (k/255) * IFS. Then include the full-scale error as ±0.5% of IFS (±10 μA) around the ideal code output to get the permissible range (assuming worst-case referenced to full-scale).



Step-by-Step Solution:

Compute ideal output: I(128) = (128/255) * 2 mA ≈ 1.0039 mA ≈ 1004 μA.Full-scale error: ±0.5% of 2 mA = ±10 μA.Allowable range: 1004 μA ± 10 μA → 994 μA to 1014 μA.


Verification / Alternative check:

Limit checks: Output near half-scale current, within ±10 μA band as specified—consistent with typical DAC error interpretation (ignoring INL/DNL for this problem).



Why Other Options Are Wrong:

  • 990 to 1020 μA: ±16 μA window—too wide for ±0.5% FS.
  • 800 to 1200 μA / 1000 to 1100 μA: far outside the specified tolerance.
  • None of the above: incorrect; the first option matches calculations.


Common Pitfalls:

  • Using 256 in the denominator instead of 255 for straight-binary full-scale mapping.
  • Applying ±0.5% to the code value rather than to full-scale as stated.


Final Answer:

994 to 1014 μA

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion