Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. 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.

TMS320F28379D: how to configure MAX5715 DAC IC using SPI

Part Number: TMS320F28379D

I want to use max5715 ic for more DAC. I am using spi for sending commands for this ic but ic is not responding and it is not generating internal reference. please help me for proper configuration for this ic. 

  • Hi Sonak,

    Which sample code are you referring to ?

    Regards,
    Gautam
  • Sonak,

    Have you confirmed that the SPI is sending the proper signals? please verify this with an oscilloscope if not. Next, please look into the DAC IC's datasheet and comprehend the SPI configuration. You will also need to look at the F28379D TRM for the information regarding the SPI configuration. Pay attention to the Phase and Polarity settings to ensure that your transmit and receive edges are configured to match between the devices. Also look at the clock settings and make sure that you are operating in the proper ranges. If all of the above looks like it makes sense and is correct, you might need to provide us with additional information so that we may be able to assist better.
  • Hi gautam,

    SPI loopback example code with slight modifications.

    Regards,
    sonak
  • Hi Mark,

    SPI sending proper signal, I have verified on oscilloscope. According DAC IC's datasheet, I am sending proper signal and my clock setting is 10MHz. I am attaching DSO capture and datasheet capture for your reference.

    #define SPI_BRR ((200E6 / 4) / 10000E3) - 1

    #define DAC_EN GpioDataRegs.GPECLEAR.bit.GPIO133=1

    #define DAC_DN GpioDataRegs.GPESET.bit.GPIO133=1;

    #define CLR_DN GpioDataRegs.GPBCLEAR.bit.GPIO38=1

    #define CLR_EN GpioDataRegs.GPBSET.bit.GPIO38=1;

    void spi_init()
    {
    // Initialize SPI-A

    // Set reset low before configuration changes
    // Clock polarity (0 == rising, 1 == falling)
    // 16-bit character
    // Enable loop-back
    SpicRegs.SPICCR.bit.SPISWRESET = 0;
    SpicRegs.SPICCR.bit.CLKPOLARITY = 0; //1
    SpicRegs.SPICCR.bit.SPICHAR =(8-1);
    SpicRegs.SPICCR.bit.SPILBK = 0;

    // SpiaRegs.SPICCR.bit.HS_MODE = 0x1;

    // Enable master (0 == slave, 1 == master)
    // Enable transmission (Talk)
    // Clock phase (0 == normal, 1 == delayed)
    // SPI interrupts are disabled
    SpicRegs.SPICTL.bit.MASTER_SLAVE = 1;
    SpicRegs.SPICTL.bit.TALK = 1;
    SpicRegs.SPICTL.bit.CLK_PHASE = 0;
    SpicRegs.SPICTL.bit.SPIINTENA = 0;

    // Set the baud rate
    SpicRegs.SPIBRR.bit.SPI_BIT_RATE = SPI_BRR;

    // SpiaRegs.SPIBRR.bit.SPI_BIT_RATE = 0x3;

    // Set FREE bit
    // Halting on a breakpoint will not halt the SPI
    SpicRegs.SPIPRI.bit.FREE = 1;

    // Release the SPI from reset
    SpicRegs.SPICCR.bit.SPISWRESET = 1;
    }

    for(;;)
    {


    DAC_EN;
    DELAY_US(2);
    CLR_EN;
    spi_xmit(0x72); // internal reference set to 2V
    spi_xmit(0xf0); //dummy data
    spi_xmit(0xf0); //dummy data

    DAC_DN;
    CLR_DN;

    }

    MAX5713-MAX5715.pdf

  • Are you toggling the CSB, CLR and LDAC signals properly? I don't see those in your scope capture.
  • Hi mark,

    Yes, I am changing the status of CSB and CLR during data sending but LDAC signal is always high.

    I am using below circuit diagram:

    this circuit diagram given in the datasheet MAX5715.

    Regards,

    Sonak Singh

  • Sonak,

    Well, everything that you have shared looks like the SPI is operating as it is supposed to. It is time to move on to the next step. Are you following any procedure to configured the DAC to the mode that you need? is there additional commands that need to be sent in a proper order to initialize it, configure the mode, and then set the reference? At least in the MAX5715 datasheet, I don't see any programming sequence. Have you contacted their support or found any examples that interface with this DAC that might give you the proper initialization sequence?
  • Hi Mark,

    Thank-you for reply.I will contact maxim for support.

    Reagrds,
    Sonak