2022-10-31 21:25 Tags: # Current Scaling DACs ## Binary Transistor DAC We prefer to use small transistors since resistors are expensive [on-chip components](On-chip%20Components.md). Can repeat the binary resistor based DAC. ![](attachments/Current%20Scaling%20DACs.png#invert) ### Advantages - Don't need the same voltage across the current source (if the output impedance is high enough) meaning you don't need a buffer on the output and can use the line as an output. If you want a voltage output, you can put it into a transresistance amplifier (a buffer with a resistor) ![](attachments/Current%20Scaling%20DACs-1.png#invert) ### Disadvantages Same as other binary coded converters - Large ratio in currents between MSB and LSB - Subject to sever non-linearity like [Differential Non-linearity](Differential%20Non-linearity.md) (max when MSB changes) ### Implementation Transistor in saturation acts as the current source. Common to put a [cascode](cascode.md) on the current source when using it to drive current so it has a high output impedance. ![](attachments/Current%20Scaling%20DACs-2.png#invert) Scaling the widths means the MS Transistor will be very large. Solution: [Thermometer encoded current steering DAC](#Thermometer%20encoded%20current%20steering%20DAC) ## Thermometer encoded current steering DAC ![](attachments/Current%20Scaling%20DACs-3.png#invert) Never switch any current sources out (like a thermometer always goes up). Once you set a bit it never gets reset. Truth Table: ![](attachments/Current%20Scaling%20DACs-4.png#invert) ### Advantages - Monotoneous - All current sources have the same small size. ## Disadvantages - More complicated to control (thermometer decoding needed) ## Segmented Current Steering DAC Assume the error current is 1/2 an LSB, i.e. $\Delta I_{error} < \frac{1}{2}I_{LSB} = \frac{I}{2^N}$ Then the worst case allowed error for any current source is 1/2 an LSB (ignoring the aggregate error - actually tolerate less than this). Error on the LSB source is $\frac{I/2^N}{I/2^{N-1}}=\frac{1}{2}$ Error on the MSB source is $\frac{I/2^N}{I}=\frac{1}{2^N}$ which is needs very very high accuracy (e.g. less than 0.5% for an 8-bit converter). Very difficult to achieve (thus worst case [Differential Non-linearity](Differential%20Non-linearity.md) occurs here). Since the thermometer encoded DAC is monotoneous, it is common to combine a thermometer (MSB) with a binary coded DAC. ### Circuit Split it up into M MSB's and L LSB's, then $N=M+L$. ![](attachments/Current%20Scaling%20DACs-5.png#invert) Combination of the good properties (good [Differential Non-linearity](Differential%20Non-linearity.md) with the simplicity of the binary DAC). ### Ex. 10 bit DAC Couldn't do all in thermometer since 1024 current sources. Instead have 5 thermo then the rest binary. ## Signed Current Steering DAC Might want a positive or negative output DAC. Very easy - just point the MSB current source in the other direction! (sources current into the node instead of sinking it). ![](attachments/Current%20Scaling%20DACs-6.png#invert) Thus the weight of the MSB is multiplied by -1. $I_{out}=-I\cdot B_{N-1}+\sum_{n=0}^{N-2}\frac{I}{2^{N-1}}\cdot 2^n\cdot B_n$ ### MSB Switch implementation The MSB Switch would be PMOS transistors to source current. ![](attachments/Current%20Scaling%20DACs-7.png#invert) [^1] --- # References [^1]: [vr-4602-wk07-sc03-daciscale](../../Spaces/University/ELEC4602%20–%20Microelectronics%20Design%20and%20Technology/Lectures/W7/vr-4602-wk07-sc03-daciscale.mp4)