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.
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.
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 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;
}