Sei sulla pagina 1di 159

Digital-to-Analog and Analog-to-Digital Converters

M. B. Patil
mbpatil@ee.iitb.ac.in
www.ee.iitb.ac.in/~sequel

Department of Electrical Engineering


Indian Institute of Technology Bombay

M. B. Patil, IIT Bombay


Introduction

M. B. Patil, IIT Bombay


Introduction

* Real signals (e.g., a voltage measured with a thermocouple or a speech signal recorded with a microphone)
are analog quantities, varying continuously with time.

M. B. Patil, IIT Bombay


Introduction

* Real signals (e.g., a voltage measured with a thermocouple or a speech signal recorded with a microphone)
are analog quantities, varying continuously with time.
* Digital format offers several advantages: digital signal processing, storage, use of computers, robust
transmission, etc.

M. B. Patil, IIT Bombay


Introduction

* Real signals (e.g., a voltage measured with a thermocouple or a speech signal recorded with a microphone)
are analog quantities, varying continuously with time.
* Digital format offers several advantages: digital signal processing, storage, use of computers, robust
transmission, etc.
* An ADC (Analog-to-Digital Converter) is used to convert an analog signal to the digital format.

M. B. Patil, IIT Bombay


Introduction

* Real signals (e.g., a voltage measured with a thermocouple or a speech signal recorded with a microphone)
are analog quantities, varying continuously with time.
* Digital format offers several advantages: digital signal processing, storage, use of computers, robust
transmission, etc.
* An ADC (Analog-to-Digital Converter) is used to convert an analog signal to the digital format.
* The reverse conversion (from digital to analog) is also required. For example, music stored in a DVD in
digital format must be converted to an analog voltage for playing out on a speaker.

M. B. Patil, IIT Bombay


Introduction

* Real signals (e.g., a voltage measured with a thermocouple or a speech signal recorded with a microphone)
are analog quantities, varying continuously with time.
* Digital format offers several advantages: digital signal processing, storage, use of computers, robust
transmission, etc.
* An ADC (Analog-to-Digital Converter) is used to convert an analog signal to the digital format.
* The reverse conversion (from digital to analog) is also required. For example, music stored in a DVD in
digital format must be converted to an analog voltage for playing out on a speaker.
* A DAC (Digital-to-Analog Converter) is used to convert a digital signal to the analog format.

M. B. Patil, IIT Bombay


DAC

VR

DN−1

N-bit analog
digital DAC VA
output
input
D2
D1
D0

ground
DAC

VR

DN−1

N-bit analog
digital DAC VA
output
input
D2
D1
D0

ground

* For a 4-bit DAC, with input S3 S2 S1 S0 , the output voltage is


VA = K (S3 × 23 ) + (S2 × 22 ) + (S1 × 21 ) + (S0 × 20 ) .
 
PN−1
In general, VA = K 0 Sk 2k .
DAC
VA
N=4
VR
maximum
output
DN−1 voltage

N-bit analog
digital DAC VA
output
input
D2
resolution
D1
D0

ground

digital
input

0000

0001

0010
0011

0100

0101
0110

0111
1000

1001

1010

1011

1100
1101

1110

1111
* For a 4-bit DAC, with input S3 S2 S1 S0 , the output voltage is
VA = K (S3 × 23 ) + (S2 × 22 ) + (S1 × 21 ) + (S0 × 20 ) .
 
PN−1
In general, VA = K 0 Sk 2k .
DAC
VA
N=4
VR
maximum
output
DN−1 voltage

N-bit analog
digital DAC VA
output
input
D2
resolution
D1
D0

ground

digital
input

0000

0001

0010
0011

0100

0101
0110

0111
1000

1001

1010

1011

1100
1101

1110

1111
* For a 4-bit DAC, with input S3 S2 S1 S0 , the output voltage is
VA = K (S3 × 23 ) + (S2 × 22 ) + (S1 × 21 ) + (S0 × 20 ) .
 
PN−1
In general, VA = K 0 Sk 2k .
* K is proportional to the reference voltage VR . Its value depends on how the DAC is implemented.
M. B. Patil, IIT Bombay
DAC using binary-weighted resistors

A3 I3 A3 I3
VR
Inputs: S3 , S2 , S1 , S0 S3 VR
R3 = R R3 = R
Output: VA
A2 I2 A2 I2
S2 VR
R2 = 2 R R2 = 2 R
A1 I1 A1 I1
Rf S1 VR Rf
R1 = 4 R R1 = 4 R
A0 I0 I A0 I0 I
S0 VR
R0 = 8 R R0 = 8 R
VA VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors

A3 I3 A3 I3
VR
Inputs: S3 , S2 , S1 , S0 S3 VR
R3 = R R3 = R
Output: VA
A2 I2 A2 I2
S2 VR
R2 = 2 R R2 = 2 R
A1 I1 A1 I1
Rf S1 VR Rf
R1 = 4 R R1 = 4 R
A0 I0 I A0 I0 I
S0 VR
R0 = 8 R R0 = 8 R
VA VA

* If the input bit Sk is 1, Ak gets connected to VR ; else, it gets connected to ground.

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors

A3 I3 A3 I3
VR
Inputs: S3 , S2 , S1 , S0 S3 VR
R3 = R R3 = R
Output: VA
A2 I2 A2 I2
S2 VR
R2 = 2 R R2 = 2 R
A1 I1 A1 I1
Rf S1 VR Rf
R1 = 4 R R1 = 4 R
A0 I0 I A0 I0 I
S0 VR
R0 = 8 R R0 = 8 R
VA VA

* If the input bit Sk is 1, Ak gets connected to VR ; else, it gets connected to ground. → V (Ak ) = Sk × VR .

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors

A3 I3 A3 I3
VR
Inputs: S3 , S2 , S1 , S0 S3 VR
R3 = R R3 = R
Output: VA
A2 I2 A2 I2
S2 VR
R2 = 2 R R2 = 2 R
A1 I1 A1 I1
Rf S1 VR Rf
R1 = 4 R R1 = 4 R
A0 I0 I A0 I0 I
S0 VR
R0 = 8 R R0 = 8 R
VA VA

