| ??? 11/13/03 16:28 Read: times |
#58560 - RE: 8bit DAC + 8 bit DAC =16Bit DAC? Responding to: ???'s previous message |
Hallo Raghunathan,
with your methode you get the following: 8bit DAC has 256 steps. For achieving 0V (at DAC code '0') and 5V (at Dac code '255') you need a reference voltage of Vref = 5.01961V. Then Vref x 0 / 256 = 0V and Vref x 255 / 256 = 5.00V. If you now combine two such 8bit DACs and just add both voltages, you get NO 16bit DAC!! But you even get ambiguities, means, same output voltage can be achieved with different codes! The only thing you get is a doubling of steps. So, theoretically a 9bit DAC can be achieved. But because errors of 8bit DACs are too high, you will not get 9bit precision. Let's have some examples for illustration: First 8bit DAC gets DAC code '0'. So, its output voltage is zero. If now second DAC gets codes from '0' to '255' output voltage increases from 0V to 5V in steps of Vref / 256 = 5.01961V / 256 = 19.61mV. If first DAC gets DAC code '255', and second DAC gets codes from '0' to '255', then upper half of 10V can be achieved, because now output voltage increases from 5.00V to 10.00V in 19.61mV steps. So, number of steps is 512, which represents 9bit resolution. But that's all what you get!! No 16 bit resolution. Instead of this you get an enormous amount of ambiguities. Means, same output voltage can be achieved by different codes. Why? Because output voltage is defined by the formula: Vout = Vref x Code1 / 256 + Vref x Code2 / 256 = Vref x (code1 + code2) / 256 'Code1' is code of first DAC, 'Code2' is code of second DAC. An example: 8.059V can be achieved by 'Code1' = '156' and 'Code2' = '255'. But also by 'Code1' = '157' and 'Code2' = '254'... Indeed by all combinations of codes, where 'Code1' + 'Code2' = '411'. ------------------------------------ There seems to be another way to produce 16bit resolution by using two 8bit DACs: One producing big steps, the other making very small steps, filling the gaps of the big steps. You could realize this by two 8bit DACs with reference voltage of Vref = 10.000153V. But now you don't add both voltages immediately, but first output voltage of LSB representing 8bit DAC is divided by 256.000. This means, that MSB DAC produces 256 steps, while LSB DAC fills each step with 256 finer steps, making a resolution of 256 x 256 = 65536 steps, which represents 16bit resolution. BUT!! This approach will result with total desaster, because this would only work, if MSB 8bit DAC would show a 16 bit precision, which it will never show in reality! Normally a good DAC will show an error of +-1/2LSB. Then monotonicity is guaranteed, means with increasing code also output voltage will increase. This is extremely important for many applications in industry. Otherwise, when using DAC in feedback loops oscillation will occur... Assume code of MSB DAC is '1', then ideal output voltage is Vref x 1 / 256 = 39.063mV. So, 1LSB is 39.063mV. With code '2' ideal output voltage of Vref x 2 / 256 = 78.126mV. If now error is +-1/2LSB, then real DAC could show following output voltages: 39.063mV + 19.5315mV = 58.5945mV for code '1' and 78.126mV - 19.5315mV = 58.5945mV for code '2'. So, monotonicity is just guaranteed. But if now result of LSB DAC is added, monotonicty will be lost!! Monotonicity will only be resumed again, when even the adding of 1bit of LSB DAC, which is 152.59µV (!) can not violate monotonicity. But this means, that the big steps of MSB DAC must not show an error of more than 152.59µV either, which represents 16bit precision. So, this approach will never work with ordinairy 8bit DACs showing ordinairy precision of +-1/2LSB. At least the MSB DAC must show a precision of +-1/256LSB, which is not available. By the way, to fabricate a 16bit DAC with discretes like R2R ladder and such stuff will never work. All involved parts must not show any error bigger than 15ppm, including fabrication tolerance, temperature drift and long therm drift! (15ppm represents an error of less than 0.0015%.) Building 8bit DAC with the help of R2R ladder CAN work. But 16bit is totally ridiculous. I would recommend you the use of some integrated 16bit DAC. There are lots arround. But please keep in mind, that surrounding circuitry like buffers, etc. must not affect this very high precision!! From above lines you can see, that additional circuitry must not add an offset voltage of more than 152.59µV, example given!! Also, PCB layout must be state-of-the-art... Kai |



