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.

DAC8734: Is my dac damaged?

Part Number: DAC8734
Other Parts Discussed in Thread: ADS8698

hello

I'm using the ads8698 and the dac8734 in a design. I already got communication with the ADC, but not with the DAC. I am using the same base program that I use to communicate with the ADC, and I am trying to read the default values of the command register, but it always returns 0 (it should be 0x33C). I attach an oscilloscope capture of how I send the SPI frame to the DAC.
first I send the first 24 clock cycles with the instruction to read the command register, and then send another frame with the value 0 and the DAC does not return anything. Is this way of communicating with the DAC well?


when I first try the dac, I mistakenly connect + 12V on the Avss pin, the power was shorted, but I had the source limited to 50mA. When I reset the power supply, the DAC does not heat up, and its current consumption is 10mA. I suppose it does not hurt.
How can I know if my DAC is damaged?

  • Hi Yelsing,

    I can be very difficult to determine if a device damaged by such a transient, but I think we can try some experiments with the SPI first.

    Firstly, the SPI transaction you are sharing is not compliant with the DAC8734's timing diagram.  The state of the clock should be high when CS goes low.  Footnote 4 describes this requirement.

    More over, have you enabled the SDO pin in the command register?  See table 4, field DSDO.  By default, the SDO pin is disabled. 

    Finally, does writing to the DAC registers or GPIO registers cause the output to change? 

    Let me know if that answers your questions.

    Paul

  • Hi paul.

    Thank you very much for your answer.
    I changed the activation of the CS pin as you told me. I attach an image of the oscilloscope.

    unfortunately I still have no answer from the dac.
    the DSDO bit of the command register is disabled by default, which means that the PIN works normal by default, therefore I do not need to write it.

     I do not know if it is necessary to send a special command first, to enable reading.
    Thank you

  • Hi Yelsing,

    Good point on the DSDO bit. It is difficult to tell from the image, but is the CS line falling after the first rising edge of the clock, or the same time?

    I think you should try setting the clock line high for the period where the CS line is high, then ensure that the first falling edge of the clock line is after the falling edge of the CS line.

    In addition, please try a write command. Can you successfully write to a DAC channel?

    Also, please confirm that all of the supply pins are correct, as well as ensure that the reset pin is not held low.

    Thanks!
    Paul
  • I checked my circuit, and I had the pin rst grounded. When I connect the pin rst to vdd, the DAC responds, but it does not respond as expected. I send the command to read the command register (0x80xxxx), the dac should answer the default values of this register that are (0x033C), but the dac responds 0x800000.

    I have done a test by writing the command register with the value 0xFF7F, and in the next instruction I try to read this. The DAC sends me the same command I sent him. Is this normal?
    When I go to read the register that I wrote, the answer is still 0x800000.


    Well I guess now the problem should be of only programming and that the DAC is in good condition.

    the CS pin is activated after the first clock edge

    Thank you very much paul.

  • Hi Yelsing,

    After a WRITE command the DAC will repeat the command on SDO. This has uses in daisy chain and error checking applications. If the the command is a READ command, then is should output the value of the register in the next command. I suspect that there could be an issue with the configuration of the device. Can you share the schematic?

    Thanks!
    Paul
  • Hi paul

    I attach the schematic.

    The following pins are connected to the micro

    LDAC2

    RST2

    GPIO

    UNIA_IN_2

    UNIB_IN_2

    Thanks.

  • Hi Yelsing,

    The schematic looks ok, I assume you have decoupling capacitors for the supply pins off page. What happens if you ensure that RST is high, LDAC is low, and you write only 0x4000 to DAC-0, does the output change? In the readback experiment you were writing FF7F, which means you were setting the reset register, which might have had an impact.

    Paul
  • I have sent the data 0x4000 to the dac0 and the output is -14.7mV. If I send 0xF000 the output is 3.8mV. The reference voltage is 3V.
    The SDO pin answers with the same instruction that I send.
    Thanks for your help.