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.

DAC81416: DAC81416

Part Number: DAC81416

Tool/software:

Dear Sir/Madam,

We are having a problem while using DAC81416. We are trying to read its device ID and none of the time we are reading it. When we send a command to read Device ID as: 0x810000, the readback from DAC will be: 0x810000 i.e., we are getting echo of 1st byte, but not the device ID. We are using STM32H743BIT6 microcontroller and we also tried doing two access cycle i.e., 1st read command as 0x810000 and again sending a dummy command as 0x1DFFFF, but we are not able to read device ID. Can someone give a solution for this?

  • Hi Akshay,

    Sanjay will review and get back to you with some suggestions soon. 

    Best,

    Katlynne Jones

  • Akshay,

    Can you see if you can read from any register? For example, can you try reading the SPI Configuration register?

    Can you confirm that your SPI phase and polarity are correct? Please capture the two commands with an oscilloscope or logic analyzer and we can confirm the edge relationship.

    thanks,

    Paul

  • Hi Akshay,

    Adding to the Paul's comment, please check the digital IO levels and an the digital patterns along with the rest of the power supplies for the DAC81416.

    Thanks,
    Sajnay

  • Paul, whatever register we are trying to read, we are getting the echo for 1st byte i.e., the read bit, dummy bit and address. But, the 16 bit data is as follows: 0x0080. 

    Regarding phase and polarity: Our microcontroller transmits on rising edge and receives on falling edge. Whereas the DAC receives the data on falling edge and transmits on rising edge. This means, our pol = 0 and phase = 1.

  • The supplies are all building properly. Also, if power is the problem then we shouldn't have received the first byte correctly. But, that is coming as expected. 

    One more clarification, before communicating with DAC, should we write some non-zero character to NOP register. Also, if we have to read any register, do we have to send commands two times?

  • Hi Akshay,

    Let's debug this step by step, please check these details.
    1. measure the power supply values for VAA, VDD, VIO, VCC and VSS, report the voltage values. And check the datasheet to ensure the values are within limits.
    2. Capture the SPI lines on the scope and send the read command data for any readable register.

    Please do these first and then we will debug further.

    Thanks,
    Sanjay