|
发表于 2011-1-22 07:57:02
|
显示全部楼层
本帖最后由 fhchen2002 于 2011-1-22 08:04 编辑
回复 8# domino.kk
电源电压5V,用的是0.35um工艺,单位电流源的尺寸选择w=450nm,l=23.5um。这样可以保证一定的Vgs-Vth,不过我不知道一般要保证多大的Vgs-Vth,还有一个问题我不知道是不是开关电路部分出问题了还是怎么的,输出电路最后有很大的尖脉冲,尖脉冲全部出现在转换过程中。 ...
No need to check the waveform.
(Since you are using differential architecture,)
Two major factors contribute to glitches:
1. Whether your current sources are always maintained in saturation region (100% of the time),
Assume you have right-side switches, which direct current to the load, and you have left-side switches, which direct current to ground. Your switch driver has to be carefully designed, and delay/load balanced.
(A) The signal delay from clock rising/falling edge to decoder outputs are well balanced. (No matter what code is applied, the delay from clock edge to decoder outputs are almost identical.)
(B) Decoder driver is fine tuned, such that at the time right side switches are turned on (i.e., the current sources start to charge up the load), the left side switches are not completely turned off. Thus there is a short period of time both sides divide the current from the current sources. This scheme guarantees your current sources are 100% of the time maintained in saturation region.
2. How you determine how many bits are thermometer decoded, and how many are binary weighted decoded.
(I hope you are not using 100% binary weighted current sources.) With ideal power and ground, you probably don't observe so huge the effect of factor two from simulation.
Assuming you are using 6-bit thermometer decode (MSB current source arrays), and 4-bit binary weighted (LSB) source sources.
LSB: 1X unit-current
2nd LSB: 2X unit current
3rd LSB: 4X unit current
4th LSB: 8X unit current
The rest 6 MSB's are thermometer decoded, so each MSB current source has 16X unit current, and you have 63 of such MSB current sources.
At first, your DAC input is 00,0000,1111. All you LSB current sources are directed to the output.
None of your MSB surrent sources are selected and directed to the output.
The next time, your DAC input is 00,0001,0000.
None of your LSB current sources are directed to the load, and the 1st thermometer decoded MSB current source is directed to the output.
So the transition from 15 to 16 (decimal), we observe glitch due to switching of current source direction from (non-ideal) ground to the load.
So are the cases fom 31-32, 47-48, 63-64 transtions, and so forth.
If you use fully binary weighted current sources, at 511-512 transition, you observe the largest glitch. (I hope not.)
Your DNL also depends on how you determine # of MSB and # of LSB bits.
Then you to check whether (Vgs - Vth) is large enough to support the DNL you want.
(But this is another topic. ...)
Tip - Cascode reduces the noise coupling from decoder switching to the gate of current sources.
- You may choose 3.3 V as the power supply level, to complete your 0.35 um 10-bit DAC design. It is an easily achievable target, since you don't not have large output swing.
|
|