Hi,
I previously asked a question about communicating over SPI with the DAC8741, which resulted in getting the expected communication. However, revisiting my PCB and code snippet, I am getting completely different results. I send [82,00,00] to read the Control register - the first time I run the code snippet, I get back all 0s, the second time I get a series of random numbers that is different every time I reboot. It seems as though the device is responding, but not on the correct clock cycle (the times I get back all 0s, I can see comms on the SDO line, but they are within the 3 bytes of the send message, the times I get back random numbers, they seem to be not synced properly). Additionally, sometimes it seems that the SDO/MISO line is getting stuck high, or remaining high throughout the message. I have tried multiple different messages, both read and write, to different registers. I have also attempted sending [07,00,01] to Reset all registers, with the same result. I'm still using a Raspberry Pi 4, my PCB is still the same as the previously attached schematic, and I'm still using writebytes and readbytes from the spidev library. I have tried with two different PCBs to verify that the DAC8741 itself is not the issue. I've attached my scope photos below, and would appreciate any debugging suggestions ASAP. Also would be glad to jump on a call with an apps engineer.
Note in the images, yellow is CS, green is SDO/MISO, pink is SDI/MOSI, blue is SCLK.
Thanks!
Libby
H2Ok Innovations