* If the input bit Sk is 1, Ak gets connected to VR ; else, it gets connected to ground. → V (Ak ) = Sk × VR .
V (Ak ) − 0 Sk VR
* Since the inverting terminal of the op-amp is at virtual ground, Ik = = .
Rk Rk

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors

A3 I3 A3 I3
VR
Inputs: S3 , S2 , S1 , S0 S3 VR
R3 = R R3 = R
Output: VA
A2 I2 A2 I2
S2 VR
R2 = 2 R R2 = 2 R
A1 I1 A1 I1
Rf S1 VR Rf
R1 = 4 R R1 = 4 R
A0 I0 I A0 I0 I
S0 VR
R0 = 8 R R0 = 8 R
VA VA

* If the input bit Sk is 1, Ak gets connected to VR ; else, it gets connected to ground. → V (Ak ) = Sk × VR .
V (Ak ) − 0 Sk VR
* Since the inverting terminal of the op-amp is at virtual ground, Ik = = .
Rk Rk
N−1
S0 VR S1 VR S2 VR S3 VR VR X k
* I = + + + = N−1 Sk × 2 (N = 4).
8R 4R 2R R 2 R 0

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors

A3 I3 A3 I3
VR
Inputs: S3 , S2 , S1 , S0 S3 VR
R3 = R R3 = R
Output: VA
A2 I2 A2 I2
S2 VR
R2 = 2 R R2 = 2 R
A1 I1 A1 I1
Rf S1 VR Rf
R1 = 4 R R1 = 4 R
A0 I0 I A0 I0 I
S0 VR
R0 = 8 R R0 = 8 R
VA VA

* If the input bit Sk is 1, Ak gets connected to VR ; else, it gets connected to ground. → V (Ak ) = Sk × VR .
V (Ak ) − 0 Sk VR
* Since the inverting terminal of the op-amp is at virtual ground, Ik = = .
Rk Rk
N−1
S0 VR S1 VR S2 VR S3 VR VR X k
* I = + + + = N−1 Sk × 2 (N = 4).
8R 4R 2R R 2 R 0
N−1
Rf X k
* The output voltage is Vo = −Rf I = −VR Sk × 2 .
2N−1 R 0

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Consider an 8-bit DAC with VR = 5 V. What is the smallest value of R which will limit the current drawn from the supply
(VR ) to 10 mA?

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Consider an 8-bit DAC with VR = 5 V. What is the smallest value of R which will limit the current drawn from the supply
(VR ) to 10 mA?
Maximum current is drawn from VR when the input is 1111 1111.

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Consider an 8-bit DAC with VR = 5 V. What is the smallest value of R which will limit the current drawn from the supply
(VR ) to 10 mA?
Maximum current is drawn from VR when the input is 1111 1111.
→ All nodes A0 to A7 get connected to VR .

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Consider an 8-bit DAC with VR = 5 V. What is the smallest value of R which will limit the current drawn from the supply
(VR ) to 10 mA?
Maximum current is drawn from VR when the input is 1111 1111.
→ All nodes A0 to A7 get connected to VR .
VR VR VR 1 VR  0 1 7

→ 10 mA = + + ··· + 7 = 7 2 + 2 + ··· + 2
R 2R 2 R 2 R
1 VR  8  255 VR
= 7 2 −1 =
2 R 128 R

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Consider an 8-bit DAC with VR = 5 V. What is the smallest value of R which will limit the current drawn from the supply
(VR ) to 10 mA?
Maximum current is drawn from VR when the input is 1111 1111.
→ All nodes A0 to A7 get connected to VR .
VR VR VR 1 VR  0 1 7

→ 10 mA = + + ··· + 7 = 7 2 + 2 + ··· + 2
R 2R 2 R 2 R
1 VR  8  255 VR 5V 255
= 7 2 −1 = → Rmin = × = 996 Ω .
2 R 128 R 10 mA 128

(Ref.: K. Gopalan, Introduction to Digital Microelectronic Circuits, Tata McGraw-Hill, New Delhi, 1998)
M. B. Patil, IIT Bombay
DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If Rf = R, what is the resolution (i.e., ∆VA corresponding to the input LSB changing from 0 to 1 with other input bits
constant)?

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If Rf = R, what is the resolution (i.e., ∆VA corresponding to the input LSB changing from 0 to 1 with other input bits
constant)?
Rf h
7 1 0
i
VA = −VR N−1 S7 2 + · · · + S1 2 + S0 2
2 R

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If Rf = R, what is the resolution (i.e., ∆VA corresponding to the input LSB changing from 0 to 1 with other input bits
constant)?
Rf h
7 1 0
i
VA = −VR N−1 S7 2 + · · · + S1 2 + S0 2
2 R
VR Rf 5V 5
→ ∆VA = N−1 = 8−1 × 1 = = 0.0391 V.
2 R 2 128

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* What is the maximum output voltage (in magnitude)?

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* What is the maximum output voltage (in magnitude)?


VR Rf h 7 1 0
i
VA = − N−1 S7 2 + · · · + S1 2 + S0 2 .
2 R

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* What is the maximum output voltage (in magnitude)?


VR Rf h 7 1 0
i
VA = − N−1 S7 2 + · · · + S1 2 + S0 2 .
2 R
Maximum VA (in magnitude) is obtained when the input is 1111 1111.

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* What is the maximum output voltage (in magnitude)?


VR Rf h 7 1 0
i
VA = − N−1 S7 2 + · · · + S1 2 + S0 2 .
2 R
Maximum VA (in magnitude) is obtained when the input is 1111 1111.
5 h
0 1 7
i 5 
8
 255
|VA |max = × 1 × 2 + 2 + ··· + 2 = × 2 −1 =5× = 9.961 V .
128 128 128

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Find the output voltage corresponding to the input 1010 1101.

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Find the output voltage corresponding to the input 1010 1101.


