SPI Communication mode between Arduino Ethernet and EVAL-ADAU1701MINIZ

Thanks guys for the quick and informative reply. I hope we can continue discussing on this...

I'm not sure why the MOSI and CS resistor circuit. Normally those would be a direct connection.

The circuit was built so, since the Arduino operate at 5 Volts likewise its signal. Meanwhile the DSP board likewise the DSP processor chip operate at 3.3 Volts. If I am wrong with the circuit connection, kindly please do correct me.

If you are trying to communicate with the ADAU1701, why are you toggling the w5100 CS line? That is D10 (ETHCS). Which Arduino pin is the ADAU1701 CS line? Is that D9? If so, you should be using that instead of D10 (ETHCS).

It’s true that I am trying to make Arduino Ethernet (Master) to communicate with the ADAU1701 (slave). What I understood, I am not toggling the w5100 CS line, since Arduino Ethernet pin for ADAU1701 CS line is connect to ETHCS or D10 (pin 14 at ATMEGA328) . The connectivity of D10 (ETHCS of Arduino Ethernet board) and pin 14 (SS) of ATMEGA328 is verified by using multimeter. Meanwhile, D9 of Arduino Ethernet Board is for Led (tested and verified by blinking program). If somehow my explanation a bit confusing, please pardon me and kindly do correct me.

I agree with SurferTim that the SPI wiring seems a bit strange.

Answered I guess.

I don't have one of these chips but your program does not make sense to me. What is on pin 9?

It is for LED at Ethernet Arduino Board.

Your pulsing the SS pin low three time to change from I2C to SPI and then going on to write commands but do you maybe need to add another HIGH/LOW toggle to finish the SPI setup?

should I modified this way?

  //pull low clatch three times
  digitalWrite(ETHCS, LOW);
  digitalWrite(ETHCS, HIGH);
  digitalWrite(ETHCS, LOW);
  digitalWrite(ETHCS, HIGH);
  digitalWrite(ETHCS, LOW);
  digitalWrite(ETHCS, HIGH);
  //end pull low clatch three times

  digitalWrite(ETHCS, LOW);
  // write
  //read
  digitalWrite(ETHCS, HIGH);

You then going on to read address 0x081A (Data Capture 0) that is a 16 bit register but you look to be discarding the result with writing the next two bytes and then reading the next 3 bytes that are 'Data Capture 1' and half of 'DSP core control'.

The programming I am referring to were these two:
https://community.freescale.com/thread/314320

 //Init DSP in SPI mode by pulling CLATCH low three times.
CLATCH_LOW;
CLATCH_HIGH;
CLATCH_LOW;
CLATCH_HIGH;
CLATCH_LOW;
CLATCH_HIGH;
 
//read core-register
CLATCH_LOW;
rxdata[0] = SPI_TxRx(0x01);   //7bit chip address + read command
rxdata[1] = SPI_TxRx(0x08);  // 1st address byte
rxdata[2] = SPI_TxRx(0x1C);  // 2nd address byte
rxdata[3] = SPI_TxRx(0x00);  //Transmitting dummy bytes
rxdata[4] = SPI_TxRx(0x00);
rxdata[5] = SPI_TxRx(0x00);
CLATCH_HIGH;

and

  DSP_CS_LOW;
  spi_send_byte(0x01);     // we need this, right ?
  spi_send_byte(0x0B);     // parameter value high
  spi_send_byte(0x66);     // palameter value low
 
  /* read 3 bytes */
  read_buf[0] = spi_send_byte(0xFF);
  read_buf[1] = spi_send_byte(0xFF);
  read_buf[2] = spi_send_byte(0xFF);
  DSP_CS_HIGH;

A picture below was the register control of ADAU1701 screencaptured at sigmastudio software.

And I’ve read the CONTROL REGISTERS SETUP mentioned but still not understand it yet and dont know how to respond and take action.
Hence, could you guys please advise me on how do I proceed for the control register configuration in the Arduino script code or likewise to solve on other problems too? Thanks.