Post Go back to editing

EVAL-AD5676RARDZ Arduino interface using SPI P_MOD pins

Product Number: EVAL-AD5676RARDZ

Hey everyone,

I am new to Analog Eval boards and bought the EVAL-AD5676RARDZ to control 8 channels from the DAC. 

Since it has an Arduino Interface, can I just use it as a shield and attached it on top of a regular arduino? Or is it not compatible and Need the SDP-K1 board?

 

If not, I did solder some leads to the SPI_PMOD  and wired up the Arduino. 

I have pin PMOD_V connected to 3.3V

GND to arduino GND

SCLK to CLK of Arduino pin

SDIN to MOSI line of Arduino pin

and SYNCb to cs from arduino Pin 

I am having trouble sending out the 24 bits of data to the Chip.  I tried following the guide from https://wiki.analog.com/resources/eval/user-guides/dac/eval-ad5676r-ardz

and of course reading the datasheet. 

I Left all the jumper cables as default.

I am powering the P8 pins using the Arduino 5V. 

I am doing a simple command to the eval board.

 

My SPI settings are default. So I just used SPI.begin();

digitalwrite(slaveSelectPin,LOW);

spi.transfer(0x30); //this selects command 0011, and channel VOUT0

Spi.transfer(0xAA); //this is the first 8 bit of the 16 bit value

SPI.transfer(0xAA);  //second set of 8 bits of 16 value

digitalwrite(slaveSelectPin,High);

I chose 0xAAAA as the 16 bit value to easily read from Logic software

I am using the LOGIC Logic analyzer and my timing diagram is way off. 

Any help would be appreciated it. 

Top Replies

    •  Analog Employees 
    •  Super User 
    +1 verified

    Hi  

    We've designed the evalboard to be compatible with most if not all Arduino host boards. Do check the schematic if your host board pinout matches before mounting it as a shield. 

    The hex code…

Parents
  • Hi  

    We've designed the evalboard to be compatible with most if not all Arduino host boards. Do check the schematic if your host board pinout matches before mounting it as a shield. 

    The hex code 0x30AAAA is correct. Might be your SPI settings, SPI mode. the AD5676R is sampling data at the falling edge of the clock so either SPI mode 1 (CPOL 0 CPHA 1) or SPI mode 2 (CPOL 1 CPHA 0) should work. If this doesn't fix the problem, then try and capture cs, clk and mosi pins on your logic analyzer and we'll have a look. 

    One more debug tip is to check if VREF voltage is available at TP2. SHould be 2.5V

    Best regards,

    Ian

Reply
  • Hi  

    We've designed the evalboard to be compatible with most if not all Arduino host boards. Do check the schematic if your host board pinout matches before mounting it as a shield. 

    The hex code 0x30AAAA is correct. Might be your SPI settings, SPI mode. the AD5676R is sampling data at the falling edge of the clock so either SPI mode 1 (CPOL 0 CPHA 1) or SPI mode 2 (CPOL 1 CPHA 0) should work. If this doesn't fix the problem, then try and capture cs, clk and mosi pins on your logic analyzer and we'll have a look. 

    One more debug tip is to check if VREF voltage is available at TP2. SHould be 2.5V

    Best regards,

    Ian

Children