EE 121 John Wakerly Lecture 13 Digitaltoanalog conversion
- Slides: 16
EE 121 John Wakerly Lecture #13 Digital-to-analog conversion Analog-to-digital conversion 1
Digital-to-analog conversion Vout = k (x 020 + … + xn-12 n-1) / 2 n reference voltage in “multiplying” DAC k / 2 n = “step size” 2
Weighted resistor network CMOS transmission gates 3
Norton equivalent • Equivalent resistance found by setting voltage sources to zero. • Current source found by setting RLOAD to zero. 4
Thevenin equivalent 5
Weighted-resistor network problems • Resistor values span a wide range – n-bit DAC ==> resistors from 2 R to 2 n. R – 8 -bit DAC ==> 2 R to 512 R, e. g. , 2 K to 512 K – Difficult to fabricate wide ranges of resistance in semiconductor processes. • Different resistors in the network have different accuracy requirements. – 5% resistance change at MSB has 2. 5% effect – 5% resistance change at LSB (8 -bit) has. 02% effect – MSB of 16 -bit DAC (as in CD player) would require accuracy of one part in 215 (. 003%) to have less than one step-size error. 6
Solution: Ladder Network • Same Norton and Thevenin equivalents • Uses only two resistor values, R and 2 R – Easy to control resistance ratios on-chip 7
Why is it the same? and so on. . . 8
Analog-to-digital conversion • Analog comparator = 1 -bit A-to-D 9
Combinational A-to-D • Fastest conversion time – used in digital scopes, video sampling, etc. • Good for only a few bits of resolution 10
Sequential A-to-D • Idea: Use one comparator, repetitively, and a DAC to try different digital values until correct result is found. “COMP” (logic signal) RESULT 11
Counter-ramp A-to-D • Initialize result register to 0 • Keep incrementing result register until the DAC produces a votage greater than Vin. • Maximum of 2 n steps for n-bit conversion. • ABEL code: state IDLE: if START then LOOK with result : = 0; else IDLE with result : = result; state LOOK: if (COMP == 1) then DONE with result : = result; else if (result == MAX) then DONE with result : = result; else LOOK with result : = result + 1; state DONE: if START then DONE with result : = result; else IDLE with result : = result; 12
Successive-approximation A-to-D • Like a binary search in software -- n steps to search 2 n possible results (n-bit result). • First step -- determine MSB of result: – Set result to 100… 00. Is COMP 1 or 0? – COMP=1 ==> MSB = 1; else MSB = 0. • Second step -- determine next lower bit: – Set result to x 10… 00. Is COMP 1 or 0? (x = bit found at previous step). – COMP=1 ==> next lower bit =1; else 0. • And so on, for n steps through the LSB • Lab assignment -- create state machine and result register for this algorithm in ABEL. 13
Apple ][ A-to-D converter • Converts analog position into numeric value. • Idea: – Use a potentiometer whose resistance is a function of position (e. g. , on a joystick). – Combine the resistance with a capacitance and measure the RC time constant use a program loop. 14
15
Next Time • Read-only memories (review) • Read-write memories • SRAMs • DRAMs 16