ESE 568: Mixed Signal Design and Modeling Data Converter Testing
ESE 568: Mixed Signal Design and Modeling Data Converter Testing
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 3 EE315B, Stanford 4
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 5 EE315B, Stanford 6
1
Code Boundary Servo Code Boundary Servo
! A very good digital voltmeter (DVM) measures the
analog input voltage corresponding to the desired
code boundary
! DVMs have some interesting properties
" They can have very high resolutions (8½ decimal digit
meters are inexpensive)
" To achieve stable readings, DVMs average voltage
measurements over multiple 60Hz ac line cycles to filter
out pickup in the measurement loop
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 7 EE315B, Stanford 8
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 9 EE315B, Stanford 10
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 11 EE315B, Stanford 12
2
Histogram Testing Histogram Test Setup
! Code boundary measurements are slow
" Long testing time
! Histogram testing
" Apply input with known pdf (e.g. ramp or sinusoid) &
quantize
" Measure output pdf
" Derive INL and DNL from deviation of measured pdf
from expected result ! Slow (relative to conversion time) linear ramp applied to
ADC
! DNL derived directly from total number of occurrences of
each code @ the output of the ADC
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 13 EE315B, Stanford 14
A/D Histogram Test Using Ramp Signal A/D Histogram Test Using Ramp Signal
! Example: ! Example:
" ADC sampling " ADC sampling
rate: fs=100kHz # rate: fs=100kHz #
Ts=10us Ts=10us
" 1LSB =10mV " 1LSB =10mV
" For 0.01LSB " For 0.01LSB
measurement resolution: measurement resolution:
" # n=100 samples/code " # n=100 samples/code
" # Ramp duration per " # Ramp duration per
code=100x10us=1ms code=100x10us=1ms
" # Ramp slope: 10mV/ms " # Ramp slope: 10mV/ms
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 15 EE315B, Stanford 16
Ramp Histogram Example: Ideal 3-bit ADC Ramp Histogram Example: Real 3-bit ADC
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 17 EE315B, Stanford 18
3
DNL from Histogram DNL from Histogram
! 3- Normalize:
" Divide histogram by average
! 1- Remove “Over-range count/bin
bins” (0 and full-scale) " # ideal bins have exactly
the average count, which,
! 2- Compute average count/ after normalization, would be 1
bin (600/6=100 in this case) " # Non-ideal bins would
have a normalized value greater
or smaller than 1
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 19 EE315B, Stanford 20
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 21 EE315B, Stanford 22
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 23 EE315B, Stanford 24
4
Histogram Testing: Sinusoidal Input ADC Histogram Test Using Sinusoidal Signals
! Ramp signal generators
linear to only 8 to10bits &
thus only good for testing
ADCs <10bit res
" #Need to find input
signal with better purity for
testing higher res. ADCs
! Solution: Use sinusoidal test
signal (may need to filter
out harmonics)
" Problem: Ideal
ADC histogram not flat but has
“bath-tub shape”
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 25 EE315B, Stanford 26
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 27 EE315B, Stanford 28
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 29 EE315B, Stanford 30
5
Why Additional Tests/Metrics? DAC Spectral Test or Simulation
! Static testing does not tell the full story
" E.g. no info about "noise“ or high frequency effects
! Frequency dependence (fs and fin) ?
" In principle we can vary fs and fin when
performing histogram tests
" Result of such sweeps is usually not very useful
" Hard to separate error sources, ambiguity
" Typically we use fs=fsNOM and fin << fs/2 for histogram
! Input sinusoid # Need to have significantly better purity compared
tests (Static metrics) to DAC linearity
! For additional info regarding higher ! Spectrum analyzer need to have better linearity than DUT
frequency operation # Spectral testing ! Typically, test performed at several different input signal frequencies
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 31 EE315B, Stanford 32
! Need DAC with much better performance compared to ADC under test ! Issues to beware of:
! Beware of DAC output sinx/x frequency shaping " Linearity of the signal generator output has to be much better than ADC linearity
" Spectrum analyzer nonlinearities
! Good way to "get started"... " #May need to build/purchase filters to address one or both above problems
" Clock generator signal jitter
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 33 EE315B, Stanford 34
Filtering ADC Input Signal ADC Spectral Test via Data Acquisition System
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 35 EE315B, Stanford 36
6
Analyzing ADC Outputs via DFT DFT Properties
! DFT of N samples spaced Ts=1/fs seconds:
" N frequency bins from DC to fs
" Num of bins # N & each bin has width= fs/N
" Bin # m represents frequencies at m * fs/N [Hz]
! DFT frequency resolution:
" Proportional to fs/N in [Hz/bin]
! Sinusoidal waveform has all its power at one single frequency " DFT with N = 2k (k is an integer) can be found using
! An ideal, infinite resolution ADC would preserve ideal, single a computationally more efficient algorithm named:
tone spectrum " FFT # Fast Fourier Transform
! DFT (Discrete Fourier Transform) used as a vehicle to reveal
ADC deviations from ideality
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 37 EE315B, Stanford 38
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 39 EE315B, Stanford 40
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 41 EE315B, Stanford 42
7
Frequency Spectrum Choice of Number of Cycles & Samples
! To overcome frequency
spectrum leakage problem:
" Number of Cycles # integer
" N/cycles = fs/fx # non-
integer (choose prime # of
cycles) otherwise quant. Noise
# periodic and non-random
" Preferable to have N: # power
of 2 (FFT instead of DFT)
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 43 EE315B, Stanford 44
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 45 EE315B, Stanford 46
8
Windowed Data Nuttall Window DFT
! Only first 20 bins shown
! Signal before windowing ! Response attenuated by
-120dB for bins > 5
! Time samples are multiplied ! Lots of windows to choose
by window coefficients on a from (go by name of
sample-by-sample basis inventor Blackman, Harris,
Nutall…)
! Signal after windowing ! Various window trade-off
" Windowing removes the attenuation versus width
discontinuity at block (smearing of sinusoids)
boundaries
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 49 EE315B, Stanford 50
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 51 EE315B, Stanford 52
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 53 EE315B, Stanford 54
9
ADC Output Spectrum ADC Output Spectrum
! Noise bins: all except signal bin
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 55 EE315B, Stanford 56
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 57 EE315B, Stanford 58
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 59 EE315B, Stanford 60
10
Spectral Performance Metrics Spectral Performance Metrics
! Signal S ! Signal S
! DC ! DC
! Distortion D ! Distortion D
! Noise N ! Noise N
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 61 EE315B, Stanford 62
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 63 EE315B, Stanford 64
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 65 EE315B, Stanford 66
11
Relationship INL & SFDR/SNDR SNR Degradation due to DNL
! Nature of harmonics depend on "shape" of INL
curve
! Rule of Thumb: SFDR ≅ 20log(2B/INL)
" E.g. 1LSB INL, 10b # SFDR ≅ 60dB
! Beware, this is of course only true under the same
conditions at which the INL was taken, i.e. typically
low input signal frequency
! Uniform quantization error pdf was assumed for ideal
quantizer over the range of: +/- Δ/2
! Let's now add uniform DNL over +/- Δ/2 and repeat
math...
" Joint pdf for two uniform pdfs # Triangular shape
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 67 EE315B, Stanford 68
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 69 EE315B, Stanford 70
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 71 EE315B, Stanford 72
12
Summary Effective Number of Bits (ENOB)
! Is a 12-Bit converter with 68dB SNDR really a 12-Bit
converter?
! Effective Number of Bits (ENOB)## of bit of an ideal
ADC with the same SQNR as the SNDR of the nonideal
ADC
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 73 EE315B, Stanford 74
Penn ESE 568 Fall 2017 - Khanna adapted from Murmann Penn ESE 568 Fall 2017 - Khanna adapted from Murmann
EE315B, Stanford 75 EE315B, Stanford 76
13