AD5696R LDAC Register control

I have the hardware LDAC pin tied to Vdd, I.e. high.  When I write data to a DAC input register, no output occurs (command 0001).  If I then update the DAC’s register (command 0010) the output for that channel occurs.  This is expected behaviour.  If I bring LDAC pin low, and try command 0001, output occurs immediately.  Again, expected behaviour.  Reading the datasheet, I can override this behaviour by setting an LDAC mask for a channel to 1 so even if LDAC pin is high, output will occur straightaway.  My understanding from the datasheet page 24 is that I send the following to allow channel A to ignore LDAC Pin state:

bits DB23 TO DB20, command: 0101

bits DB19 TO DB16, address: Don’t care, but 0000

bits DB15 TO DB8, data byte: Don’t care, but 00000000

bits DB7 TO DB4, data byte MSB: Don’t care, but 0000

bit DB3 to DB0, data byte LSB: LDAC mask for channels DCBA, so 0001 for channel A to ignore hardware LDAC.

If I do this, I still need to run commands 0001 and 0010 for channel A to get output but I was expecting to just run command 0001.  Have I misunderstood something?


thanks,

Andrew

  • Hmmm…perhaps I have it.  The LDAC mask is used by a channel to ignore LDAC transitions so I HAVE to follow command 0001 by command 0010.  With the mask bit set to 1 sending command 0001 to channel A does not update the Output when LDAC transitions low whereas with the mask bit set to 0, the output is updated when LDAC transitions.

    I think the truth table 12 for bit 1 isn’t very clear as it states that the DAC channels update and override the LDAC pin.  I understood this to mean that LDAC state is ignored and the channels update immediately.  What does it actually mean?

  • Hi Andrew,

    Sorry for the late response. 

    Your observations are correct. Setting the LDAC Mask bit to "1" for a channel means that the channel ignores the state/transitions on the LDAC pin. Table 12 might be a bit confusing, but on the last part, it says "DAC Channels see /LDAC as 1" which just means that it won't be triggered to update the output regardless of the LDAC state.

    Best regards,

    Ian