VR Rf h 7 1 0
i
VA = − N−1 S7 2 + · · · + S1 2 + S0 2 .
2 R

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* Find the output voltage corresponding to the input 1010 1101.


VR Rf h 7 1 0
i
VA = − N−1 S7 2 + · · · + S1 2 + S0 2 .
2 R
5 h
7 5 3 2 0
i 173
=− × 1 × 2 + 2 + 2 + 2 + 2 = −5 × = −6.758 V .
128 128

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If the resistors are specified to have a tolerance of 1 %, what is the range of |VA | corresponding to input 1111 1111?

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If the resistors are specified to have a tolerance of 1 %, what is the range of |VA | corresponding to input 1111 1111?
|VA | is maximum when (a) currents I0 , I1 , etc. assume their maximum values, with Rk = Rk0 × (1 − 0.01) and (b) Rf is
maximum, Rf = Rf0 × (1 + 0.01).
(The superscript ‘0’ denotes nominal value.)

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If the resistors are specified to have a tolerance of 1 %, what is the range of |VA | corresponding to input 1111 1111?
|VA | is maximum when (a) currents I0 , I1 , etc. assume their maximum values, with Rk = Rk0 × (1 − 0.01) and (b) Rf is
maximum, Rf = Rf0 × (1 + 0.01).
(The superscript ‘0’ denotes nominal value.)
255 Rf max 255 1.01
→ |VA |max
11111111 = VR × × =5× × = 10.162 V.
128 R 128 0.99

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* If the resistors are specified to have a tolerance of 1 %, what is the range of |VA | corresponding to input 1111 1111?
|VA | is maximum when (a) currents I0 , I1 , etc. assume their maximum values, with Rk = Rk0 × (1 − 0.01) and (b) Rf is
maximum, Rf = Rf0 × (1 + 0.01).
(The superscript ‘0’ denotes nominal value.)
255 Rf max 255 1.01
→ |VA |max
11111111 = VR × × =5× × = 10.162 V.
128 R 128 0.99
255 0.99
Similarly, |VA |min
11111111 = 5 × × = 9.764 V.
128 1.01

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* ∆VA for input 1111 1111 = 10.162 − 9.764 ≈ 0.4 V which is larger than the resolution (0.039 V) of the DAC. This
situation is not acceptable.

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* ∆VA for input 1111 1111 = 10.162 − 9.764 ≈ 0.4 V which is larger than the resolution (0.039 V) of the DAC. This
situation is not acceptable.
* The output voltage variation can be reduced by using resistors with a smaller tolerance. However, it is difficult to
fabricate an IC with widely varying resistance values (from R to 2N−1 R) and each with a small enough tolerance.

M. B. Patil, IIT Bombay


DAC using binary-weighted resistors: Example (from Gopalan)

A7 I7
VR
R7 = R

A1 I1
Rf
6
R1 = 2 R
A0 I0 I
7
R0 = 2 R
VA

* ∆VA for input 1111 1111 = 10.162 − 9.764 ≈ 0.4 V which is larger than the resolution (0.039 V) of the DAC. This
situation is not acceptable.
* The output voltage variation can be reduced by using resistors with a smaller tolerance. However, it is difficult to
fabricate an IC with widely varying resistance values (from R to 2N−1 R) and each with a small enough tolerance.
→ use R − 2R ladder network instead.

M. B. Patil, IIT Bombay


R-2R ladder network

R R R

2R 2R 2R 2R 2R

A0 A1 A2 A3
LSB MSB

Node Ak is connected to VR if input bit Sk is 1;


else, it is connected to ground.
R-2R ladder network

R R R

2R 2R 2R 2R 2R

A0 A1 A2 A3
LSB MSB

Node Ak is connected to VR if input bit Sk is 1;


else, it is connected to ground.
The original network is equivalent to
R R R

2R 2R 2R 2R 2R

S 0 VR S1 VR S2 VR S3 VR

M. B. Patil, IIT Bombay


R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R

R R
R 2R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R

R R
R 2R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R

R R
R 2R 2R

R
R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R

R R
R 2R 2R

R
R 2R
R-2R ladder network: Thevenin resistance

R R R
2R 2R 2R 2R 2R

R R R
R 2R 2R 2R

R R
R 2R 2R

R
R 2R RTh = R

M. B. Patil, IIT Bombay


R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2

R R

R 2R 2R

VR
4
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2

R R

R 2R 2R

VR
4
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2

R R

R 2R 2R

VR
4

R 2R

VR
8
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2

R R

R 2R 2R

VR
4

R 2R

VR
8
R-2R ladder network: R R R

VTh for S0 = 1 2R 2R 2R 2R 2R

VR

R R R

R 2R 2R 2R

VR
2

R R

R 2R 2R

VR
4

R 2R
VR
VTh =
VR 16
8

M. B. Patil, IIT Bombay


R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR

R R

R 2R 2R

VR
2
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR

R R

R 2R 2R

VR
2
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR

R R

R 2R 2R

VR
2

R 2R

VR
4
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR

R R

R 2R 2R

VR
2

R 2R

VR
4
R-2R ladder network: R R R

VTh for S1 = 1 2R 2R 2R 2R 2R

VR

R R

2R 2R 2R 2R

VR

R R

R 2R 2R

VR
2

R 2R
VR
VTh =
VR 8
4

M. B. Patil, IIT Bombay


R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR

2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR

2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR

2R 2R 2R

VR

R 2R

VR
2
R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR

2R 2R 2R

VR

R 2R

VR
2
R-2R ladder network: R R R

VTh for S2 = 1 2R 2R 2R 2R 2R

VR

2R 2R 2R

VR

R 2R
VR
VTh =
VR 4
2

M. B. Patil, IIT Bombay


R-2R ladder network: R R R

VTh for S3 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S3 = 1 2R 2R 2R 2R 2R

VR
R-2R ladder network: R R R

VTh for S3 = 1 2R 2R 2R 2R 2R

VR

2R 2R

VR
R-2R ladder network: R R R

VTh for S3 = 1 2R 2R 2R 2R 2R

VR

2R 2R
VR
VTh =
2
VR

