Hi there, I installed 4 AD5383 chips on the circuit board, and tested the 4 chips with two SPIs of Raspberry Pi, but all of chips didn't work. I set the internal 2.5V reference voltage, and after running the code attached, I found that the REFOUT/REFIN pin of the chip did not have a reference voltage output, and it felt like the chip did not respond to the input command. I tested SYNC, DIN and SCLK of the chip with an oscilloscope, they were all fine. I tested it with an EVAL-AD5380SDZ board, powered by the same power supply, plugged in the same SPI signal, and used the same code, the evaluation board worked fine. Could you lease help to find out what's the possible issue?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import spidev
import time
class AD5380_Controller:
def __init__(self):
self.spi = spidev.SpiDev()
self.spi.open(0, 0) # Use SPI0, CE0
self.spi.max_speed_hz = 100000
def set_internal_reference(self):
print('Setting internal reference to 2.5V')
self.spi.xfer2([0b00001100, 0b00011101, 0x00])
time.sleep(1)
def main(self):
self.set_internal_reference()
self.spi.xfer2([0x00,0xff,0xff]) #port 0 high
time.sleep(0.01)
self.spi.xfer2([0x00,0b11000000,0x00]) #port 0 low
time.sleep(0.01)
self.spi.xfer2([0x00,0xff,0xff]) #port 0 high
if __name__ == '__main__':
controller = AD5380_Controller()
controller.main()