I am having a problem with the TLV5630 DAC. It's a 12 bit DAC, set to a reference voltage of 5V, Avdd = 5V, Dvdd=3.3, Agnd=Dgnd. The output of the DAC is not scaling with the input, i.e. 1V in does not equal 1V out. The device input range I'm seeing is from 0 to 0xaf2, which should be about 3.4V (0xaf2 * 5V)/0xfff, but it is maxed out at the reference voltage at this point. I don't understand why this might be. I've looked the manual over several times and I don't see any reason why this should happen. Please, can someone help me?
It seems you are saturating the reference input. In page 3 of the datasheet, there is a note below the recommended operating conditions regarding the reference input voltage. It mentions that the reference voltage should be less than AVDD/2 to avoid saturation. I assume that you want the DAC output to go from 0V to 5V. In this case, you only need a 2.5V reference voltage because the DAC output has a gain of 2.
Vout_max = 2 * Ref * 0xFFF / 0x1000 = 2 * 2.5V * 4095/4096 ≈ 5.0VVout_min = 2* Ref * 0x000/0x1000 = 2* 2.5V * 0 / 4096 ≈ 0.0V
Let us know if this solves the issue you see or if you have any more questions.
Precision Data ConvertersApplications Team
I have similar problem with TLV5630. I have read the note about the reference voltage that you mentioned.
My circuit parameters are:
Vref=3.0 V (using REF5030 for precision)
DVDD and AVDD is shorted or not via "0 ohm" resistor, i got the similar result.
The problem is; when i wrote the input code 0x7FF, I should get the 3V output according to the formula (Vout = 2 * 3.0V * 0x7FF / 0x1000=3V). But, I got 2.1V at the output with 0x7FF code. I tried with other different input codes, i got the similar result. The output voltage is lower than i suspect. The output voltage is changing linearly with the input code, but not correct. I checked the multimeter by measuring the reference voltage and supply voltages. It shows correct values with those measurements.
Am I missing something? What should be the reason of this behaviour?
P.S. : TLV5630 is connected to TMS320F28335 in my design. When i enabled the Dout option of TLV5630 by CTRL0 register, I read the correct codes after 16 SCLK cycle. As I thought, it shows that TLV5630 gets the correct input code for conversion.
Ali Onder Biliroglu
Similar to the previous post, the internal buffer is saturated because Vref(3V) is bigger than AVDD/2 (1.65V).
The image illustrates what is happening:
First of all, thank you for your reply to my question. I checked the datasheet and the note at page3 again. It is written that "Reference input voltages greater than AVDD/2 causes saturation for large DAC codes.". When i read this note, i thought, I can use the DAC with my external reference(3.0V) linearly, until the output voltage reaches the AVDD value. After then, incresing the input code doesn't change the output voltage. This is what i understood with this explanation exactly with "large DAC codes" words.
However, I tested the DAC output according to your explanations. And, i changed the formula like
Vout = 2*2.1*InputCode/4096
And, the tests show me that it works fine with this formula. At this point, I want to ask, the saturation is stable during the operation or it changes with temperature or sth else? If it is stable, I can use the DAC with this saturated value.
I'm asking this question, because, I'm using the AVDD voltage as 3.3V. I have two more reference options internally like 1.024V and 2.048V. According to your explanation, 2.048 V > AVDD/2 and it causes the saturation also. If I want to use the DAC without saturation, I should use 1.024V internal reference, but now, I cannot reach the output voltage bigger than 2.048V. But i need 0-3V range with TLV5630.
The stabilization is important in my application, because, the outputs of the TLV5630, sets the limitation values (for some measured values) in comparator circuits. We are using the comparation outputs in hardware protection and because of the correct protection, the comparation values should be stable. We also have the HW limit setting option with resistor networks, but, we would like to change the comparation value with software if necessary. This is why we are using TLV5630.
As you suspect, that formula isn’t completely right because the 2.1V cannot be assumed constant for all devices and over temperature. The reason is that any saturated op-amp changes voltage over temp and from part to part.
Thus, I don’t recommend using a 3V reference that saturates the internal buffer op-amp to 2.1V, or a 2.048V reference because it is too close to the saturation value.
From the AVDD/2 statement and minimum AVDD voltage (2.7V), it can be estimated more accurately that the reference voltage will not saturate as long as Vref ≤ AVDD-1.35V. In this case, with a 3.3V AVDD, Vref should be less than 1.95V to avoid saturation effects.
I think a good solution is to use the REF3318 (1.8V) to allow 0-3V DAC output. Besides, it is smaller and lower power than the REF5030.
As another option, it is possible to use low drift precision resistors to divide down the REF5030 voltage to a value between 1.5V and 1.95V.
First of all, I'm sorry for the late reply and also thanks for your great support.
Actually, I have already done the PCB and I used REF5030 with SOIC8 package. So, it is not possible to integrate the REF3318 sith SOT-23 package. But, maybe I can try the voltage divider solution with some modifications on PCB. What else, thanks for all information. At least, I can do the necessary modification at 2nd revision of the PCB. Maybe, I can try the 2.048V internal reference at this revision.
I wonder, why TI doesn't have series voltage reference IC with 1.5V output voltage. I wonder, because, C2000 series are most popular motor control DSPs on this platform. And as you know, their ADC input voltages are limited between 0-3V. When we want to read the AC current and voltages from motor setup, we are scaling the measurements and adding the 1.5V offset to match the ADC inputs. At this point, for precision, we need precision voltage reference IC with 1.5V output.
By the way, thanks again for all the information.
Ali Onder Biliroglu.
Thank you for the feedback. There are several voltage reference ranges we'd like to include in our portfolio and we'll work with the C2000 team to get something optimized for the internal ADC of that controller series. Your 1.5V suggestion is a good one and we'll take a look at it - stay tuned!
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.