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.

DAC8568: Issues with communication over SPI

Part Number: DAC8568

Running out of things to check with this problem I'm having.

I designed a board around the Teensy 3.6 microprocessor, and I wanted to connect a DAC8568 chip to it for some analog outputs. It works over SPI, and I have verified that it does "work".

HOWEVER it only works when I have an oscilloscope probe on the SCK line!

Schematic 1 Schematic 2

Here are two images to my schematic. I am using SPI1 interface, as SPI0 is being used for communication with a CANFD controller. I have verified that I get a clock output, I get a chip select, and data "flows".

Board Layout 1 Board Layout 2

Here is two pictures of my PCB layout. The second image shows the two lines. The top one being the SCK1 net, and the bottom being the MOSI1 net.

Like I said, the device seems to only work when I put an oscilloscope probe on SCK1 (on powerup), and if I take it off, it continues to work. The probe is 8pF, 10MOhm.

My code:   https://pastebin.com/mK4r0DfY

NOTES: 9.2.1 says MSB first 7.3 shows that I should be getting data on the falling clock edge. For this reason I chose SPI Mode 1 (CPOL 0, CPHA 1). Just for kicks I tried with all the other SPI modes (0, 2, 3) and none worked.

Any idea what might be causing this?? I will continue trying to debug, but I would appreciate any help possible!! Thanks :)

  • Hi Adam,

    What clock speed are you using for SCK?  How do the SPI lines look on the oscilloscope? Can you share them?

    Also, I see you have left CLR and LDAC floating.  CLR should be connected to supply and LDAC should be connected to ground if you are not using them.  Are you disabling these pins functionality in the register? If not, you could be having some issue with them.

    Thanks,

    Paul

  • Hi Adam,

    Any updates?

  • Hi, sorry for the late response.

    I have found the issue.  I was running the SPI bus as both 1MHz and 8MHz, had no luck.

    I did however make it work in the end.  What ended up being the issue was once I initialized my chip select pin as an output, I wasn't setting it HIGH.  Since it was either going low by default or floating too long, maybe the DAC was hitting an error state?

    Anyways, once I set it high right on initialize and then set low -> high when doing a SPI write, it worked fine.

    Thanks

    Adam