Lecture – Data Converters

Ryan Robucci

Table of Contents

References

Representing Real Numbers Limited # of Bits

Want to represent 0 - 10 V with three bit.

Can only pick 8 real-valued points called the quantization levels.
Many such choices exist

Digital Code to Real Value Mapping

Comparison to binary number representation

Common binary codes use POWERS OF TWO for bit weights

i=0n1(2ieach weight is twice the previousxi)\displaystyle \sum_{i=0}^{n-1}(\underbrace{2^i}_{\mathrlap{\text each\ weight\ is\ twice\ the\ previous}} x_i )

The A/D coding just described uses real-valued weightings instead, increasing by powers of two:

voltage=i=0n1Vref×2i2Nvoltage weightxi{\rm voltage} = \displaystyle \sum_{i=0}^{n-1} \underbrace{\frac{V{\rm ref \times 2^i}}{2^N}}_{\mathrlap{\text voltage\ weight}} x_i

The step size between quantization levels corresponds to the real-value weighting of the LSB:
resolution or step size: 1Vref2N1 \leftrightarrow \frac{V{\rm ref}}{2^N}

Lets represent the voltage range [0 V, 10 V) with a three bit code.

2 1 0 Value
0 0 0 0 Vref/8
0 0 1 1 Vref/8
0 1 0 2 Vref/8
0 1 1 3 Vref/8
1 0 0 4 Vref/8
1 0 1 5 Vref/8
1 1 0 6 Vref/8
1 1 1 7 Vref/8

Time for Conversion

A/D or D/C converters require a finite amount of time per conversion, and therefor must must also be characterized in time

A Digital to Analog Converters (DAC)

A common circuit provides binary-weighted contributions:

Example:
1 (on)
0 (off)
1 (on)
(1/2+1/8)×Vref\rightarrow \left(1/2 + 1/8 \right) \times V_{\rm ref}

Resolution

Enrichment: Offset and Gain Error: typical to quantify in terms of bits

Sample Time Jitter

Sample Error Δv=Δt×dv(t)dt\Delta v= \Delta t \times \frac{d\,v(t)}{dt}
Worst-Case Error Δv=Δt×maxt(dv(t)dt)\Delta v= \Delta t \times \underset{t}{\max} \left(\frac{d\,v(t)}{dt}\right)

Enrichment: Jitter and Sinewaves

Analysis for allowed jitter under sine-wave input condition:

For a size wave, max rate of change is proportional to the wave amplitude and frequency
dVdtA,f\frac{dV}{dt} \propto A,f

maxtdV(t)dt\underset t \max \frac{dV(t)}{dt} for V(t)=Asin(2πft)=A2πfV(t)=A \sin \left(2 \pi f t\right)=A 2\pi f
Let the full-scale voltage of the ADC be VFSV_{\rm FS}
Max A is VFS/2V_{\rm FS}/2
Therefore worst case is dV(t)dt=VFSπf\frac{dV(t)}{dt}=V_{FS} \pi f
Max error in this case is
ΔV=VFSπfΔt\Delta V=V_{\rm FS} \pi f\Delta t
To ensure ΔV<VLSB=VFS2N\Delta V \lt V_{\rm LSB}=\frac{V_{\rm FS}}{2^N},
Δt12Nπf\Delta t \frac{1}{2^N \pi f}
which is the allowed time jitter for a sample of a sine-wave input of frequency f to ensure that jitter-induced error is less than one VLSBV_{\rm LSB}

Enrichment: Dynamic Range

Dynamic Range:

Quantization Error

Other DACs

R-2-R Ladder DAC

Current-Output DACs

Direct Current DAC Architecture:

PWM-based DAC

A cheap DAC can be built using digital driver and a low-pass filter. The duty cycle of the digital signal sets the analog output level.

ADC

An analog-to-digital conversion (abbreviated ADC, A/D or A to D) is a process that converts a continuous quantity (continuous in time and possible values ) to a discrete-time, discrete value (digital) representation

Analog Waveform to Digital Waveform


Top-Left Images Courtesy Spinningspark at Wikipedia provided by Attribution-ShareAlike 3.0 Unported https://creativecommons.org/licenses/by-sa/3.0/, all images from Wikipedia

Common ADC Architectures

  1. Flash
  2. Pipelined
  3. Successive-Approximation
  4. Sigma-Delta

order here is generally trending towards slower and more accurate

Performance Metrics

ADC Differential and Pseudo-differential Input

ADC Sample-and-Hold

ADC Sample and Hold - Driving Sampling Capacitor and Track and Hold Input Buffer

For fast operation, a driver must be able to set the capacitor quickly and accurately. For fast settling a small RC is required, i.e. a low output resistance is required by the driver. For this purpose, the ADC datasheet may specify a maximum output impedance for the driver along with a minimum current drive ability.

Some ADCs include a internal "Track and Hold" buffer to drive the sample capacitance

Does our AVR Include a Track and Hold buffer?

Switch Leakage and Droop result in finite hold time

Clock and Charge Feedthrough

Turning off the switches introduces unwanted charge into the output node.
This can be observed by a "jump" in the signal at sample time.

Common Analog to Digital (ADC) Architectures

Flash Converter

Digital Ramp ADC

Tracking ADC

Integrating Reference Ramp ADC

Dual-Slope ADC

Pipelined and Algorithmic ADC

Pipelined-ADC

Algorithmic ADC

Pipelined:

Successive-Approximation ADC

(Binary Search ADC)

• slower than flash, takes several iterations
• accuracy determined by DAC & Comparator

Example: Low Power Successive-Approximation Charge Charge-Based ADC

Delta Converters

Sigma Delta ADC

Sigma Delta DAC

basically swap digital and analog parts

http://www.analog.com/static/imported-files/application_notes/292524291525717245054923680458171AN283.pdf

ADC of Atmega169P

10-bit Resolution

More Info: Characterization and Calibration of the ADC on an
AVR http://www.atmel.com/dyn/resources/prod_documents/doc2559.pdf

Sampling Rate

Nyquist Rate: Required Sampling Frequency

Undersampling and Aliasing

Here, two sinusoidal signals are sampled.
With only the samples provided, a system could not know which sinusoid produced the samples.

A higher sampling rate is required to distinguish these signals

Here, samples of sinusoid are no different than that from a DC signal:

In this next example, spatial aliasing is shown

Full-Scale:

Using every 8th pixel: aliasing creates appearance of wide structures on the right

Using every 16th pixel: lower fidelity of structure

Oversampling

In a Signal Processing Course, you can learn to model this in the frequency domain: