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 !