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.

ad5693R i2c dac

Hi Amit,

I tried to interface DS5693R I2C dac to TM4C1294 Launchpad .

I use the below code, but don't get any data on the dac output (0 volt).

Do you think it's because of the min time to start pulse is very low on this DAC (0.6 uS, compared to usual 4.7us on most dac) ?

Should I bring the clock freq down?

FYI, the i2c is working with mcp4725 dac. But I prefer to use ad5693 as it's 16 bit.

On the ad5693R, I connected the LDAC pin to low (gnd) and A0 to gnd as well

----------

#define AD5963R_addr 0x4C

void

ConfigureI2C_AD5963R_for_DT9804(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);

SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C2);

GPIOPinConfigure(GPIO_PN5_I2C2SCL);

GPIOPinConfigure(GPIO_PN4_I2C2SDA);

GPIOPinTypeI2C(GPIO_PORTN_BASE, GPIO_PIN_4| GPIO_PIN_5);

GPIOPinTypeI2CSCL(GPIO_PORTN_BASE, GPIO_PIN_5 );

SysCtlDelay(10000);

I2CMasterInitExpClk(I2C2_BASE, SysCtlClockGet(), true);

I2CMasterIntClear(I2C2_BASE);

I2CMasterEnable(I2C2_BASE);

I2CMasterSlaveAddrSet(I2C2_BASE, AD5963R_addr, false);

I2CMasterDataPut(I2C2_BASE,0x30);

I2CMasterControl(I2C2_BASE, I2C_MASTER_CMD_BURST_SEND_START);

while(I2CMasterBusy(I2C2_BASE))

{

}

I2CMasterDataPut(I2C2_BASE,0xAA);

I2CMasterControl(I2C2_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);

while(I2CMasterBusy(I2C2_BASE))

{

}

I2CMasterDataPut(I2C2_BASE,0xAA);

I2CMasterControl(I2C2_BASE, I2C_MASTER_CMD_BURST_SEND_FINISH);

while(I2CMasterBusy(I2C2_BASE))

{

}

SysCtlDelay(10000);

}

thank you very much !