I have evaluation board with AD5757 for two days. I would like to check that communication is working properly, so I want to read data from register without success. The second option is to turn on alarm led on the board by watchdog because of no communication.
I have no clue why it does not answer me. I checked communication twice with logic analyzer and once with oscilloscope.
Eval board is connected to Raspberry pi. You can see script, which I use to test communication.
As a summary I can say that I use 0x9C, 0x2F, 0x00 to enable watchdog for 200ms and then wait 2 seconds without communication.
Then I send 0x98, 0x00, 0x00 to read status register and afterwards I send no operation 0x1C, 0xE0, 0x00.
Could someone confirm that this sequence is the correct one please?
I can provide dump from logic analyzer if required.
If more details is necessary feel free to ask.
import RPi.GPIO as GPIO
from time import sleep
spi0.mode = 1
print spi0.xfer2([0x9C, 0x2F, 0x00])
print spi0.xfer2([0x98, 0x00, 0x00])
print spi0.xfer2([0x1C, 0xE0, 0x00])
Let me clarify the issue. When you say that the part does no answer to you, do you mean that the part does not change output even if tell it to? When you use the SDP board together with the software program are you able to send command thoroughly? Have you followed the correct sequence for when programming as indicated in Figure 52 of the RevF data sheet?
Are you reading from the SDO pin or from the oscilloscope?
First of all I would like to check that SPI communication is working. I don't want to set up output yet.
I don't have SDP board. I use J11 and control SPI interface and required GPIOs (Reset, LDAC) from Raspberry PI.
So I would read back register with default value different from 0x00 or turn on alarm led to confirm that AD5757 execute SPI commands.
SDO from AD5757 (J11) is connected to MISO pin on master board.
Pleaes get an oscilloscope shot of the SDO signal that is being sent to the microcontroller.