AnsweredAssumed Answered

AD5790 initialization using SPI commands

Question asked by swh7 on Sep 22, 2017
Latest reply on May 2, 2018 by rrosario


  I am trying to control the output voltage of an AD5790 using SPI commands which I am sending with a Raspberry Pi.  I am able to read and write registers on the DAC, but have been unable to get the DAC output to match the contents of the DAC register (which I've confirmed I can write to and read back successfully).  I'm interfacing with the AD5790 through an EVAL-AD5760_80_90SDZ board.  I've listed most of the hardware configuration at the end.

  When I first power on the eval board, I see


control register = 0x20 0x00 0x06 (0010 0000 0000 0000 0000 0110)

DAC register = 0x18 0x00 0x00 (0001 1000 0000 0000 0000 0000)


to initialize, I'm setting the control register to 0x20 0x00 0x02 (0010 0000 0000 0000 0000 0010) to remove the DAC output clamp to ground.  As soon as I do this, the output (VOUT_BUF) changes to VREFN (-10V).  However, because I have LDAC shorted via LK7, I was expecting VOUT_BUFF to take the value in the DAC register which is 0V.  In this state I can change the value of the DAC register, but don't see any change when I do in the value of VOUT_BUFF being output by the DAC.  Is there an additional configuration step or setting for the DAC that I'm overlooking?  Thanks for your help,



—— Hardware configuration ——
CLR=HIGH (+3.3V)


LK1=hardwired such that RPi is supplying 3.3V as the source of the digital power supply
LK2=B (10V on-board Vref)
LK3=A (selects unity gain)
LK4=open (selects unity gain)
LK5=open (RESET is logic high)
LK6=open (CLR is logic high)
LK7=jumpered (LDAC is logic low)
LK8=C (-10V on-board Vref)
LK9=jumpered (connects voltage reference U5 to reference scaling circuitry)
LK11=jumpered (enables VOUT_BUF)