EVAL-AD5370 Setup and Getting Started

Hello ADI Community,


I am brand new to AD, and AD DAC's I came here to use 5370 to create 40 analog out device to control 40 channels of different 1000Hz signals. I bought the EVAL board in order to avoid working on the chip and use the pinouts to my advantage.


EVAL-AD5370 | Rev A

What I have tried

  1. Windows Machine (Desktop)
    Software: Used the software (AD536x_7x) provided by analog devices to control the pins
    Jumpers: All jumpers are in place LK3, LK8 and LK1, and LK4 is set to 3V (optionA)
    Probes: V0 and AGND (T12) 
    Result: DMM showed zero volts, Oscciloscope could not pick up anything other than stray noise, Note that the the software on "Output Voltages" tab showed Vout0 = -3.0001V
  2. Ubuntu Machine - 1  (Desktop)
    Software: Ubuntu 19.04 / Loaded AD5360 driver using modprobe ad5360 (enabled IIO via kernel)
    Jumpers: All jumpers are in place LK3, LK8 and LK1, and LK4 is set to 3V (optionA)
    Probes: V0 and AGND (T12) 
    Result: Cannot find IIO device, in /sys/bus/iio/devices/
  3. Ubuntu Machine - 2  (Desktop)
    Software: Ubuntu 19.04 / Loaded AD5360 driver using modprobe ad5360 (enabled IIO via kernel) / also setup libiio
    Jumpers: All jumpers are in place LK3, LK8 and LK1, and LK4 is set to 3V (optionA)
    Probes: V0 and AGND (T12) 
    Result: Cannot find IIO device via lsiio or even iio_info
  4. Rasbian - Raspberry Pi 3
    Jumpers: All jumpers are in removed LK3, LK8 and LK1, except LK4 is set to 3V (optionA)
    Software: Used AD5370_rpi_control.py from https://github.com/filiplindau/AD5370 , enabled SPI communcation on RPi, installed python2 spidev and rpigpio support
    Power: Since the jumpers are out, i reasoned USB can be used to just power the device and not control it.
    Probe: V0 and AGND (T12) 
    Cables: (as described by the code in python) 
    1. LDAC_pin = 17
      BUSY_pin = 22
      CLR_pin = 27
      RESET_pin = 4
    Result: Code does not give any error, ive been "successfully" able to run write_value_volt() without any error and pulse ldac, 
                No significant output is observable by DMM or oscilloscope. 

I have additionally tried to probe a wide variety set of pins and i still get no significant result. Another observation that I have is that pressing the reset button does nothing to the power LED, my usual expectation is that at least the power LED flashes. Hopefully there is nothing fundamentally flawed in my approach. or i hope the dac is not DOA for me.

Any help and guidance would be deeply appreciated. 

Parents Reply
  •  Thankyou Ivan for your help. So I developed an entire application library to talk to EVAL board using C++ and windows. It works. But I am very concerned about the performance. I used ADI_CYUSB_PDA_x64.inf driver (as provided by the link), along with the HEX file also provided in the link with the specific DLL ADI_CYUSB_USB4.dll, with almost zero overhead.  https://github.com/sandeepzgk/EVAL-AD5370 

    I tried to evaluate the performance of AD5370 using this driver provided by AD. I could not send SPI commands any faster than 1130 microseconds (on average for 1000 calls). I tried a different library/driver(libusb-win32) which helped me go a bit faster to 950 microseconds (on average for 1000 calls)

    I am nowhere near the nanosecond scales promised in the datasheet of 600 ns for a single-channel update time. Although the register update time per the documentation states that two stages take 600 ns, the third stage takes 300 ns per one channel update, i.e. 900 ns or 0.9 microseconds. Adding say 200% overhead, it should take about 2.7 microseconds, per update. 

    Is the evaluation board broken? From my understanding, as per the documentation it is supposed to be Full-Featured Evaluation Board for the AD5370/AD5372/AD5373 ?

    ** Did I misunderstand of how fast AD5370 can update? 
    ** How can I get the board to work as fast as possible (i.e EVAL-AD5370)?
    ** Is there a newer driver that can work faster (the driver from that link is pretty old, i.e 2012)?
    ** Is there another board similar to this which can do faster updates, i.e. ~100 microseconds / 10 kHz?

No Data