M. B. Patil, IIT Bombay


R-2R ladder network: RTh and VTh

R R R

2R 2R 2R 2R 2R RTh

VTh
S0 VR S1 VR S2 VR S3 VR

M. B. Patil, IIT Bombay


R-2R ladder network: RTh and VTh

R R R

2R 2R 2R 2R 2R RTh

VTh
S0 VR S1 VR S2 VR S3 VR

* RTh = R .

M. B. Patil, IIT Bombay


R-2R ladder network: RTh and VTh

R R R

2R 2R 2R 2R 2R RTh

VTh
S0 VR S1 VR S2 VR S3 VR

* RTh = R .
(S0) (S1) (S2) (S3)
* VTh = VTh + VTh + VTh + VTh
VR h
0 1 2 3
i
= S0 2 + S1 2 + S2 2 + S3 2 .
16

M. B. Patil, IIT Bombay


R-2R ladder network: RTh and VTh

R R R

2R 2R 2R 2R 2R RTh

VTh
S0 VR S1 VR S2 VR S3 VR

* RTh = R .
(S0) (S1) (S2) (S3)
* VTh = VTh + VTh + VTh + VTh
VR h
0 1 2 3
i
= S0 2 + S1 2 + S2 2 + S3 2 .
16
* We can use the R-2R ladder network and an op-amp
to make up a DAC → next slide.

M. B. Patil, IIT Bombay


DAC with R-2R ladder

Rf Rf

R R R RTh

2R 2R 2R 2R 2R Vo VTh Vo

S 0 VR S 1 VR S 2 VR S 3 VR

M. B. Patil, IIT Bombay


DAC with R-2R ladder

Rf Rf

R R R RTh

2R 2R 2R 2R 2R Vo VTh Vo

S 0 VR S 1 VR S 2 VR S 3 VR

Rf Rf VR h 0 1 2 3
i
* Vo = − VTh = − S0 2 + S1 2 + S2 2 + S3 2 .
RTh RTh 16

M. B. Patil, IIT Bombay


DAC with R-2R ladder

Rf Rf

R R R RTh

2R 2R 2R 2R 2R Vo VTh Vo

S 0 VR S 1 VR S 2 VR S 3 VR

Rf Rf VR h 0 1 2 3
i
* Vo = − VTh = − S0 2 + S1 2 + S2 2 + S3 2 .
RTh RTh 16
N−1
Rf Rf VR X k
* For an N-bit DAC, Vo = − VTh = − N
Sk 2 .
RTh RTh 2 0

M. B. Patil, IIT Bombay


DAC with R-2R ladder

Rf Rf

R R R RTh

2R 2R 2R 2R 2R Vo VTh Vo

S 0 VR S 1 VR S 2 VR S 3 VR

Rf Rf VR h 0 1 2 3
i
* Vo = − VTh = − S0 2 + S1 2 + S2 2 + S3 2 .
RTh RTh 16
N−1
Rf Rf VR X k
* For an N-bit DAC, Vo = − VTh = − N
Sk 2 .
RTh RTh 2 0

* 6- to 20-bit DACs based on the R-2R ladder network are commercially available in monolithic form (single chip).

M. B. Patil, IIT Bombay


DAC with R-2R ladder

Rf Rf

R R R RTh

2R 2R 2R 2R 2R Vo VTh Vo

S 0 VR S 1 VR S 2 VR S 3 VR

Rf Rf VR h 0 1 2 3
i
* Vo = − VTh = − S0 2 + S1 2 + S2 2 + S3 2 .
RTh RTh 16
N−1
Rf Rf VR X k
* For an N-bit DAC, Vo = − VTh = − N
Sk 2 .
RTh RTh 2 0

* 6- to 20-bit DACs based on the R-2R ladder network are commercially available in monolithic form (single chip).
* Bipolar, CMOS, or BiCMOS technology is used for these DACs.

M. B. Patil, IIT Bombay


DAC: home work

Rf

8R 4R 2R R 8R 4R 2R R Vo

S0 VR S 1 VR S2 VR S 3 VR S4 VR S5 VR S6 VR S7 VR

Combination of weighted−resistor and R−2R ladder networks

M. B. Patil, IIT Bombay


DAC: home work

Rf

8R 4R 2R R 8R 4R 2R R Vo

S0 VR S 1 VR S2 VR S 3 VR S4 VR S5 VR S6 VR S7 VR

Combination of weighted−resistor and R−2R ladder networks

* Find the value of r for the circuit to work as a regular (i.e., binary to analog) DAC.

M. B. Patil, IIT Bombay


DAC: home work

Rf

8R 4R 2R R 8R 4R 2R R Vo

S0 VR S 1 VR S2 VR S 3 VR S4 VR S5 VR S6 VR S7 VR

Combination of weighted−resistor and R−2R ladder networks

* Find the value of r for the circuit to work as a regular (i.e., binary to analog) DAC.
* Find the value of r for the circuit to work as a BCD to analog DAC.

M. B. Patil, IIT Bombay


DAC: settling time

VR

VA
DN−1
final
value

N-bit analog
digital VA initial
output
input value
D2
D1
D0 t

ground

M. B. Patil, IIT Bombay


DAC: settling time

VR

VA
DN−1
final
value

N-bit analog
digital VA initial
output
input value
D2
D1
D0 t

ground

* When there is a change in the input binary number, the output VA takes a finite time to settle to the new
value.

M. B. Patil, IIT Bombay


DAC: settling time

VR

VA
DN−1
final
value

N-bit analog
digital VA initial
output
input value
D2
D1
D0 t

ground

* When there is a change in the input binary number, the output VA takes a finite time to settle to the new
value.
* The finite settling time arises because of stray capacitances and switching delays of the semiconductor
devices used within the DAC chip.

M. B. Patil, IIT Bombay


DAC: settling time

VR

VA
DN−1
final
value

N-bit analog
digital VA initial
output
input value
D2
D1
D0 t

ground

