Because of the Thanksgiving holiday in the U.S., TI E2E design support forum responses may be delayed the week of Nov. 21. Thank you for your patience.

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.

DAC80504: DAC 80504 Interfacing Problem with TM4C129ENCPDT Using SPI

Part Number: DAC80504

HI, 

I am trying to interface DAC 80504 with TM4C120ENCPDET using SPI. I am trying to write DAC 0 using the following Procedure.

1. CS LOW

2. COnfig Register write

3. CS HIGH

4. CS LOW

5. Gain Register write

6. CS High

7. CS LOW

8. DAC Register Write

9. CS High

10.CS LOW

11. Dummy command to Read  DAC0
12. CS High.

There is no output at DAC0 and unable to read data from the DAC register also. SPI mode using mode 1 at 10Mz..also tr with 1 MHz frequency.  Please support.

Regards

George

  • Hi George,

    Can you share what you are actually writing to these registers?

    Can you share your schematic?

    Did you confirm that the device is powered correct and the SPI formatting is correct? An oscilloscope would be the best method for determining that.

    Thanks,

    Paul

  • Hi Paul,

    Thanks for your support. 

    The following are the values that we wrote to registers.

    Config Register- 0x03,0x00,0x00

    Gain Register -0x04,0x00,0xFF

    DAC0 Register- 0x08,0x19,0x9A

    DAC0 Read -0x88,0x00,00x00

    I confirmed device powering and SPI formatting and it is correct. I count clock cycles during the CS LOW period and it is as per the datasheet.. Chip probed using Oscilloscope and found input, CS, and clock coming to DAC and there is no output at SDO line during readout and no output voltage at DAC out.

    Schematics attached

    Thanks

    George

  • Hi George,

    Did you verify that the edge relationships were being correctly applied from the SPI Main? (I.e. data is setup on the rising edge, latched on falling edge).

    Is there any voltage on the reference pin?

  • HI Paul,

    I verified edge relationships and is correctly applied. The reference voltage is 2.5V

    Thanks

    George

  • Hi George,

    Can you please post your SPI frame at the DAC side? ( CS, SCLK and DATA)

    This device supports SPI modes in the following configurations only.

    Depends on what mode you are operating SPI frame, there is a minimum timing requirements of  SCLK falling edge to CS ignore (tCSIGNORE). if the default state of SCLK is high, please make sure that SCLK goes low for minimum 7ns before CS goes low as per the timing diagrams below. 

    Regards,

    AK

  • HI akhilesh,

    Attached CLK and CS datas. Yellow line is clock and blue line is CS

  • Hi George,

    Did you verify the write operation? Or you are facing issues with both read and write?

    Can you please try to disable and enable internal reference, that way we can easily identify your write is working or not.

    Also for reading back, you need to issue 2 SPI frame commands, one with correct read command, and next frame can be any command. in the second frame, you will get the requested data on SDO.

    Please verify these.

    Regards,

    AK

  • Hi Akhilesh,

    I am experiencing issues with both write and Read. I tried to read Device ID, But it returns Zero value. . I tried by enablling and disabling Internal refernce. But no response. 

    Regards

    George

  • Hi George,

    Please send me your SPI frame with DATA as well.

    Also as a debug can you change the SPI mode to CPOL = 1 & CPHA = 0

    Basically idle state of SPI clock will be high and follow the datasheet timing requirements.

    Regards,

    AK

  • Hi Akhilesh,

    My frame is as follows,

    CS LOW

    Config Register Write  0x03,0x00,0x00

    CS High

    CS LOW

    Device ID register Read   0x81,0x00,0x00

    CS High

    CS LOW

    Dummy commad Read ox FF, 0XFF,0XFF

    CS High.

    I am also tried with Mode 2. But no response

    Regards

    George

  • Hi,

    Can you send me the last two frames along with DATA?

    CS LOW

    Device ID register Read   0x81,0x00,0x00

    CS High

    CS LOW

    Dummy command Read 0xFF,0xFF,0xFF

    CS High.

    Please make sure that SLCK idle state is high and do these captures.

    Regards,

    AK

  • Dear Akhilesh,

    Thanks for your support. I resolved the issue.

    Thanks & Regards

    George