Latched Comparator

advertisement
EE247
Lecture 21
ADC Converters (continued)
– Comparator architecture examples
– Flash ADC sources of error
• Sparkle code
• Meta-stability
– Techniques to reduce flash ADC complexity
• Interpolating
• Folding
– Pipelined ADCs
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 1
Latched Comparator
fs
Vi+
Vi-
Av
Latch
Do+
Do-
Preamp
•
•
•
•
•
•
•
•
Clock rate fs
Resolution
Overload recovery
Input capacitance (and linearity!)
Power dissipation
Common-mode rejection
Kickback noise
…
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 2
Comparators Overdrive Recovery
Linear model for a single-pole amplifier:
UÆ amplification after time ta
During reset amplifier settles
exponentially to its zero input
condition with τ0=RC
Assume Vm Æ maximum input
normalized to 1/2lsb (=1)
EECS 247 Lecture 21: Data Converters
Example: Worst case input/output waveforms
Æ Limit output voltage swing by
1. Passive clamp
2. Active restore
3. Low gain/stage
© 2005 H.K. Page 3
Comparators Overdrive Recovery
Limiting Output
Clamp
Adds parasitic capacitance
EECS 247 Lecture 21: Data Converters
Active Restore
After outputs are latchedÆ Activate φR &
equalize output nodes
© 2005 H.K. Page 4
CMOS Comparator Example
•Flash ADC: 8bits, +-1/2LSB INL @ fs=15MHz (Vref=3.8V, LSB~15mV)
•No offset cancellation
Ref: A. Yukawa, “A CMOS 8-Bit High-Speed A/D Converter IC,” JSSC June 1985, pp. 775-9
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 5
Flash ADC
Comparator with Auto-Zero
Ref: I. Mehr and D. Dalton, “A 500-Msample/s, 6-Bit Nyquist-Rate ADC for Disk-Drive Read-Channel
Applications,” JSSC July 1999, pp. 912-20.
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 6
Flash ADC
Comparator with Auto-Zero
Voffset
VC + −VC − =
(VR e f + −VR e f − ) −VO ffs et
Ref: I. Mehr and D. Dalton, “A 500-Msample/s, 6-Bit Nyquist-Rate ADC for Disk-Drive Read-Channel
Applications,” JSSC July 1999, pp. 912-20.
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 7
Flash ADC
Comparator with Auto-Zero
Voffset
Vo
Vo = AP1 ∗ AP2 [(VIn+ −VIn− ) − (VC + − VC − ) − −VO f fs e t ]
Subs tituting for (VC + −VC − ) fr om pre v ious c yc le:
Vo = AP1 ∗ AP2 ⎡⎣(VIn+ −VIn− ) − (VRe f + −VRe f − )⎤⎦
Note: O ffse t is c a nc e lle d & differ enc e be twe e n
in p ut & re fe re nc e e st a b li sh e d
Ref: I. Mehr and D. Dalton, “A 500-Msample/s, 6-Bit Nyquist-Rate ADC for Disk-Drive Read-Channel
Applications,” JSSC July 1999, pp. 912-20.
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 8
Auto-Zero Implementation
Ref:I. Mehr and L. Singer, “A 55-mW, 10-bit, 40-Msample/s Nyquist-Rate CMOS ADC,” JSSC
March 2000, pp. 318-25
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 9
Comparator Example
• Used in a pipelined ADC with digital
correction
Æno offset cancellation required
• Note: Differential reference
• M7, M8 operate in triode region
• Preamp gain ~10
•Input buffers suppress kick-back
• φ1 high Æ Cs charged to VR & φ2B is
also high Æ current diverted to latch
φ2 highÆ Cs connected to S/Hout &
comparator input (VR-S/Hout), current
sent to preamp Æ comparator
operates
•
Ref: S. Lewis, et al., “A Pipelined 5-Msample/s 9-bit Analog-to-Digital Converter” IEEE JSSC ,NO.
6, Dec. 1987
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 10
Comparator Example
• Application: Pipelined ADC
with low resolution/stage
• Variation on Yukawa latch
used without preamp
Vo1
• Good for low resolution &
low accuracy ADCs
• During resetÆ φ is low
•
φ high Æ Comparison ….
Ref: T. B. Cho and P. R. Gray, "A 10 b, 20 Msample/s, 35 mW pipeline A/D converter," IEEE
Journal of Solid-State Circuits, vol. 30, pp. 166 - 172, March 1995
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 11
Comparator Example (continued)
• M1, M2, M11, M12 operate in triode
mode
• M11 & M12 added to control comparator
threshold
G1 =
G2 =
μCo x
L
μCo x
L
→ ΔG =
× ⎡⎣W1 (VI1 −Vth ) − W1 1 (VR − −Vth )⎤⎦
Vo2
× ⎣⎡W1 (VI 2 −Vth ) − W1 1 (VR + −Vt h )⎦⎤
μCox
L
× ⎡⎣W1 (VI1 −VI 2 ) − W1 1 (VR − −VR + )⎤⎦
• To 1st order, for W1= W2 & W11=W12
Vth
VVo1
o1
latch
G1
G2
= W11/W1 x VR
where VR = VR+ - VRÆ Eliminates need for resistive divider
Ref: T. B. Cho and P. R. Gray, "A 10 b, 20 Msample/s, 35 mW pipeline A/D converter," IEEE
Journal of Solid-State Circuits, vol. 30, pp. 166 - 172, March 1995
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 12
Bipolar Comparator Example
•Used in 8bit 400Ms/s & 6bit
2Gb/s flash ADC
•Signal amplification during
φ1 high, latch operates
when φ1 low
•Input buffers suppress kickback & input current
•Separate ground and
supply buses for front-end
preamp Æ kick-back noise
reduction
Preamp
Latched Comparator
Ref: Y. Akazawa, et al., "A 400MSPS 8b flash AD conversion LSI," IEEE International Solid-State Circuits
Conference, vol. XXX, pp. 98 - 99, February 1987
Ref: T. Wakimoto, et al, "Si bipolar 2GS/s 6b flash A/D conversion LSI," IEEE International Solid-State Circuits
Conference, vol. XXXI, pp. 232 - 233, February 1988
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 13
Flash Converter Sources of Error
VREF
VIN
fs
R/2
• Comparator input:
R
..
..
.
Encoder
R
Digital
Output
R
R
– Offset
– Nonlinear input capacitance
– Kickback noise (disturbs
reference)
– Signal dependent sampling
time
• Comparator output:
R/2
– Sparkle codes (… 111101000
…)
– Metastability
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 14
Typical Flash Output Encoder
Binary Output (negative)
VDD
b3
b2
b1
b0
0
0
b3 b2 b1 b0
OutputÆ 0 1 1 1
0
1
1
•
Thermometer
code Æ 1-of-n
decoding
•
Final encoding Æ
NOR ROM
0
1
0
1
Thermometer to Binary encoder ROM
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 15
Sparkle Codes
VDD
Erroneous 0
(comparator
offset?)
b3
b2
b1
b0
0
1
1
Correct Output:
1000
0
0
1
1
0
Erroneous
Output:
0000
1
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 16
Sparkle Tolerant Encoder
0
0
0
1
1
0
0
0
1
0
Protects against a single sparkle.
Ref: C. Mangelsdorf et al, “A 400-MHz Flash Converter with Error Correction,” JSSC February
1990, pp. 997-1002
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 17
Meta-Stability
Different gates interpret
metastable output X differently
0
0
0
1
X
1
1
0
Correct output:
1000
Erroneous output:
0000
Solutions:
–Latches (high power)
–Gray encoding
1
Ref: C. Portmann and T. Meng, “Power-Efficient Metastability Error Reduction in CMOS Flash
A/D Converters,” JSSC August 1996, pp. 1132-40
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 18
Gray Encoding
Thermometer Code
Gray
Binary
T1
T2
T3
T4
T5
T6
T7
G3
G2
G1
B3
B2
B1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
•
Each Ti affects only one Gi
Æ Avoids disagreement of interpretation by multiple gates
Protects also against sparkles
Follow Gray encoder by (latch and) binary encoder
•
•
EECS 247 Lecture 21: Data Converters
G1 = T1T3 + T5 T7
G2 = T2 T6
G3 = T4
© 2005 H.K. Page 19
Reducing Flash ADC Complexity
E.g. 10-bit “straight” flash
–
–
–
–
–
Input range: 0 … 1V
LSB = Δ: ~ 1mV
Comparators: 1023 with offset << LSB
Input capacitance: 1023 * 100fF = 102pF
Power: 1023 * 3mW = 3W
Techniques to reduce complexity & power dissipation :
–
–
–
–
Interpolation
Folding
Folding & Interpolation
Two-step, pipelining
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 20
Interpolation
• Idea
– Interpolation between preamp outputs
• Reduces number of preamps
– Reduced input capacitance
– Reduced area, power dissipation
• Same number of latches
• Important “side-benefit”
– Decreased sensitivity to preamp offset
Æ improved DNL
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 21
Preamp Output
Vin
A1
A1
A2
0.5
Preamp Output
0.4
A2
0.3
0.2
0.1
0
-0.1
Zero crossings (to be
detected by latches) at Vin =
-0.2
-0.3
-0.4
-0.5
0
0.5
1
1.5
Vin / Δ
2
2.5
EECS 247 Lecture 21: Data Converters
3
Vref1 = 1 Δ
Vref2 = 2 Δ
© 2005 H.K. Page 22
Simulink Model
Vin
1
Vin
Vi
A2
Preamp2
2*Delta
Vref2
2
Y
A1
Preamp1
1*Delta
Vref1
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 23
Preamp Output
Differential Preamp Output
0.6
0.4
0.2
0
-0.2
-0.4
A1
-A1
A2
-A 2
0
0.5
1
1.5
2
0.6
0.4
0.2
0
-0.2
-0.4
2.5
Zero crossings at Vin =
3
A1+A2
A1+A2
0
0.5
1
1.5
Vin / Δ
2
EECS 247 Lecture 21: Data Converters
2.5
Vref1 = 1 Δ
Vref12 = 0.5*(1+2) Δ
Vref2 = 2 Δ
3
© 2005 H.K. Page 24
Interpolation in Flash ADC
Vin
A1
Half as many reference
voltages and preamps
Interpolation factor:x2
A2
Possible to accomplish
higher interpolation factor
Æ Resistive interpolation
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 25
Resistive Interpolation
• Resistors produce
additional levels
• With 4 resistors,
the “interpolation
factor” M=8
(ratio of
latches/preamps)
Ref: H. Kimura et al, “A
10-b 300-MHz
Interpolated-Parallel
A/D Converter,”
JSSC April 1993, pp.
438-446
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 26
DNL Improvement
• Preamp offset distributed over
M resistively interpolated
voltages:
Æ impact on DNL divided by
M
• Latch offset divided by gain of
preamp
Æ use “large” preamp gain …
Ref: H. Kimura et al, “A
10-b 300-MHz
Interpolated-Parallel
A/D Converter,”
JSSC April 1993, pp.
438-446
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 27
Preamp Output
Preamp Input Range
0.6
0.4
0.2
0
-0.2
-0.4
A1
-A1
A2
-A2
0
0.5
1
1.5
2
2.5
0.6
0.4
0.2
0
-0.2
-0.4
3
A1+A2
A1 +A2
0
0.5
1
1.5
Vin / Δ
2
2.5
EECS 247 Lecture 21: Data Converters
Linear preamp input ranges
must overlap
i.e. range > Δ
Sets upper bound on preamp
gain << VDD / Δ
3
© 2005 H.K. Page 28
Interpolated-Parallel ADC
10-bit overall resolution:
Æ7-bit flash (127
comparators and 128
resistors) & x8
interpolation
Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp.
438-446
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 29
Measured Performance
(7+3)
Low input
capacitance
Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp.
438-446
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 30
Folding Converter
MSB
ADC
VIN
Digital
Output
LSB
ADC
Folding Circuit
• Significantly fewer comparators than flash ~2B/2+1
• Fast
• Nonidealities in folder limit resolution to ~10Bits
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 31
Folding
• Folder maps input to
smaller range
• MSB ADC determines
which fold input is in
• LSB ADC determines
position within fold
Folder Output
1.2
0.8
LSB
ADC
0.4
0
0
• Logic circuit combines
LSB and MSB results
0.5 1
1.5 2
2.5 3
Normalized Input
3.5 4
MSB ADC
Analog Input
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 32
Generating Folds
A1-A2
A1
0.5
0
-0.5
0
0
-0.5
A1-A2+A3
-0.5
A1-A2
0
0.5
A3
A2
0.5
1
0.5
0.5
0
1
0.5
0
0.5
1
1.5
2
Vin / Δ
2.5
3
3.5
0
-0.5
4
0
0.5
1
1.5
2
Vin / Δ
EECS 247 Lecture 21: Data Converters
2.5
3
3.5
4
© 2005 H.K. Page 33
Folding Circuit
VDD
R1
R2
-Vo+
M1
M2
Vref1
M3
I1
M4
I2
Vref2
M5
M6
Vref3
M7
M8
Vref4
I4
I3
Vin
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 34
Folder Output
CMOS Folder Output
0.5
Ideal
Folder
0
-0.5
Accurate only at
zero-crossings
CMOS
Folder
0
0.5
1
1.5
0.5
1
1.5
2
2.5
3
3.5
4
2
2.5
3
3.5
4
0.1
Error
0.05
0
-0.05
-0.1
0
Lowdown Æ
In fact, most folding
ADCs do not use the
folds, but only the
zero-crossings!
Vin /Δ
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 35
Parallel Folders
Folder 4
Fine Flash
ADC 4
Vref + 3/4 * Δ
Folder 3
Fine Flash
ADC 3
Vref + 2/4 *Δ
Folder 2
Logic
Fine Flash
ADC 2
Vref + 1/4 *Δ
Folder 1
Fine Flash
ADC 1
Vref + 0/4 *Δ
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 36
Parallel Folder Outputs
0.5
F1
F2
F3
F4
0.4
0.3
• 4 Folders with 4 folds
each
• 16 Zero crossings
• Æ only 4 LSB bits
Folder Output
0.2
0.1
0
-0.1
• Better resolution
• More folders
-0.2
-0.3
Æ Large complexity
-0.4
-0.5
0
1
2
3
4
5
• Interpolation
Vin / Δ
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 37
Folding & Interpolation
Folder 4
Vref + 3/4 * Δ
Folder 3
Vref + 2/4 *Δ
Folder 2
Vref + 1/4 *Δ
Fine
Flash
ADC
E
N
C
O
D
E
R
Folder 1
Vref + 0/4 *Δ
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 38
Folder / Interpolator Output
Folder / Interpolator Output
0.5
F1
F2
I1
I2
I3
0.4
0.3
0.04
0.2
0.02
0.1
0
0
-0.02
-0.1
1.5
-0.2
1.6
1.7
1.8
-0.3
-0.4
-0.5
0
1
2
3
Vin / Δ
4
5
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 39
Folder / Interpolator Output
Folder / Interpolator Output
0.5
0.06
F1
F2
I1
I2
I3
0.4
0.3
0.04
0.02
0
0.2
-0.02
0.1
-0.04
0
-0.06
1.5 1.6 1.7 1.8 1.9
-0.1
2
2.1
-0.2
-0.3
-0.4
-0.5
0
1
2
3
Vin / Δ
EECS 247 Lecture 21: Data Converters
4
5
Interpolate only
between closely
spaced folds to avoid
nonlinear distortion
© 2005 H.K. Page 40
A 70-MS/s 110-mW 8-b CMOS Folding
and Interpolating A/D Converter
Ref: B. Nauta and G. Venes, JSSC Dec 1985, pp. 1302-8
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 41
A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 42
A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 43
Pipelined ADCs
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 44
Pipelined A/D Converters
• Ideal operation
• Errors and correction
– Redundancy
– Digital calibration
• Implementation
– Practical circuits
– Stage scaling
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 45
Block Diagram
Vin
Stage 1
B1 Bits
Vres1
Stage 2
B2 Bits
Vres2
MSB...
Stage k
Bk Bits
...LSB
Align and Combine Data
Digital output
(B1 + B2 + ... + Bk) Bits
• Idea: Cascade several low resolution stages to obtain
high overall resolution
• Each stage performs coarse A/D conversion and
computes its quantization error, or "residue"
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 46
Characteristics
• Number of components (stages) grows
linearly with resolution
• Pipelining
– Trading latency for conversion speed
– Latency may be an issue in e.g. control systems
– Throughput limited by speed of one stage → Fast
• Versatile: 8...16bits, 1...200MS/s
• Many analog circuit non-idealities can
be corrected digitally
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 47
Concurrent Stage Operation
φ1
φ2
Vin
CLK
acquire
convert
convert
acquire
Stage 1
B1 Bits
Stage 2
B2 Bits
...
...
Stage k
Bk Bits
φ1
φ2
Align and Combine Data
Digital output
(B1 + B2 + ... + Bk) Bits
• Stages operate on the input signal like a shift register
• New output data every clock cycle, but each stage
introduces at least ½ clock cycle latency
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 48
Data Alignment
φ1
φ2
Vin
CLK
acquire
convert
convert
acquire
Stage 1
B1 Bits
Stage 2
B2 Bits
...
...
Stage k
Bk Bits
φ1
φ2
+
CLK
Dout
+
CLK
CLK
• Digital shift register aligns sub-conversion
results in time
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 49
Latency
[Analog Devices, AD 9226 Data Sheet]
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 50
Pipelined ADC Analysis
• Ignore timing and use simple static model
Vin
Stage 1
B1 Bits
Vres1
Stage 2
B2 Bits
Vres2
+
Stage k
Bk Bits
Dout
+
• Let's first look at "two-stage pipeline"
– E.g.: Two cascaded 2-bit ADCs to get 4 bits of
total resolution
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 51
Two Stage Example
11
2-bit ADC
Vin
Vin
10
Dout
2-bit ADC
01
00
0
???
[LSB]
Dout = Vin+ εq1
2
3
0.5
εq1
+
1
1
0
-0.5
-1
0 1 2 3
ADC Input Voltage [LSB]
•
•
•
Using only one ADC: output contains large quantization error
"Missing voltage" or "residue" (-εq1)
Idea: Use second ADC to quantize and add -εq1
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 52
Two Stage Example
2-bit ADC
Vin
2-bit DAC
“Coarse“
-
+
-εq1
2-bit ADC
“Fine“
-εq1 + εq2
+
Dout= Vin + ε
ε
-ε
+
q1 q1 q2
• Use DAC to compute missing voltage
• Add quantized representation of missing voltage
• Why does this help? How about εq2 ?
EECS 247 Lecture 21: Data Converters
© 2005 H.K. Page 53
Two Stage Example
−εq1
11
V
ref1
10
/22
Vref1 Vin
V
01
ref2
Second ADC
“Fine“
00
00
01
10
11
First ADC
“Coarse“
• Fine ADC is re-used 22 times
• Fine ADC's full scale range needs to span only 1 LSB of coarse
quantizer
V
V
ε q2 =
EECS 247 Lecture 21: Data Converters
ref 2
2
2
=
ref 1
2 ⋅ 22
2
© 2005 H.K. Page 54
Two Stage Pipelined ADC Transfer Function
Dout
1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000
Coarse
Bits
(MSB)
Fine
Bits
(LSB)
EECS 247 Lecture 21: Data Converters
Vref1
Vin
© 2005 H.K. Page 55
Download