Probably you have a voltage reference, not current based R2R DAC, so the Ron of the switches can change from code to code value. This is usually a bigger problem of a 12bit DAC than the layout, however sizes of your devices also matter, but you didn't share.
So, I am not sure that the current through your switches change by this rule what you described. Are you sure that the tap currents of the ladder follow this rule that higher significant bit's tap current is always doubled compared to next lower? I think every tap current depend from every tap currents (ON or OFF) if the reference is a voltage source. Or I couldn't imagine your architecture well, could you post a schematic? Would be better.
How much is your R value? Compared to R how much is maximum Ron? Are you sure that DNL and INL depend more from Ron and parasitics than mismatch of resistors?
And I don't understand your problem, if the Ron of the switches is low enough common centroid is so important? I think if you cannot ensure enough low Ron you should increase R.
In RDACs I have done, I made a "unit cell" consisting of
single finger FETs plus the resistor, parallel 2, 3, 8, 16
for the MSBs and use R2R for the LSBs again with the
FETs in place but fixed "on" biased to the rails. 2R is
2 series (R+FET).
You ruined every 2R branch by changing the sizes of the switches from branch 2 branch. It is not the correct way, 2R branches have to be the same as R branches just 2 times bigger.So the topology is like this. S1 is unit size, S2 is 2xS1, S3 is 4xS1 etc etc. The value R is set to be around 21k. Although 21k vs 600 ohm (biggest ron) is not that different in order Ron to be neglected, but hopefully thanks to the constantly on S1 at the lower branch before the ground, there is a compensation is happening.
I hope this clarifies what I am trying to do, and why I need the Rons to match (i.e. to make S1,S2,S3 to have Ron, Ron/2, Ron/4 respectively).
Hi,
your OPAMP circuit is wrong.
* Either use a feedback resistor in inverting configuration
* or use it in non inverting configuraton.
In either case I recommend to put a low pass filter into the signal line just to avoid that the OPAMP input stage gets temporarily overdriven by high dU/dt switched input signals.
Klaus
You ruined every 2R branch by changing the sizes of the switches from branch 2 branch. It is not the correct way, 2R branches have to be the same as R branches just 2 times bigger.
So what dick_freebird described is a much better solution to improve linearity: build up the R branches from a switch+R, 2R branches from 2 series switch + 2 series R, and you can switch the 2 series switches as on your figure.
At thermometer section probably you did it well, on the figure it is not visible unfortunately, but at R2R what you told is not correct, sorry.
As KlausST mentioned the OPAmp is figured in a meaningless scenario, you probably wanted to draw a buffer. R2R can work with buffer and inverting amplifier too, but the inverting amplifier forces constant voltage by the virtuaal ground to the ladder's output, which reduces the voltage variation on your switches caused by the changing current through them. It also improves linearity, I suggest that.
Ok, now I see it, and actually you are right I think, sorry for misunderstanding. I didn`t build DAC with unequal branches, but it seems it is possible. It makes me suspicious that mismatch of some branches are more relevant in the final INL or DNL, but I don`t know.
It seems the point is the binary weighted numbers of switches. To reduce switch number, and area I have one recommendation. In the first branch now you are using 1 switch, then in the last branch you need 4 parallel switches. So you need 8 switches in total. But if you would use 2 series switches at the 1st branch, the total switch number would be 7. With more bits the difference is more relevant if you use series switches too and to optimize area and layout arrangement could be better maybe.
You are welcome, and I think you have already known if you connect 4 switches in series at the 1st branch, your area can be 4 times smaller than it was originally.
Keep cautious with linearity, 12 bit is very high!
Your LSB is like 600uV, so noise performance of your ladder and buffer have to be good, you buffer needs extreme low offset and high gain on the full output range.
Good luck!
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?