* When there is a change in the input binary number, the output VA takes a finite time to settle to the new
value.
* The finite settling time arises because of stray capacitances and switching delays of the semiconductor
devices used within the DAC chip.
* Example: 500 ns to 0.2 % of full scale.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* If the input VA is in the range VRk < VA < VRk+1 , the output is the binary number corresponding to the
integer k. For example, for VA = VA0 , the output is 100.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* If the input VA is in the range VRk < VA < VRk+1 , the output is the binary number corresponding to the
integer k. For example, for VA = VA0 , the output is 100.
* We may think of each voltage interval (corresponding to 000, 001, etc.) as a “bin.” In the above example,
the input voltage VA0 falls in the 100 bin; therefore, the output of the ADC would be 100.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* If the input VA is in the range VRk < VA < VRk+1 , the output is the binary number corresponding to the
integer k. For example, for VA = VA0 , the output is 100.
* We may think of each voltage interval (corresponding to 000, 001, etc.) as a “bin.” In the above example,
the input voltage VA0 falls in the 100 bin; therefore, the output of the ADC would be 100.
* Note that, for an N-bit ADC, there would be 2N bins.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* The basic idea behind an ADC is simple:

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* The basic idea behind an ADC is simple:


- Generate reference voltages VR1 , VR2 , etc.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* The basic idea behind an ADC is simple:


- Generate reference voltages VR1 , VR2 , etc.
- Compare the input VA with each of VRi to figure out which bin it belongs to.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* The basic idea behind an ADC is simple:


- Generate reference voltages VR1 , VR2 , etc.
- Compare the input VA with each of VRi to figure out which bin it belongs to.
- If VA belongs to bin k (i.e., VRk < VA < VRk+1 ), convert k to the binary format.

M. B. Patil, IIT Bombay


ADC: introduction

Vmax
111
V7R
VR 110
V6R
101
D2 V5R
V′A 100
analog digital
VA D1 V4R
input output
011
D0 V3R
010
V2R
ground 001
V1R
3−bit ADC 000
0

* The basic idea behind an ADC is simple:


- Generate reference voltages VR1 , VR2 , etc.
- Compare the input VA with each of VRi to figure out which bin it belongs to.
- If VA belongs to bin k (i.e., VRk < VA < VRk+1 ), convert k to the binary format.
* A “parallel” ADC does exactly that → next slide.

M. B. Patil, IIT Bombay


VA
3-bit parallel (flash) ADC VR

R/2

V7R C6

Vmax R
111
V7R C5
V6R
110
VR
V6R R
101
V5R C4
D2 V5R D2
V′A 100
digital R
analog D1 V4R D1
input VA output C3 LOGIC
011 V4R
D0 V3R D0
010 R
V2R C2
V3R
ground 001
V1R R
3−bit ADC 000
0
V2R C1

V1R C0

R/2

M. B. Patil, IIT Bombay


3-bit parallel (flash) ADC VA
VR
R
2 C6

R C5

R C4

D2
R C3
LOGIC D1

D0
R C2

R C1

R C0

R
2
3-bit parallel (flash) ADC VA
VR
R
2 C6

R C5

R C4

D2
R C3
LOGIC D1

D0
R C2

R C1

R C0

R
2

* Practical difficulty: As the input changes, the comparator outputs (C0 , C1 , etc.) may not settle to their new values at the
same time. → ADC output will depend on when we sample it.
3-bit parallel (flash) ADC VA
VR
R
2 C6

R C5

R C4

D2
R C3
LOGIC D1

D0
R C2

R C1

R C0

R
2

* Practical difficulty: As the input changes, the comparator outputs (C0 , C1 , etc.) may not settle to their new values at the
same time. → ADC output will depend on when we sample it.
* Add D flip-flops. Allow sufficient time (between the change in VA and the active clock edge) so that the comparator
outputs have already settled to their new values before they get latched in.
VA
VA VR
3-bit parallel (flash) ADC VR
R
R C6
C6
2 D Q6
2 Q

R C5
R C5 D Q5
Q

R C4
R C4 D Q4
Q
D2 D2
R C3
R C3 D Q3
LOGIC D1 Q LOGIC D1

D0 R C2 D0
R C2 D Q2
Q

R C1
R C1 D Q1
Q

R C0
R C0 D Q0
Q
R
R
2 Clock
2

* Practical difficulty: As the input changes, the comparator outputs (C0 , C1 , etc.) may not settle to their new values at the
same time. → ADC output will depend on when we sample it.
* Add D flip-flops. Allow sufficient time (between the change in VA and the active clock edge) so that the comparator
outputs have already settled to their new values before they get latched in.
M. B. Patil, IIT Bombay
Parallel (flash) ADC
VA * In the parallel (flash) ADC, the conversion gets
VR
R done “in parallel,” since all comparators operate
2 C6 on the same input voltage.
D Q6
Q

R C5
D Q5
Q

R C4
D Q4
Q
D2
R C3
D Q3
Q LOGIC D1

R C2 D0
D Q2
Q

R C1
D Q1
Q

R C0
D Q0
Q
R
2 Clock

M. B. Patil, IIT Bombay


Parallel (flash) ADC
VA * In the parallel (flash) ADC, the conversion gets
VR
R done “in parallel,” since all comparators operate
2 C6 on the same input voltage.
D Q6
Q
* Conversion time is governed only by the
R C5 comparator response time → fast conversion
D Q5
Q (hence the name “flash” converter).
R C4
D Q4
Q
D2
R C3
D Q3
Q LOGIC D1

R C2 D0
D Q2
Q

R C1
D Q1
Q

R C0
D Q0
Q
R
2 Clock

M. B. Patil, IIT Bombay


Parallel (flash) ADC
VA * In the parallel (flash) ADC, the conversion gets
VR
R done “in parallel,” since all comparators operate
2 C6 on the same input voltage.
D Q6
Q
* Conversion time is governed only by the
R C5 comparator response time → fast conversion
D Q5
Q (hence the name “flash” converter).
R C4
* Flash ADCs to handle 500 million analog samples
D Q4 per second are commercially available.
Q
D2
R C3
D Q3
Q LOGIC D1

