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.

DAC80508: Cannot set DAC output

Part Number: DAC80508
Other Parts Discussed in Thread: DAC70508

Hello all!

I am having a little trouble setting the output of the DAC70508 DAC.

I think i have everything set up correctly as far as MSB, LSB etc... The CS line and SPI is looking good on the logic analyzer... but the output of the DAC is not changing.

I am using the standard settings for all config registers, i simply do not send any config commands to the DAC except for sending a test command to try to set the output of DAC1 to zero... but it just stays at the same value.

I am sending

0x09 0x00 0x00

Register address 0x09 is DAC1, then all zeros to set the output as zero... But it doesnt change ...

logic analyzer and schematic below.

Is it imperative to set the gain register before starting communication?

With default settings should the DAC update its output when CS goes back to HIGH?

What am i missing?

  • Hello Scott, 

    The communication seems to be set up correctly. What is the current DAC output when you power it on? Also, can you try different values to see if output changes? 

    Thank you,

    Illia Volkov 

  • Thanks illia

    I will test again tonight... I am getting confused with MSB first and LSB first, this DAC needs MSB first... is my message correct?

  • Hello Scott, 

    Another thing that my colleague suggested is make sure that you send data on falling edge of the clock rather than rising edge. Data is clocked in on falling edge into register. 

  • Hi Scott,

    Have you taken a look at the timing diagram in the datasheet? That might clear up your confusion. Bit 23 should be the first data bit sent after CS goes low (MSB first):

    And as Illia said, the DAC captures the data on the falling edge so make sure your controller is shifting out on the rising edge. You might need to change your SPI mode.

    You can try powering on/off the internal reference and measuring that pin. Once you confirm you can toggle that pin, then you can move on to correctly configuring the DAC registers for your application. 

    Best,

    Katlynne Jones 

  • Hi Katlynne

    thanks for the response...

    So to be absolutely clear Slight smile

    in my case where i want to write all zeros to the DAC1 0x09 register... Do i send the MSB of the 15 DATA bits first? or the MSB of the RESET and then MSB of REGISTER?

    I currently send  (in binary) (first bit sent on the left, last bit on the right)

    Write         REGISTER      DATA BITS
    0000         1001                1000000000000000

    The first bits i send is the reset bits (MSB first), then address bit (MSB first), then data bits, each having MSB first...

    Is this correct?

  • thank you i will check.

  • Hi all, is there any issue with what i am doing? As i still cannot get the output to update...

  • Hi Katlynne

    I think i may actually have the wrong SPI mode, I will look into it. As i have another SPI device which is working perfectly well on the same bus (different chip select pin) and this has the following requirement : 

    "The interface has three inputs, Clock (SCLK), Chip Select (CS), and Data In (DIN), and one output, Data Out (DOUT). CS must be low to clock data into or out of the device, and DIN must be stable when sampled on the rising edge of SCLK"

    I am using a Zynq7000 FPGA so need to look at the configuration options of the SOM. 

  • Illia will respond tomorrow after the US holiday.

  • Hello Scott, 

    Everything looks ok. Have you had success with trying a different device and SPI mode?