This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
HI,
We would like to know what is going wrong here.
Hi Uttam,
Here is what we tried:
Further, we would like to close this issue ASAP, as this is blocking our production timeline. So it would be great if we can resolve this at the earliest. We can share you a board if that might help.
Hi Uttam,
Sorry about the confusion, when we externally give voltage between 1V8 - 4V9, the DAC works.
Hi Uttam,
We got fresh samples from Ti and we are still seeing the same. This issue has been open for more than a month now. Please do let us know how we can resolve this at the earliest. We can give youa board to debug, if that helps.
Hi Shyam,
Could you check the SPI communication pins during these tests with an oscilloscope and post the results? I am wondering if there is some issue with the translator causing the data to be incorrectly latched.
Also, you have 0.1µF capacitors on the outputs of the DAC, while the maximum load capacitance of this device is specified at 1500pF. I wonder if the output is oscillating and possibly causing issues. Please try removing the capacitors and seeing if the performance changes.
Thanks,
Paul
Hi Uttam,
Here are the scope shots:
Here are locations where the scope shots were taken in the schematic:
Hi Uttam,
Shyam is my colleague - he is the EE on this project, and I am the system architect. Permit me to interject on his behalf.
( Thanks a lot for your help - I trust we can root cause this issue with some concerted effort).
Please look at image U75-output24.tif, below.
1)The red line is the output of DAC2. ( I believe your observation about the DACA vs DACB is incorrect - the code is such that we first write to dac1( without updating the output), then write to dac2( with update of both outputs). Page 16 of the user manual ).
2) DAC1 and DAC2 are both driven with a sawtooth waveform, offset in phase by 90 degrees.
do {
for( i = 0 ; i < 1024; i+=50) {
spi_slave_select(spi_dev,1);
do_dac_blah(spi_dev,i,(i+511));
k_sleep(10); //Yield for 10 ms
}
} while(1);
3) The expectation is that the sawtooth value ( i.e output of DAC1 and DAC2) changes FOR EVERY invocation of do_dac_blah(...).
4) For a voltage level under 5V, we see a nice ramp that updates at each (pair of) writes, as expected. At voltages above 5V, that ramp is no longer smooth - i.e., there are missing updates. NOTE THAT THERE IS NO CHANGE IN CODE OR HARDWARE BETWEEN THESE TWO EXPERIMENTS - the only change in the voltage being fed into the chip, as well as the IO voltages.
5) Note that our schematic is slightly complicated ( by the fact that we drop a 6V to 5V, and then convert the microprocessor's SPI IOs to the same 5V). I am not certain if that could explain this behavior, but I am mentioning it so you take note of the fact.
Please let me know if this helps explain the problem.
Thanks
Manu