R C2 D0
D Q2
Q

R C1
D Q1
Q

R C0
D Q0
Q
R
2 Clock

M. B. Patil, IIT Bombay


Parallel (flash) ADC
VA * In the parallel (flash) ADC, the conversion gets
VR
R done “in parallel,” since all comparators operate
2 C6 on the same input voltage.
D Q6
Q
* Conversion time is governed only by the
R C5 comparator response time → fast conversion
D Q5
Q (hence the name “flash” converter).
R C4
* Flash ADCs to handle 500 million analog samples
D Q4 per second are commercially available.
Q

R
D2 * 2N comparators are required for N-bit ADC →
C3
D Q3 generally limited to 8 bits.
Q LOGIC D1

R C2 D0
D Q2
Q

R C1
D Q1
Q

R C0
D Q0
Q
R
2 Clock

M. B. Patil, IIT Bombay


ADC: sampling of input signal
clock
clock
S
Va C Vs → to ADC
t

Va Vs

clock
Tc
Vs
S buffer
Va buffer C t

M. B. Patil, IIT Bombay


ADC: sampling of input signal
clock
clock
S
Va C Vs → to ADC
t

Va Vs

clock
Tc
Vs
S buffer
Va buffer C t

* An ADC typically operates on a “sampled” input signal (Vs (t) in the figure) which is derived from the continuously
varying input signal (Va (t) in the figure) with a “sample-and-hold” (S/H) circuit.

M. B. Patil, IIT Bombay


ADC: sampling of input signal
clock
clock
S
Va C Vs → to ADC
t

Va Vs

clock
Tc
Vs
S buffer
Va buffer C t

* An ADC typically operates on a “sampled” input signal (Vs (t) in the figure) which is derived from the continuously
varying input signal (Va (t) in the figure) with a “sample-and-hold” (S/H) circuit.
* The S/H circuit samples the input signal Va (t) at uniform intervals of duration Tc , the clock period.

M. B. Patil, IIT Bombay


ADC: sampling of input signal
clock
clock
S
Va C Vs → to ADC
t

Va Vs

clock
Tc
Vs
S buffer
Va buffer C t

* An ADC typically operates on a “sampled” input signal (Vs (t) in the figure) which is derived from the continuously
varying input signal (Va (t) in the figure) with a “sample-and-hold” (S/H) circuit.
* The S/H circuit samples the input signal Va (t) at uniform intervals of duration Tc , the clock period.
* When the clock goes high, switch S (e.g., a FET or a CMOS pass gate) is closed, and the capacitor C gets charged to the
signal voltage at that time. When the clock goes low, switch S is turned off, and C holds the voltage constant, as desired.

M. B. Patil, IIT Bombay


ADC: sampling of input signal
clock
clock
S
Va C Vs → to ADC
t

Va Vs

clock
Tc
Vs
S buffer
Va buffer C t

* An ADC typically operates on a “sampled” input signal (Vs (t) in the figure) which is derived from the continuously
varying input signal (Va (t) in the figure) with a “sample-and-hold” (S/H) circuit.
* The S/H circuit samples the input signal Va (t) at uniform intervals of duration Tc , the clock period.
* When the clock goes high, switch S (e.g., a FET or a CMOS pass gate) is closed, and the capacitor C gets charged to the
signal voltage at that time. When the clock goes low, switch S is turned off, and C holds the voltage constant, as desired.
* Op-amp buffers can be used to minimise loading effects.
M. B. Patil, IIT Bombay
Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

M. B. Patil, IIT Bombay


Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

* Suppose we have a 4-bit DAC. We can use it to perform A-to-D conversion by successively setting the four
bits as follows.

M. B. Patil, IIT Bombay


Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

* Suppose we have a 4-bit DAC. We can use it to perform A-to-D conversion by successively setting the four
bits as follows.
- Start with D3 D2 D1 D0 = 0000, I = 3.

M. B. Patil, IIT Bombay


Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

* Suppose we have a 4-bit DAC. We can use it to perform A-to-D conversion by successively setting the four
bits as follows.
- Start with D3 D2 D1 D0 = 0000, I = 3.
- Set D[I] = 1 (keep other bits unchanged).

M. B. Patil, IIT Bombay


Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

* Suppose we have a 4-bit DAC. We can use it to perform A-to-D conversion by successively setting the four
bits as follows.
- Start with D3 D2 D1 D0 = 0000, I = 3.
- Set D[I] = 1 (keep other bits unchanged).
- If VoDAC > VA (i.e., C = 0), set D[I] = 0; else, keep D[I] = 1.

M. B. Patil, IIT Bombay


Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

* Suppose we have a 4-bit DAC. We can use it to perform A-to-D conversion by successively setting the four
bits as follows.
- Start with D3 D2 D1 D0 = 0000, I = 3.
- Set D[I] = 1 (keep other bits unchanged).
- If VoDAC > VA (i.e., C = 0), set D[I] = 0; else, keep D[I] = 1.
- I ← I − 1; go to step 1.

M. B. Patil, IIT Bombay


Successive Approximation ADC

D3 D2 D1 D0

4−bit DAC

VDAC
o
C
VA
Comparator

* Suppose we have a 4-bit DAC. We can use it to perform A-to-D conversion by successively setting the four
bits as follows.
- Start with D3 D2 D1 D0 = 0000, I = 3.
- Set D[I] = 1 (keep other bits unchanged).
- If VoDAC > VA (i.e., C = 0), set D[I] = 0; else, keep D[I] = 1.
- I ← I − 1; go to step 1.
* At the end of four steps, the digital output is given by D3 D2 D1 D0 .
Example → next slide.

M. B. Patil, IIT Bombay


Successive Approximation ADC VDAC
o

30 k

24 k
23 k
D4 D3 D2 D1 D0
VA
22 k
20 k
20 k
VR 5−bit DAC 16 k

