I have an application with 5 octal DACs p/n DAC7578 devices on a shared I2C bus operating at 400 kbps.
Each device has a unique address, obviously.
I tried writing 0x90 followed by a command/access byte of 0x00, then 2-bytes of left shifted 12- bit binary data.
Then I set the LDAC pin low for several microsections and then high. When I do that DAC 0 output doesn't update.
However, if I write 0x03 to the command/access byte it updates immediately without waiting for the LDAC strobe.
Why is that? I would think the hardware LDAC would be the default setting.
I would like all the DACs in separate devices to update at same time, therefore the LDAC signals are all tied together to a single GPIO on the microcontroller.
Do I need to send a software reset of 0x90 0x70 0x00 0x00? If I do that, does it reset all DACs on that device?
If so, I would have to repeat that for all 5 devices on the bus.
Alternately, do I need to send a 0x90 0x60 0x00 0x00? That should tell all DAC registers to update on LDAC, correct?
The datasheet states that the default state of each bit is zero and the external LDAC signal operates in normal mode.
However, that is not what I am observing.
Thanks in advance for your help.
David Kramer
DMK Engineering Inc.
310-544-1222 x101