Back to the 2025 paper

Module 2: Signal Conditioning Systems

20257m

A 14-bit ADC (counts 0...16383) is used with an input range of 0...2.500 V to read a temperature sensor whose output is linearly 0–2.5 V (for 0–200°C). During calibration you measure that a known 100°C reference gives an ADC code of 6550.
(i) Compute the ideal LSB (in volts) and the ideal code corresponding to 100°C.
(ii) From the calibration reading (6550), find the offset error in volts and in °C.

Worked SolutionAI Assisted

Solution: ADC Resolution and Calibration Error

Given:

  • ADC resolution = 14 bits
  • ADC counts = 00 to 1638316383
  • Input range = 0–2.500 V
  • Temperature range = 0–200°C
  • Sensor output = 0–2.5 V linearly
  • Measured code at 100°C = 6550

(i) Ideal LSB and Ideal Code at 100°C

Step 1: Calculate ideal LSB

A 14-bit ADC has:

214=163842^{14}=16384

quantization intervals.

Therefore:

LSB=2.50016384LSB=\frac{2.500}{16384}

LSB=0.0001525879 VLSB=0.0001525879\text{ V}

Hence:

LSB152.59μV\boxed{LSB\approx152.59\,\mu V}

Step 2: Ideal voltage at 100°C

The sensor is linear from 0 V at 0°C to 2.5 V at 200°C.

At 100°C, which is half of the temperature range:

V100=2.5×100200=1.25 VV_{100}=2.5\times\frac{100}{200}=1.25\text{ V}

Step 3: Ideal ADC code

Using the ideal ADC transfer convention:

Codeideal=V100VFS(2141)Code_{ideal}=\frac{V_{100}}{V_{FS}}(2^{14}-1)

=1.252.5×16383=\frac{1.25}{2.5}\times16383

=8191.5=8191.5

So the ideal code is approximately:

8192\boxed{8192}

(ii) Offset Error

Measured code:

Codemeasured=6550Code_{measured}=6550

Ideal code:

Codeideal8192Code_{ideal}\approx8192

Code error:

ΔCode=65508192=1642\Delta Code=6550-8192=-1642

Convert this code error into voltage using the LSB:

ΔV=ΔCode×LSB\Delta V=\Delta Code\times LSB

=1642×0.0001525879=-1642\times0.0001525879

ΔV0.25055 V\boxed{\Delta V\approx-0.25055\text{ V}}

So the measured result is approximately 0.251 V below the ideal value.

Equivalent temperature error

The sensor has a range of:

2.5 V200°C2.5\text{ V}\leftrightarrow200°C

Therefore its sensitivity is:

2002.5=80°C/V\frac{200}{2.5}=80°C/V

Hence:

ΔT=ΔV×80\Delta T=\Delta V\times80

=0.25055×80=-0.25055\times80

ΔT20.04°C\boxed{\Delta T\approx-20.04°C}

Therefore, at the 100°C reference point, the calibrated reading corresponds to an error of approximately −20°C relative to the ideal transfer.

Cross-check Using Measured Code

Measured voltage corresponding to code 6550:

Vmeasured6550×2.516384V_{measured}\approx6550\times\frac{2.5}{16384}

0.99945 V\approx0.99945\text{ V}

This corresponds to:

Tmeasured0.999452.5×200T_{measured}\approx\frac{0.99945}{2.5}\times200

79.96°C\approx79.96°C

So a true 100°C input is being reported at approximately 79.96°C, giving an error of approximately:

79.9610020.04°C79.96-100\approx-20.04°C

Final Answer

Quantity Result
ADC resolution 14 bit
Ideal LSB 152.59 μV
Ideal code at 100°C ≈ 8192
Measured code 6550
Code error −1642 counts
Offset error ≈ −0.2506 V
Equivalent temperature error ≈ −20.04°C
Measured temperature equivalent ≈ 79.96°C

Note: Strictly, a single calibration point reveals a combined offset/gain error unless the gain is independently known. Under the exam's stated linear-sensor assumption, the difference at the 100°C reference is treated as the offset error.

Similar questions