VDAC
o
D4 =1 D4 =1 D4 =1 D4 =1 D4 =1
C D3 =0 D3 =1 D3 =0 D3 =0 D3 =0
VA 10 k D2 =0 D2 =0 D2 =1 D2 =1 D2 =1
D1 =0 D1 =0 D1 =0 D1 =1 D1 =1
D0 =0 D0 =0 D0 =0 D0 =0 D0 =1
(Note: k ∝ VR )
C=1 C=0 C=1 C=1 C=0
→ reset D3 → reset D0

1 2 3 4 5 step

M. B. Patil, IIT Bombay


Successive Approximation ADC VDAC
o

30 k

24 k
23 k
D4 D3 D2 D1 D0
VA
22 k
20 k
20 k
VR 5−bit DAC 16 k

VDAC
o
D4 =1 D4 =1 D4 =1 D4 =1 D4 =1
C D3 =0 D3 =1 D3 =0 D3 =0 D3 =0
VA 10 k D2 =0 D2 =0 D2 =1 D2 =1 D2 =1
D1 =0 D1 =0 D1 =0 D1 =1 D1 =1
D0 =0 D0 =0 D0 =0 D0 =0 D0 =1
(Note: k ∝ VR )
C=1 C=0 C=1 C=1 C=0
→ reset D3 → reset D0

1 2 3 4 5 step
th
* At the end of the 5 step, we know that the input voltage corresponds to 10110.

M. B. Patil, IIT Bombay


Successive Approximation ADC VDAC
o

30 k

24 k
23 k
D4 D3 D2 D1 D0
VA
22 k
20 k
20 k
VR 5−bit DAC 16 k

VDAC
o
D4 =1 D4 =1 D4 =1 D4 =1 D4 =1
C D3 =0 D3 =1 D3 =0 D3 =0 D3 =0
VA 10 k D2 =0 D2 =0 D2 =1 D2 =1 D2 =1
D1 =0 D1 =0 D1 =0 D1 =1 D1 =1
D0 =0 D0 =0 D0 =0 D0 =0 D0 =1
(Note: k ∝ VR )
C=1 C=0 C=1 C=1 C=0
→ reset D3 → reset D0

1 2 3 4 5 step
th
* At the end of the 5 step, we know that the input voltage corresponds to 10110.
* For the digital representation to be accurate up to ± 12 LSB, ∆V corresponding to 1
2 LSB is added to VA (see [Taub]).

M. B. Patil, IIT Bombay


Successive Approximation ADC

VA
V′A (t) S/H Successive
Control Approximation
logic N−bit SAR
D4 D3 D2 D1 D0 VDAC
o
Register

Comparator
clock
digital
VR 5−bit DAC output

VDAC
o
C
VA VR N−bit DAC

M. B. Patil, IIT Bombay


Successive Approximation ADC

VA
V′A (t) S/H Successive
Control Approximation
logic N−bit SAR
D4 D3 D2 D1 D0 VDAC
o
Register

Comparator
clock
digital
VR 5−bit DAC output

VDAC
o
C
VA VR N−bit DAC

* Each step (setting SAR bits, comparison of VA and VoDAC ) is performed in one clock cycle → conversion
time is N cycles, irrespective of the input voltage value VA .

M. B. Patil, IIT Bombay


Successive Approximation ADC

VA
V′A (t) S/H Successive
Control Approximation
logic N−bit SAR
D4 D3 D2 D1 D0 VDAC
o
Register

Comparator
clock
digital
VR 5−bit DAC output

VDAC
o
C
VA VR N−bit DAC

* Each step (setting SAR bits, comparison of VA and VoDAC ) is performed in one clock cycle → conversion
time is N cycles, irrespective of the input voltage value VA .
* S. A. ADCs with built-in or external S/H (sample-and-hold) are available for 8- to 16-bit resolution and
conversion times of a few µsec to tens of µsec.

M. B. Patil, IIT Bombay


Successive Approximation ADC

VA
V′A (t) S/H Successive
Control Approximation
logic N−bit SAR
D4 D3 D2 D1 D0 VDAC
o
Register

Comparator
clock
digital
VR 5−bit DAC output

VDAC
o
C
VA VR N−bit DAC

* Each step (setting SAR bits, comparison of VA and VoDAC ) is performed in one clock cycle → conversion
time is N cycles, irrespective of the input voltage value VA .
* S. A. ADCs with built-in or external S/H (sample-and-hold) are available for 8- to 16-bit resolution and
conversion times of a few µsec to tens of µsec.
* Useful for medium-speed applications such as speech transmission with PCM.
M. B. Patil, IIT Bombay
Counting ADC (digital-ramp ADC)

start N−bit Counter


conversion
VDAC
o
reset clock

digital
output VA

clock
VR N−bit DAC

VDAC Comparator Tc
o
VA S/H t
C Tc

M. B. Patil, IIT Bombay


Counting ADC (digital-ramp ADC)

start N−bit Counter


conversion
VDAC
o
reset clock

digital
output VA

clock
VR N−bit DAC

VDAC Comparator Tc
o
VA S/H t
C Tc

* The “start conversion” signal clears the counter; counting begins, and VoDAC increases with each clock cycle.

M. B. Patil, IIT Bombay


Counting ADC (digital-ramp ADC)

start N−bit Counter


conversion
VDAC
o
reset clock

digital
output VA

clock
VR N−bit DAC

VDAC Comparator Tc
o
VA S/H t
C Tc

* The “start conversion” signal clears the counter; counting begins, and VoDAC increases with each clock cycle.
* When VoDAC exceeds VA , C becomes 0, and counting stops.

M. B. Patil, IIT Bombay


Counting ADC (digital-ramp ADC)

start N−bit Counter


conversion
VDAC
o
reset clock

digital
output VA

clock
VR N−bit DAC

VDAC Comparator Tc
o
VA S/H t
C Tc

* The “start conversion” signal clears the counter; counting begins, and VoDAC increases with each clock cycle.
* When VoDAC exceeds VA , C becomes 0, and counting stops.
* Simple scheme, but (a) conversion time depends on VA , (b) slow (takes (2N − 1) clock cycles in the worst case)
→ tracking ADC
M. B. Patil, IIT Bombay
Tracking ADC

Up/Down

VDAC
o
clock
N−bit Counter

Tc VA
digital
output

VR N−bit DAC

Comparator
VA S/H t
Tc
C

VDAC
o

M. B. Patil, IIT Bombay


Tracking ADC

Up/Down

VDAC
o
clock
N−bit Counter

Tc VA
digital
output

VR N−bit DAC

Comparator
VA S/H t
Tc
C

VDAC
o

* The counter counts up if VoDAC < VA ; else, it counts down.

M. B. Patil, IIT Bombay


Tracking ADC

Up/Down

VDAC
o
clock
N−bit Counter

Tc VA
digital
output

VR N−bit DAC

Comparator
VA S/H t
Tc
C

VDAC
o

* The counter counts up if VoDAC < VA ; else, it counts down.


* If VA changes, the counter does not need to start from 000· · · 0, so the conversion time is less than that required by a
counting ADC.

M. B. Patil, IIT Bombay


Tracking ADC

Up/Down

VDAC
o
clock
N−bit Counter

Tc VA
digital
output

VR N−bit DAC

Comparator
VA S/H t
Tc
C

VDAC
o

* The counter counts up if VoDAC < VA ; else, it counts down.


* If VA changes, the counter does not need to start from 000· · · 0, so the conversion time is less than that required by a
counting ADC.
* used in low-cost, low-speed applications, e.g., measuring output from a temperature sensor or a strain gauge
M. B. Patil, IIT Bombay
Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

M. B. Patil, IIT Bombay


Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

* t = 0: reset integrator output Vo to 0 V by closing S momentarily.

M. B. Patil, IIT Bombay


Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

* t = 0: reset integrator output Vo to 0 V by closing S momentarily.


* Integrate VA (voltage to be converted to digital format, assumed to be positive) for a fixed interval T1 .

M. B. Patil, IIT Bombay


Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

* t = 0: reset integrator output Vo to 0 V by closing S momentarily.


* Integrate VA (voltage to be converted to digital format, assumed to be positive) for a fixed interval T1 .
T1
* At t = T1 , integrator output reaches −V1 = − VA .
RC

M. B. Patil, IIT Bombay


Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

* t = 0: reset integrator output Vo to 0 V by closing S momentarily.


* Integrate VA (voltage to be converted to digital format, assumed to be positive) for a fixed interval T1 .
T1
* At t = T1 , integrator output reaches −V1 = − VA .
RC
* Now apply a reference voltage VR (assumed to be negative, with |VR | > VA ), and integrate until Vo reaches 0 V.

M. B. Patil, IIT Bombay


Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

* t = 0: reset integrator output Vo to 0 V by closing S momentarily.


* Integrate VA (voltage to be converted to digital format, assumed to be positive) for a fixed interval T1 .
T1
* At t = T1 , integrator output reaches −V1 = − VA .
RC
* Now apply a reference voltage VR (assumed to be negative, with |VR | > VA ), and integrate until Vo reaches 0 V.
T1 T2 VA
* Since V1 = VA = |VR | , we have T2 = T1 → T2 gives a measure of VA .
RC RC |VR |

M. B. Patil, IIT Bombay


Dual-slope ADC

S
T1 T2
0
C t
VA
VR
VR Vi R Z slope = −
1 RC
Vo = − Vi dt −V1
RC
VA
slope = −
RC

* t = 0: reset integrator output Vo to 0 V by closing S momentarily.


* Integrate VA (voltage to be converted to digital format, assumed to be positive) for a fixed interval T1 .
T1
* At t = T1 , integrator output reaches −V1 = − VA .
RC
* Now apply a reference voltage VR (assumed to be negative, with |VR | > VA ), and integrate until Vo reaches 0 V.
T1 T2 VA
* Since V1 = VA = |VR | , we have T2 = T1 → T2 gives a measure of VA .
RC RC |VR |
* In the dual-slope ADC, a counter output – which is proportional to T2 – provides the desired digital output.

M. B. Patil, IIT Bombay


Dual-slope ADC
reset

SPDT
A C T1 = 2N Tc T2
VA comparator
0
VR B R
Vo t
VR
slope = −
integrator RC
−V1
VA
N−bit Counter
slope = −
RC

overflow clock
clock

digital output Tc

M. B. Patil, IIT Bombay


Dual-slope ADC
reset

SPDT
A C T1 = 2N Tc T2
VA comparator
0
VR B R
Vo t
VR
slope = −
integrator RC
−V1
VA
N−bit Counter
slope = −
RC

overflow clock
clock

digital output Tc

* Start: counter reset to 000· · · 0, SPDT in position A.

M. B. Patil, IIT Bombay


Dual-slope ADC
reset

SPDT
A C T1 = 2N Tc T2
VA comparator
0
VR B R
Vo t
VR
slope = −
integrator RC
−V1
VA
N−bit Counter
slope = −
RC

overflow clock
clock

digital output Tc

* Start: counter reset to 000· · · 0, SPDT in position A.


* Counter counts up to 2N at which point the overflow flag becomes 1, and SPDT switches to position B → T1 = 2N Tc
where Tc is the clock period.

M. B. Patil, IIT Bombay


Dual-slope ADC
reset

SPDT
A C T1 = 2N Tc T2
VA comparator
0
VR B R
Vo t
VR
slope = −
integrator RC
−V1
VA
N−bit Counter
slope = −
RC

overflow clock
clock

digital output Tc

* Start: counter reset to 000· · · 0, SPDT in position A.


* Counter counts up to 2N at which point the overflow flag becomes 1, and SPDT switches to position B → T1 = 2N Tc
where Tc is the clock period.
* The counter starts counting again from 000· · · 0, and stops counting when Vo crosses 0 V. The counter output gives T2
in binary format.
M. B. Patil, IIT Bombay
References

* K. Gopalan, Introduction to Digital Microelectronic Circuits, Tata McGraw-Hill, New Delhi, 1998.
* H. Taub and D. Schilling, Digital Integrated Electronics, McGraw-Hill, 1977.

M. B. Patil, IIT Bombay

Potrebbero piacerti anche